Many software developers have a love/hate relationship with the amount of ongoing learning the profession requires. It can be really enjoyable to learn new things, especially languages and frameworks that are powerful and fun to use. That moment when a big idea crystalizes in the mind is priceless. At the same time it can be fatiguing to watch technologies change, especially the ones you’ve invested so much into.
Given the need to keep up, one thing I’ve concluded is, it is ultimately up to the individual.
Employers might pay for training. New projects may offer learning opportunities. Take advantage of those opportunities if you have them, but make sure to steer your own course. Be very aware if your job locks you into a legacy stack or you have settled into a coding rut. That leads to rusty skills and puts you at risk in the job market.
How I keep up in the software field:
1) Set broad goals that balance new interests, wild tangents, and core learning. For example:
A. This year dive into framework/language X. For me a few years ago that was getting back into Python and Django. Really enjoying it. Next on my list is TypeScript.
B. Try out technology Y in the next few months. In 2014 for me that was buying an Oculus Rift DK2. The goal was to build a virtual reality database explorer. It was a bust. Turns out VR technology makes me seasick. Hey, I just can’t code while nauseated! Recently my ‘new toy’ has been Angular 2, which seems pretty well designed and doesn’t make me gag.
C. Take a deeper dive into technologies you feel proficient in. Currently working my way through Fluent Python, which goes into the more obscure parts of the language, but has lots of great gems.
2) Whenever I encounter a syntax, acronym, or technology that I’m not familiar with, I look it up.
Earlier in my career I was having to look up things all the time! Today it is less frequent, but still common. This tactic has served me well.
3) Keep a journal of my learning and make it a habit.
Watching screen casts and talks from conferences during lunch is a good habit. Starting a book club at work is another great way to keep the learning going.
4) Apply the knowledge some way – at work, in my blog, on twitter, etc.
The first three are the ‘input’ side of learning. Point #4 is the ‘output’ side, how you apply and make use of what you are doing, which gives you all important experience.