Managing what you should learn next as a software developer is a constant struggle. You feel like you suck at knowing what to learn next with all the new technologies and skills you could potentially work on. In fact, with each new skill you’re gambling with your time. What you’re learning can easily end up being a considerable waste of time if that technology drops out of favor.
How do you cut through the noise and learn skills that are truly valuable?
First, you must understand the three forces pushing you to learn. They are the ones giving you the urge to learn something new, but they may not be acting in your best interest.
Fear of Missing Out
Depending on the kind of business you’re working at, this may be justified: if you’re working at startups, knowing what’s coming up is valuable. But if you’re working in a corporate environment, it’s not that useful because they favor stable and safe over the bleeding edge.
If you aim to be an expert in a up and coming technology and want to get ahead of the curve, you may strike it rich by following the FOMO, but it is the riskiest gamble and can easily end up being a waste of your time. Many promising technologies end up dying off, so if you would rather play it safe you can pick up what survived later in the curve when it’s more stable.
Need to Stay Relevant
The need to stay relevant as a software developer is the force pushing you to update your skills because your current stack is getting long in the tooth. If you’re still working everyday on a stack that’s being phased out like ASP.NET WebForms, it’s a legitimate fear.
In that case, you’ll want to stay with the herd and learn the most common tools and technologies used in your industry to avoid falling behind. Even if you don’t currently get the chance to use it everyday, having a good handle on what’s current will help you understand what’s going in the market and help you make better choices when the time comes to work on newer things.
If you wish to be able to work at various kinds of businesses, it’s a safe bet to learn a technology that’s already widely used if your skills are showing their age. Mastering a language like C#, C++ or Java may not be as exciting as working on an upcoming language like Rust, but those will still be widely used for years to come.
Drive to Grow
The drive to grow and improve is the force pushing you to become a better developer and person. When you have that drive, you’re learning because you’re curious about something and love to learn.
Learning a new skill, even if it’s not directly related to coding, will make you a better developer in the long run. The same goes if you learn more about computer science or get a deeper understanding of your stack of choice: this may not lead to instant results, but will help you gain a new perspective and help you grow.
If want to learn for the sake of growth and self-improvement, you’re on the path to mastery as a software developer. Allowing time to learn skills purely because they interest you will help you enjoy the learning process more and make you a well-rounded developer. You just have to make sure that you’re also taking care of the skills you need in the present.
The next time you get the urge to learn a new skill, ask yourself what pushes you to learn it. It is only because you think you’re falling behind, or do you really need to update your skills? Are you doing it to improve as a software developer? When you start asking yourself this kind of questions, maybe you’ll find out that learning another skill would be more valuable and more aligned with your goals.
If you can’t answer this because you’re not clear on where you are currently and what are your goals, the next article will help you figure it out.