How to choose a programming language

Tassia
Tassia
Sep 15, 2018 · 6 min read

So, you’ve decided to learn how to code. The questions is now, where should I begin? What language should I learn? With so many languages and stacks out there, the decision can be pretty daunting. Just a little over a year ago today, I also decided to make the big leap into software development. At the time, most blogs and articles I read told me it doesn’t matter what language you learn, just choose one and the others will come easily; “the important thing is to just start coding.” Though this is great advice in many respects, it’s also not the best. Let’s break down what you should consider when choosing a language.

What do you want to build?

I often get asked about choosing the “right” path in programming. What career should you pursue, cyber security, web development, iOS, AI? A decision like this is entirely up to you. There is no right answer, just your own.

From Stack Overflow’s 2018 Developer Survey. A nice graph showing what languages are often used together and what they are for.

There is a need for programmers for all types of projects. You will need to do research and potentially shadow people to see what projects you want to build. I personally love being able to create something, such as a website, that people use and enjoy. Or perhaps you want to develop games? Other people like to break a system or learn how to protect it, so ethical hacking or cyber security is for them. Once you learn what you want to build, do research on good ol’ Google to see what languages you should be learning to build that exact thing. Here is a general breakdown by specialty (not exhaustive, but gives you a general idea. I still recommend reading the rest of this article to make your final decision):

  • For UI/UX design, it’s great to learn HTML and CSS. Some JavaScript is also nice and would set you apart from other candidates. The UI/UX Lead at my current job is the lead because she is the only one on the design team who knows these three languages.
  • For data science, look into Python or R.
  • For front-end web development, you will need to know HTML, CSS, and JavaScript. You will probably also want to build upon this with a library like React.js or jQuery.
  • For back-end web development, there are way too many languages, but JavaScript, Python, Java, C#, PHP are all popular languages used. Read the rest of the article for advice on how to make a decision on this.
  • For AI or machine learning, look into R, Python, or Java.
  • For mobile development, choose Kotlin for Android and Swift for iOS. I don’t recommend using wrapper frameworks like Flutter or React Native.

Build upon your current career

You may also be looking to stay in your current field, but enhance your skillset with a bit of coding knowledge. A graphic designer could learn HTML/CSS, maybe JavaScript, and maybe a bit more about psychology to become more of a UI/UX Designer. This type of job is in high demand and is more likely to get you into the tech field as well. This could also lead to a nice salary boost!

I currently have a friend studying urban planning and she is very interested in the data driven decisions for city planning. She recently told me that this discovery taught her she would need to look into programming languages to boost her resume and help her pursue her dreams. The perfect languages for data analysts would be Python and SQL, which is exactly what she intends to learn to help her meet her goals.

In your research, you may find there are multiple languages and frameworks you could use for building a website or a mobile app, for instance. So let’s talk about how to narrow it down.

It’s all about demand

When starting out a year ago, I had an interest of going into mobile development, but considering most bootcamps in my area did not have mobile development courses (mobile development is still pretty new, so finding experienced developers to instruct can be difficult), I decided to learn web development instead. My bootcamp offered the MEAN stack (JavaScript software stack using MongoDB, ExpressJS, AngularJS, and NodeJS) or the .NET MVC stack (AngularJS, C#, SQL). I had no idea what to choose. At my boot camp orientation, I asked one of the instructors for his advice and he immediately replied,

“.NET because that has the most jobs in the area. And once you learn one stack, it’s easy to pick up the other ones on your own.”

After hearing all these articles telling me how the MEAN stack was new, exciting and used by startups, I was also set on going with this lucrative and new stack. But here’s the issue: just because something is shiny and new, doesn’t mean it’s the best option. The most important part of all the hard work and time you will be committing to learning how to code is getting that job (unless you plan on freelancing). So, hop onto your computer and go job hunting.

Consider location when choosing a language or stack

Once you’re on a job engine site, start doing job searches by language. To put my instructors advice to the test, I went home that same day and entered a search for C# and then .NET. I then also did a search with keywords for the MEAN stack. He was right. There were by far more jobs for .NET then there were jobs for the MEAN stack in my area. That also made me wonder, then, why would you also teach MEAN if it’s not as in high demand? I researched and noticed that the MEAN stack was more popular in Silicon Valley and with start ups in almost any city. This is because the stack is open-source unlike .NET so there is less cost involved for the business, which is important for start ups.

Coding Dojo provides a nice graph of the job market overall, but remember to search your local job market for any variation to this graph.

Now you have to consider some factors. Where will you be applying for jobs? If you are willing to relocate just about anywhere, then you can choose almost any language or stack. You will have more flexibility. If you are looking to narrow your job search to your local area, base your decision off the job market there.

You can always branch out later

Just because you choose a language or stack now does not mean you are stuck with it for life. Technology is always changing and you will always need to update your skill set and learn new skills or languages.

Like I mentioned before, I got into the .NET MVC stack because my primary goal was to land a job. Now, not only have I helped develop websites, but I’ve also built data streaming pipelines for 20th Century Fox. And now with my new job, I am learning NodeJS, ReactJS, and PHP Laravel for our website as well as Swift for our mobile iOS apps! You will never be tied down to your first language as long as you want to learn something new.

To sum it all up…

In the end, the language you choose is going to be highly dependent on a mix of these factors:

  • What do you want to build? What languages do you need to know to accomplish your goals? Google and job engines will have answers for you.
  • What languages are in demand? Include location in your research of where you’re willing to work/live. Demand varies by location. This is only a factor if you’re looking for a job. If you’re freelancing, you can choose anything you want!

Remember this is only your first step to starting your career. What you choose now is not the end-all, it is only getting your foot through the door. Once you learn one language, the other ones will come more easily and jobs will expect you to learn new languages now and then for work. You’ll never be bored!

You may also want to check just get more insight in the tech field like developer demographics, life outside work, and technical questions. It’s mainly an interesting survey to gain insight into the field and individual developers as well as see any trends.

Good luck and happy coding! 🙂


Originally published at on September 15, 2018.

Tassia

Written by

Tassia

I’m a software engineer transitioning into product design. Instagram Tech Influencer @tassiapaschoal, where you’ll find me most of the time.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade