As a code newbie, one of the most intimidating yet fundamental decisions to make is deciding which programming language to learn first.
There is a wide variety of languages, frameworks, and libraries that you'll easily find if you Google around. You'll agree though that wherever there are a lot of options to pick from, it's bound to lead to confusion.
This decision is important to discuss because it determines to a large extent the process and outcome of your journey as a developer.
In this article, we’ll discuss the four W questions to answer before picking your first programming language, as well as some helpful tips.
How to Pick a Programming Language to Learn
Know Your Goals for Learning to Code (The Why)
Before worrying about what language to learn first, take a moment to consider the goal, or simply your why.
What’s the reason for wanting to learn programming, anyway? Is it to find a job, to automate your work, for a promotion, or for fun – or some combination? Your why should be the first factor to consider when selecting a language because that will serve as motivation to push through when the learning gets difficult.
Your why could also be to make a transition and secure a job in a particular industry or company. In such cases, you may want to engage recruiters, senior developers, mentors and current employees. Find out what languages are preferred or may give you a higher chance of getting in and focus on learning one of those.
Figure Out Your Time Constraints (The When)
Contrary to what a lot of people think, learning to code isn't a get-rich-quick scheme. Learning to code takes time and intentional effort, and these must go hand-in-hand.
It can take months or even years to reach proficiency in any given language. That is assuming you're focused and put in the needed effort towards your studies.
Before picking which language to learn, you'll need to identify your time frame. How long can you dedicate to working and waiting to ensure your dream of learning to code becomes reality? This can be a helpful guide to finding and focusing on languages that are known to be relatively easier to learn if you have limited time, and vice versa.
This is especially true for people who have important life deadlines such as securing a job, getting a promotion, or finishing a project by a given date.
It's always best to dedicate as much time as possible to your studies to avoid putting yourself under unnecessary pressure. And if there's no time limitation and nothing at stake, you may want to explore more complex object-oriented languages.
Know a Language's Potential (The What)
The potential of a language is also an important deciding factor. Potential here refers to the job and freelance opportunities that will be available to you after you learn a particular programming language. It also measures how much employers require that language.
Learning to code in an in-demand programming language means that you become an in-demand developer, which gives you a lot of leverage and opportunities to make money (both by yourself or in a company). This is every developer's dream, unless learning to code as a hobby or for fun.
You can easily figure this out with any of these steps:
- Check a bunch of different job posts and their requirements – try GlassDoor or LinkedIn. Here's an example from Linkedin.
- Do a Google search for "Most In-Demand Programming Languages" and the current year (for example 2022) and check results from Reddit or Quora.
- Check the StackOverflow Developer survey for the current or past years here.
What's the Support for the Language? (The Who)
Look out for languages that are backed by credible institutions, communities, or individuals. They have a higher chance of being around for a longer time and being frequently maintained.
It's important that the language has a community backing it, too. This ensures its constantly maintained through open-source contributions.
This is particularly important because it shows that there are people who use the language and care about it enough to want to contribute to keeping it up-to-date.
Choosing a language with good support also means that should you encounter any difficulties, you will most likely find documented help for a similar error. Even if not, the probability of getting help quickly should still be high.
You shouldn’t follow the crowd and learn a language just because that’s what a lot of people are learning. Still, you don’t want to pick a language that doesn’t have a community you can get help from in case you face issues. In this case, it may be safe to say, the more the merrier.
Choosing a Programming Language is a Personal Decision
This article has been intentionally objective because different approaches work for different people.
You might be able to identify the language you want to learn based on these factors or not. After answering the questions raised above, you may still find that there are a number of options to pick from. It's very tempting to want to go with a language that is recommended by someone else.
However, try and make this decision by yourself. If you let someone else decide for you, it's very likely that when things go wrong you may regret the decision and start shifting blame. So that when the going gets tough, you'll remind yourself of your reasons and keep going.
Focus on Programming Fundamentals
Problem-solving is the most important skill any developer can cultivate. This is followed by knowing the fundamentals of programming in general. No language is more important than this.
Languages come and go, but these skills help you easily switch or pick up a new language when needed.
You’ll come to find that many times, your strength as a programmer will be measured by how well you’re able to adapt to change.
Even for employers, the majority are more likely to employ a developer who knows how to solve problems programmatically and learn quickly, over one who just knows any specific language.
You Can’t Go Wrong with HTML and CSS
There are a lot of people who argue that HTML and CSS are not "programming languages". But as the building blocks of the web, they are the foundation that you can build upon anytime.
This makes them safe to learn, even when you’ve still not decided what other language to start with. Almost all developers start learning from the web before topping up with other programming languages and eventually frameworks.
What is HTML?
Hyper Text Markup Language refers to the basic building blocks used to structure a web page. For example, its content could be structured within a set of paragraphs, a list of bulleted points, or using images and data tables.
What is CSS?
Cascading Style Sheets is used to beautify HTML code. It lets you style the elements of your web page and lay them out in certain ways so that your code looks prettier.
Rest assured that these points will be relevant many years from now. The factors discussed above should give you the most effective methods to select your first programming language.
And even though I've put a lot of emphasis on selecting a language, this isn't the end of the story or of the decisions you'll have to make as a new developer.
It's only the first step and you'll have to sustain your learning and development with commitment and hard work. Whichever language you choose – and however hard you work – will ultimately determine how fast you achieve your goal. If you focus and work through a language methodically, it'll help keep you from jumping from one programming language to the other.
Thanks for reading 👋🏾. I hope you found this helpful.
Let's connect on Twitter or LinkedIn.