Your first years

The first few years of your career are an exciting and challenging time. One of the best pieces of advice to pick up in the early stage of your career is that you, and only you, are in charge of your own destiny. The field of programming is so broad, it will feel overwhelming. It’s one big choose-your-own-adventure story, and you’re the main character. There are hundreds of programming languages, frameworks, databases, and programming paradigms available. So how do you know which direction to go?

The easy answer is that any path you decide to take will be the right one. That’s true, to an extent. First, you should always learn the tools, languages, and patterns you enjoy the most. Chances are that you are most productive when using these tools. You will soon gain enough experience to know when a certain tool is the right one for the job. You’ll hear many opinions about which tools you should use, and why they’re the best. In the end, you should do your due diligence and make your own decisions about which tools to pick up. Play around with different languages. Build a proof of concept to kick the tires a bit. The only way you’ll be confident in your decision is if you test-drive the tools yourself.

The harder answer to the question above, is that you should take a good look at your industry, whichever one that may be. What are the languages that are primarily used? Moreover, you should try to understand why the big players in your industry use those tools. What advantage does it give them? Research the popular frameworks or libraries for a programming language, and try to understand why they’re so popular. Try to understand the drawbacks of these tools, and when to consider using a different tool.

You should push yourself to reach an advanced understanding of at least one of the popular languages used in your industry. Do you want to focus on programming the web? You’d better learn Javascript, and probably one server-side scripting language. Want to work on mobile development? Well, you can choose between Swift for iOS or Java/Kotlin for Android. Want to work on hardware and embedded systems? Better get familiar with C or C++. Want to get into game development? Research what languages the big game development companies are using. While those are a few examples, you should always know what tools pay the bills in your industry.

It will take years to master your first programming language, so be patient. You’ll learn a lot through observing your more experienced peers at work, and understand how they use (and abuse) the programming language. Ask questions. Ask lots of questions. But don’t ask too many questions. I’ll explain more about that in a later post, but for now, know it is completely up to you, and only you to master your tools. Your manager will have an incentive to help you develop your skills and level up as an engineer. It pays for companies to invest in their employees, but that doesn’t mean all companies will. You may luck out and land in a company that encourages career development, or you may not. Your best bet is to not assume anyone else will guide you or your career where it needs to go. Your career path is completely up to you. My advice is to stick with programming languages that pay well in your industry and give yourself a couple of years to master the language.