How to chart your unique path as a programmer

Feature image

Picking a programming specialization can be daunting.

With hundreds of programming languages to choose from, and new areas of specialization developing all the time, many new programmers get nervous about choosing the “right path.”

So, if you are trying to see what path is right for you, I want to offer you some help.


There is no such thing as “one right path.”

The world of programming is developing every day. Blockchain technology was almost unheard of a decade ago and mostly an academic question rather than the financial juggernaut it’s become. Today, it’s everywhere, with new companies adopting it every day.

The world of programming seems to completely reinvent itself every couple of years. So, if you think that you’ll be picking one specialty or focus and doing only that for the rest of your career, let me tell you it is extremely unlikely. However, concepts and things you learn along the way will likely carry over to the new things, so you won’t have to start from scratch each time.

Chances are, as technology changes, your path will move and change along with it.

So, the first thing to know is, don’t assume there is one path you must follow. Instead, think about your programming journey as a long and exciting journey of discovery. You get to watch and even participate in creating and delivering new and exciting things to the world.

The fact that you’ll probably be doing something different ten years from now is one of the most exciting parts of becoming a programmer.


Try new things

So, if there is one thing that you need to do in your early journey as a programmer, it’s to try new things. The key is to experiment with new things to find the most exciting.

With that said, when learning your first programming language, or the key concepts in programming, don’t start switching. It can be very confusing when learning it all for the first time, so if it is your first, pick one and master it , once you are comfortable enough, consider spreading out.


Try new languages

Some programming languages are understood almost everywhere, like JavaScript. Others are very important for specific jobs. R is a statistical language designed specifically for data science. It is hard for beginners to understand but essential for specific applications.

Different programmers are attracted to different languages. Some are more intuitive for certain programmers than others. Others, like R, are designed to do something that appeals to people.

Try new programming languages to see what languages you enjoy using.


Explore new projects

Many programmers fall in love with programming through video games and dream of becoming game designers. But, this is only one path. And many of those programmers eventually learn that even though they love video games, game development isn’t something they enjoy.

Programming allows you to do a million different things, and once you get a handle on the absolute basics, you can explore a million other things.

  • Web design
  • App development
  • Data analysis or visualization
  • Blockchain
  • Enterprise software development
  • Cloud computing

You can even explore very fulfilling hybrid careers in software support, sales, and implementation.

Just because you enjoy programming doesn’t mean you have to sit behind a computer, clicking away on a keyboard all day.


Diversify your skills

Building a career as a programmer isn’t about mastering one language or one skill. Throughout your career, you’ll need to be able to move and change as things change.

The key is to develop a variety of both hard and soft skills. It’s important to become an expert in one language, but that’s just the start.

It’s great to be a JavaScript expert. But maybe you pick up some knowledge in a couple of new programming languages over your first few years (like Go, Python, or something else).

It’s great to be a UX designer, helping people create an easy and beautiful app or website interface. But, maybe you pick up some additional database knowledge or learn about blockchain development so you can integrate websites into the web3 .


Define your career goals

I spend a lot of time talking about “hard skills” like languages, tools, and other things. But, the trajectory of your career is defined as much by the non-programing skills you develop as the programming ones.

And, different paths require different skills.

Professional programmer

Is it your dream to sit behind a computer all day pounding out code? Want your hands to be the ones that help produce the next major video game? Want to build and support software that multi-national companies deploy across the globe that unites the work of tens of thousands of employees?

Suppose you want to be a successful programmer in a corporate or team environment. In that case, you need to be a clear communicator, complete tasks on time, and be able to get along with a group, contributing meaningfully to a shared mission. Particularly at the start of your career, you won’t be able to define the goal or control assignments. But you must work effectively and efficiently without complaining or causing trouble.

Being calm, flexible, and easygoing helps you succeed in this environment.

Freelance programmer

Being a freelance programmer gives you flexibility and control over what you do and how you work that other career paths don’t.

You get to choose who you work with, what you do, and even when and how you work.

If you value control, freedom, and flexibility., you may succeed as a freelancer.

But, all this flexibility comes at a price.

You’ll need to develop top-notch sales and customer service skills. You’ll need to be very comfortable quoting prices and selling yourself as well as working with clients who may or may not be familiar with what you do.

Freelancing can be extremely rewarding and exciting if you are comfortable selling yourself.

Entrepreneur/ Startup founder

Have dreams of becoming the next Bill Gates, Steve Jobs, or Elon Musk? Do you have an idea for the next great software program?

You may want to start your own company.

As a business owner, you’ll need unparalleled drive as you’ll be working long hours and devoting yourself to your idea or business.

You need to excel in a wide variety of different skills, from project management and productivity to sales and marketing to leadership and team building.

Starting your own business isn’t for the faint of heart. It’s all-consuming, risky, and stressful. But, there is no other way to live for those individuals driven to make their mark on the world and create something new.

Find something that interests you. There is something for almost everyone in the world of programming. It’s a massive universe getting bigger and more diverse every day.

When choosing your path, one of the only mistakes is picking something simply because it pays well.

Sure, JavaScript developers are in high demand, and Blockchain developers are making six figures because companies need them.

But, what is the point of making money only to be miserable?

Find something interesting that makes you excited to wake up and start the day.

It doesn’t matter what specialization you have. From web design to cybersecurity to game design, you can make good money in the right situation virtually anywhere.

Don’t let salaries determine what specialization you choose. Find something you enjoy, and as you grow your skill, the money will come.


So, what is the right path for you?

The answer is easy, and it’s hard.

The easy answer is the path that makes you excited to wake up in the morning, that is creatively fulfilling, that allows you to work with people you admire, and that allows you to do things you enjoy.

This is the right path for you.

But, it’s hard because finding the skill or the path that provides you a career that lets you thrive can be hard to discover.

This is why I teach my students JavaScript and web development.

It’s the best place to dive into this exciting world and figure out how YOU want to contribute.

Thanks for reading!