Being able to learn things quickly is an amazing skill to have—even more so for developers because of speed of technology.

Most people change careers 15 times throughout their life. Not jobs, careers! So it’s safe to assume that the average developer will have multiple jobs throughout their career. Each job change has the potential to require different skills.

The things that were commonplace even 15 years ago for developers are now obsolete. So, yes, it’s important for developers to be able to learn while on the job. I would argue, however, that a more important skill is being able to choose what to learn next.

Why You Should Always Be Learning

Think of the changing developer landscape as a river. We’re swimming along throughout our careers. Just like any other river, it’s better to swim with the current than risk getting pulled under.

Yes, you can survive for a bit by hanging onto something for dear life or by fighting the current. But those aren’t practical long-term strategies. The best way to stay afloat for the long haul is to be adaptive.

What you learn ultimately depend on your goals. Both in your career and personal life.

The Problem Of Choice

The problem is that picking something to learn can be very difficult. I find myself struggling to make a decision sometimes.

The main fear is that I’ll choose incorrectly and waste a bunch of time, or I’ll learn a skill that will become useless shortly after I get the hang of it. Here are a few things that have helped me decide what to learn next.

Don’t Be Paralyzed By This Decision

Choosing what to learn next can be an overwhelming decision, but it shouldn’t be a paralyzing one.Old Chess Pieces

There is no one answer when it comes to this. In fact, there is no wrong answer. Everything you learn is an experience; it’s an opportunity to improve. There is no good or bad, there is only progress.

If you want something more actionable, try this…

Whenever you’re trying to determine what to learn next, ask yourself these two questions:

  1. If I pick the wrong thing, will learning this still benefit me in some way?
  2. Could learning this move me closer to knowing what to learn next?

The good thing about programming skills is that the consequences are never severe.

Even if you end up not putting the skills you learn into daily practice, learning them is still beneficial. Going through the process of learning itself can be very rewarding. It’s all about the journey.

The Two Paths You Can Take To Learn

When it comes to software development, there are so many ways you could go. Choosing what to learn next is the starting point. What you learn might help you further improve your specialization or broaden your skill set.

“We can become so paranoid of going the wrong direction, that we don’t go any direction at all.” – John Sonmez

Fork In The RoadYou have Application Development, Mobile Development, Web Development, Embedded Systems Development, Test Automation, Front-End, Back-End, and Full Stack. Just to name a few! Each of these can be broken down even further.

The path that you take to learning can be placed into two different tracks. The structured path or intuitive path.

Structured Path

The structured path is when you know the main goal that you’re trying to achieve, say getting a job as a mobile developer, then work backwards from there to figure out the skills you’ll need to learn.

Intuitive Path

The intuitive path is when you choose to learn whatever grabs your interest at the given time. For example, you’ve just bought a new phone and are interested in learning how to run an application you’ve built on it. So you starting learning the process.

You can choose one learning path exclusively, or use both at the same time. Either way, remember: learning the new skill is the destination and you should be flexible about how you get there.

Choosing What To Learn By Spotting Trends

How do some developers seem to know about the next big thing way ahead of everyone else? Because they know how to recognize early signs of change.

This allows them to ride the wave of an incoming trend, which can boost their career or business.

Spotting trends can be difficult to do, but here are a few things that can help you do just that.

Talk to a Beginner

Find a recent graduate or a software developer who is just starting out and ask them, “What technologies are you most excited about?” This might be something to look into yourself.

Find the Truth

Zero to One by Blake Masters and Peter Thiel has a great question you can ask yourself to help find trends. The question is, “What does everyone believe to be true that isn’t true?”

Look Beyond Your Current Job Title or Skill Set.

You have to look around and ask: “What general trends are going on, even though they haven’t affected my career yet?”

Keep an Ear to the Ground

Today everyone and their mom has a voice online. By turning off your own broadcasting signal for a bit and hearing others out, you can learn a lot. Ask, “What topics have other developers been raving about recently?”

Fire Yourself Before Anyone Else Does

This might sound counterintuitive, but by learning what you want you can end your current career before someone else does it for you. That way, you have more options and aren’t left in the dust.

Ask yourself, “If I were starting my career today, what would I learn to put someone in my current position of this job?”

If You Still Have No Idea Where to Start, Here Are 15 Ideas on What to Learn Next

  1.  Learn a Synergistic Skill – Something related to what you know now.Hanging Light
  2. Outside the Box – Something totally unrelated to what you know now.
  3. Ride the Hype Train – What are all your developer friends talking about right now?
  4. Improve a Strength – Good at something already? Maybe you could be even better.
  5. Improve a Weakness – Try patching up a hole in your game.
  6. Relearn a Skill You Think You Know – There is nothing wrong with going over the basics.
  7. Find an Archimedes’ Lever – Is there one skill you could learn that would make all the other skills you want to learn even easier?
  8. What Did You Want to Do When You Were 10 Years Old? – Normally this can help you find something that you’re really passionate about.
  9. Move With the Current – What’s changed in the industry since you’ve entered?
  10. Climbing the Ladder – Learn something that can advance your career or take your job/company to the next level.
  11. The Idea Machine – Write down the first 10 things that come to mind. Can’t think of 10… write down 20. Give yourself permission to come up with bad ideas and just pick one.
  12. Just-in-Time Knowledge – What do you need to know right now?
  13. Become Unstumpable – What was something someone asked you about recently that you didn’t know the answer to?
  14. Learn a Soft Skill – Yes developers need soft skills too, and here’s the book to help.
  15. Round Two – Try to learn something that you’ve failed to learn in the past.

There’s Always Something To Learn

Hopefully one of these heuristics will help you get the ball rolling.

The choice you make is ultimately up to you. It all depends on your goals, and there is almost no wrong answer to this question. Choose something and stick with it.

How have you decided what to learn next? Leave a comment below and tell me about it.