Developers feel a constant pressure to learn the next big library, the next big framework, the next big programming language. But no one likes feeling pushed to learn something new, always fearful that their skills will grow irrelevant in the near future. It creates a perverse incentive mechanism where you feel you need to learn something new instead of mastering what you already know.
Thankfully, for once, reality is more forgiving. Your skills won't become irrelevant any time soon and, even if they do, you're quite likely to be able to switch skills without too many problems. There's no need to stress over what you need to learn next. Here's why.
Consider this Quora post: Why is PHP still alive? The question was asked in 2014, but might as well have been asked today. Developers don't like PHP and there are many other programming languages much better than PHP, but that doesn't mean PHP has become irrelevant.
There's still a need for PHP developers, just like there's still a need for Java, C, and DB2 developers. Some companies are even moving their COBOL apps to the cloud, and they need developers for that, too.
The point is that skills age slower than you think. Demand for particular programming languages will always flux and flow, but most programming languages die a very slow death. Whatever programming language you know, it's unlikely you'll ever need to learn something new right this very minute. You'll always have plenty of time.
The hardest programming language to learn is often the first one. When learning your first language, you'll inevitably pick up fundamental programming concepts that will make learning your second, third, fourth language much easier.
It's a mindset shift. If you decide that you're capable enough to quickly pick up any new technology if so required then much of the pressure to always learn the next thing will fall off your shoulders.
While it's still good to investigate new technologies, it's equally good to simply say you'll pass on this one without feeling guilty about it. If you instead focus on what moves your work forward, you'll be a more valuable developer than the one who spends too much time on all the latest technologies.
None of the above means that you shouldn't ever learn. But your desire to learn should spring from curiosity and excitement. It shouldn't come from a place of fear or anxiety.
But, once you have a stable job or a good career, learn whatever excites you. Find what brings you joy and play around with it. Don't feel the need to instantly make money from it or use it in a professional capacity.
This also doesn't mean that you need to learn a new technology per se. Often, it's better to improve your meta-skills. That's why a book like The Pragmatic Programmer is such a good read. It focuses on the other skills that will greatly accelerate your career. A few examples are:
- Think of English as another programming language. Write documents as you would write code, following clean code principles.
- Focus on fundamentals, not fashion. What shines today might be mud tomorrow.
- Learn your editor. It's one of your most important tools. Understanding it deeply will only ever benefit you.
- Take small steps. Don't write hundreds of lines of code before testing. Check for feedback often and adjust before proceeding.
Take some of that pressure off your shoulders. The urgency with which developers sometimes talk about the next big thing is often exaggerated. Remember this:
- Your skills age slower than you think.
- Trust that you can quickly pick up new skills.
- Learn from a place of curiosity and excitement, not anxiety.