Any developer that has ever had to update dependencies while doing maintenance on an 18 month old project knows the struggle. It’s important to keep learning even though the rate of change is faster than any human can be reasonably expected to keep up with. Remember why you got into this software thing in the first place? The thrill of learning, unpacking, understanding and applying. This short study guide will provide you with some tools to create some stability.
1. You don’t have to know everything
Perhaps it’s an age thing but when starting out I felt the need to know EVERYTHING and always use the latest/coolest/flashiest. This youthful bravado made me switch frameworks mid development because a new version was released. These kind of antics are a recipe for disaster and you’ll learn to keep these urges in check as you gain more experience. The same principe goes for keeping your knowledge up to date. The first thing you need to do is allow yourself to not know everything and not want to be on the bleeding edge 100% of the time. This makes the entire process much more relaxed and enjoyable. It’s ok.
2. Narrow it down
With the high paced speed of development it’s important to determine for yourself whats signal and whats noise. To determine your signal ask yourself what’s important to you at this moment. Do you want to gain a deeper understanding of stuff you already know? Like getting to the bottom of generics or doubling down on your Entity Framework skills. Or do you want to learn something completely new like a new framework or programming language? If you want you could also differentiate between stuff you want to learn because you can apply this at your job or any other professional setting, and stuff you want to learn just because you it’s peaks your interest. Cut this down until you have a small number of topics that you want to get into. Let’s say 4 topics is a reasonable number. Narrowing it down like this will also help you stay focussed and not get side-tracked to often by something new and shiny (“A static site generator using Vue AND React?! I NEED to get into this!”)
3. Determine your medium
Although reading blogs and books is an obvious way of learning new things, there a few other ways to pick up new knowledge and skills. I personally think screencasts and other video’s work really well. Actually seeing someone setup a project and work out a solution somehow “clicks” more easily with my brain as I recognise the tools, the look and feel of the screen, the narration explaining the developer’s thinking and decisions, etc. All this reduces the brainwork I have to do to bridge new concepts with my current understanding. Another way could be an online course for example. A combination of video’s, blogs and the occasional course and book (in that order) works best for me. If you don’t know what works best for you yet just start with these three and experiment with different types as you move along.
4. Build your own curriculum
This should not be a big problem. Armed with your topics and preferred media go and scour the internet for people you think know that they are talking about. Listing them here would be useless as there are just too many people and places to mention. When you find a good source (a youtube channel, blog, book, course, etc) save it’s url somewhere. Don’t immediately binge everything you come across. Schedule and make sure you make your time count. More on that in the next step.
This is the important part. “Just schedule it”. It sounds so easy. Almost like a no-brainer but this is where progress is made: structured, recurring, intentional (and unsexy) action. For me scheduling consists of two parts. The first is the actual scheduling in your calendar. Every Sunday evening as I plan my weeks activities I make sure to also schedule time to work through a bit of my personal curriculum. It doesn’t always have to be the same day and time (unless you prefer that), just make sure that come Monday morning you know when you are going to get some learning done that week.
The second part is finding out for yourself at what time of the day you can integrate learning new things that make sense for you. For example, I have a list of youtube video’s based on my topics. It turns out that these video’s generally pair well with breakfast! So I always watch a couple of these in the morning before work. I encourage you to find these slots for yourself as well and try to make this a routine. The better it fits with your natural way of going about, the easier it will be to create a study routine.
Whenever you feel you had enough of a certain topic just swap it for a new one, using steps 2-5. The important thing is not to get burned out on any single topic causing you to stop learning all together. Swap topics whenever you feel the need because it’s more important to not stop the act of learning than to learn anything specific.
Here you have a basic study framework you can start applying today. It’s doesn’t have to get more complicated than this. If you have any other tips or want to share your own study routines, let me know in the comments.