The Advanced Beginner
Learning to Learn Again
Good developers must constantly be learning. At some point, the Modern Developer will find themselves in a position where what one knows is no longer enough, and expansion into what is not known is needed. Some people are natural learners of course, and as long as they have time they will be able to apply what they have learned about themselves over their lifetime. Others are not as lucky: they will need to develop an autodidactic structure. This will be different for everyone, of course. Visual learners will have different and non-compatible structures to readers, and so on.
Time
The first step is carving out time. This is usually seen as the biggest barrier: There is a perception that no one wants you to set aside time. I have seen this in companies that have strict education budgets: the employee feels that they cannot get time even if the manager is encouraging or, in one case, prescribing education time! But let’s assume the reader doesn’t have a sanctioned budget, and wants to become a more learned developer.
I recommend 20 minutes every week-day, at a time where your brain is at peak.
20 minutes is controversial: some will point out it’s barely time to setup a new environment, or read a single page. This is true: The art is in stacking these daily so that it might take 19 minutes to get started the first day, and then 1 minute to pick up the second day.
20 minutes is often such a small slice of time, most managers will not oppose it. If one is in a meeting-heavy environment, it may be more noticeable: fixing the meetings is probably more important.
You may be able to go more or less, and the length that you start with may not be what you end up with: you can fiddle with the duration, days, and start time.
5 minutes is probably not enough and 60 minutes may be too much.
Plan
Once you have agreed with yourself on timing, the next step is to plan what to do in that time. This will depend on who you are of course. The routine is something like:
- Find a topic (or list of topics). These can be nebulous (“Learn AI”) or specific (“Study SSR Hydration Errors in Next.js”)
- Make a plan of where you are and how to get to where you want to be (“Gap Analysis”). The result should be a list1.
- Don’t worry about how long it takes to go through the plan.
- Find the next item to study
- Study it in your way until the timer goes off. Leave yourself a note on what you learned.
Some will look at that and think “rubbish!” The point of course is that only you know you.
Finally …
There are a few important things to conclude with:
-
Doing is important: reading a book on rust will not teach you rust, but executing the examples will.
-
Regularity is important.
Footnotes
-
Consider the following prompt: I am currently an intermediate Next.JS developer, and I would like to study how to fix and prevent SSR Hydration errors. Can you give me a list of topics where I can experiment and study different aspects to become an expert? ↩