How to Choose a Developer Path in 3 Minutes

How to Choose a Developer Path in 3 Minutes

There are multiple aspects to consider when starting off as a new developer. The question we will tangle this time is, should you go wide or should you go deep?

To further explain, should you learn multiple programming languages on a surface level or should you dive really deep into one language and master it?

Talking about the advantages versus disadvantages is a good place to start.

Let's talk about the wide approach first. If you want to go wide you will be learning a lot of different programming languages. You wouldn't be learning everything about them, only enough to make a project or two. Building projects will give you lots of experience and valuable lessons. But these lessons may not translate well between different languages.

But you would most likely be learning how different technologies interact with each other. How does a web page talk with the server? How can desktop apps use multi-threading? How do different projects organize their folders and files?

You will have a good overview of what every programming language has to offer. And the better part of the industry is using the right tools(in this case programming languages) in the right place. You will have good background to dive into any language you want, whenever you want. This diversity can open up the gates for a multitude of work opportunities.

But with diversity comes the impostor syndrome. Junior or senior every developer has it, but it especially takes a toll on juniors. When you are new and have been going wide it becomes really hard to get rid of the feeling that you are not learning enough and just jumping from one language to the other.

You are not an impostor. You are a developer. The community is filled with people like you. You are one of us.

On the other hand, if you decide to go deep you will be getting into things like: How does this language handle memory? What is undefined behavior here? How can you build scalable and better-structured projects?

You will learn the standards and the best practices. You will be able to complete much more complex tasks within the language, and as a result, will be able to build much more complex programs. These works you put on the front will present your skill and dedication to the language. A lot of job hunters are looking for that skill.

But what if you work on it for years to hone your skills but end up not even using it? Or even worse, you stop enjoying the language so you never see it through the end? What do you have left with?

Knowledge. You have the experience. You can build on it while branching out. Let it be a building stone for your future, a fundamental pillar to move forwards. The community is waiting for you, go meet them.

So what is the best approach then? It is simple really. The industry is growing rapidly and there is no shortage of technologies to choose from. Brilliant minds are needed everywhere. The real question is what YOU want to do?

It may not be something you can answer right now. Or a month later. Maybe even after a whole year later.

But what you can do right now is to search for that answer, search for that opportunity. As someone starting off now, I suggest going wide until you find that special language that drives you. And when you find it, go ham on it. Go as deep as you can.

And if you can't seem to get excited about it anymore in 8–10 years down the line, start searching again. You have a really deep and solid understanding of a language under your belt. You can branch out.

Many senior developers change jobs before 10 years in a company. They are chasing after their spark of light, too.

You just have to keep chasing until you find yours.


Want more? Check out my Blog.

Have questions? Hit me up on Twitter.