Learning: FOMO, need to relevant or drive to grow?

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

The fear of missing out, FOMO, is the force pushing you to learn all the new JavaScript hotness that the cool kids are using. The new frameworks are coming in at a furious pace if you browse Hacker News or Reddit regularly, making you feel like you’re not “it” if you don’t master them. It’s a force that’s sensitive to the latest fads in the software world.

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.

What’s next

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.

Review : 10 Steps to Learn Anything Quickly course

10steps-3d-smI picked up the new 10 Steps to Learn Anything Quickly course that was just launched by John Sonmez. John writes great material on his blog about how to improve your career as a software developer. I care a lot about learning how to learn better, so when I saw he released a new product I had to see what I could learn from it. There are so many things to learn as a software developer to stay up to date, so if this can help me being faster it’s sure to be worth it.

The product is a series of videos with a workbook and transcripts, so I was able to go through it in a few nights in my spare time. It does exactly what it says in the title: it’s a process to pick up any new skill you wish to learn quickly. First, he teaches you how to plan out your learning, and then follows with techniques explaining how to execute this plan. Most of us already do some of those things, but the process is rarely as structured as the one described in the course. It’s a nice and clean process for someone looking for more productivity in their learning.

Don’t expect materials on choosing what to learn or on how to use those new skills in your career: the process is focused on getting better at a skill you already wish to learn, which could be a new programming language or a skill like pixel art as shown in the course. Rather, it will help you see what are the steps you have to go through to get better at your chosen skill.

If you’re more interested in career advice, this is not really the course for you. I’ve reviewed another of John’s product, Soft Skills, which is more about the big picture and how all the parts of a developer’s life fit together.

I believe the course is valuable for someone who has to pick up new skills frequently, which is the case for most software developers. I’ll be using it next time I need to jump into something new to remind myself of the proper steps to stay efficient and avoid wasting time.

You don’t suck at learning

FingerweavingStashsI suck at learning, I won’t be able to do this. I heard this as people were filling in for a introduction to fingerweaving class I was teaching last weekend. The students had varying levels of crafting skills, but all of them were total beginners as far as fingerweaving was concerned. Even then, everybody learned the basic pattern I was teaching during the first hour and could work by themselves by the time the class was over. A few people needed more help to get started, but they managed just fine and will be able to practice at home.

That first sentence sounds familiar? You may be trying to learn new programming languages and not weaving, but the fear you feel and the process you go through is the same one. Not everybody says it out loud, but this fear is always in the back of your head when you’re trying to learn something new. This feeling will never go away completely, but you can learn to manage it and understand the process so you get over it faster.

I coach people often at work, and even there I’ve never meet people that were totally unable to learn new concepts, be in coding skills or problem domain knowledge. People learn in different ways, but everybody gets there in the end and nobody just sucks at learn. If you got this far in your career and your life, you can learn decently that’s for sure. You didn’t lose your learning ability magically during the night at some point. You just need to be aware that you’ll be going through this process and learn how to learn better.

Here is how it usually goes: at first, everything is new and makes you feel dumb. But as you get more familiar with the basic knowledge and skills involved, you’re able to make links between those concepts and your existing knowledge. You feel more confident and in control. Once you’re past this point, you only need more practice to build on the base you already have. Your new skill grows faster since you have better understanding of what’s going on.

But when there is no teacher with you, you need to be mindful and understand how you learn. You can then use this to go over the fear faster and build confidence instead of just giving up. Here are a few questions you should ask yourself the next time you’re learning something new :

  • Do you learn faster with videos? Or you favor books and articles?
  • Do you need to know all the theory? Or do you learn better with only examples?
  • Should you learn just the minimum and experiment on your own at first? Or do you need a strong foundation to feel confident enough to experiment?

If you’re in touch with your own learning style, you can choose the best mix of resources to help you learn faster. You don’t want to stay stuck too long and kill your momentum: try and look at another resource if it doesn’t stick with the first explanation. And if all else fails, give yourself space by taking a walk or sleeping on it. You can look at the problem with fresh eyes during your next learning session. You don’t suck, you’re just new at it.