Tech Education
How to choose which coding language to learn first
Choosing which programming language to learn can be very daunting. There are over 700 languages currently listed by Wiki. Where should you begin?
If you take anything away from reading this, it should be one key point;Â we strongly recommend learning one language in-depth and not two or three casually.
What can happen if I choose multiple languages?
- Spreading yourself thin – Picking up another language later down the line can be very rewarding. But when you’re new to programming, it’s important to resist the temptation of spreading yourself too thinly!
- Get focused – Think of it this way. If you wanted to learn French, German and Japanese, you wouldn't choose to learn all 3 at once for the best results. Having a target to focus on allows you to fully understand the nature of what you’re working with.
- A fuller understanding – When you start your career in tech, you’re going to be using programming languages every day (often one in particular, depending on the company.) So it’s better to get to know one in-depth, so that you can learn what’s happening under the hood. Once you know what’s happening under the hood, you can easily extrapolate your skills to learn more languages!
- More than just a language – The more languages you learn at once, the less thorough an understanding you will have of any of them in any given amount of time. Your learning time when starting out is precious, so don't lose focus or waste time by taking on too many things at once. Rather, it’s more important to delve into the underlying technologies which go beyond language. Give yourself a strong foundation to build on.
- Coding is hard – Learning any new skill that you have to completely immerse yourself in can be overwhelming. Taking on multiple programming languages at once can be like running before you can walk. Take time to work through problems you might encounter with one language, before you try to tackle problems with others.
How should I choose?
Well, it’s actually a bit of a trick question
It doesn't really matter what you learn first. Whatever you learn, learn it DEEPLY. Your end goal is not to learn a language. You're learning to be a software developer using a specific language, like learning sociology in Spanish. It’s to understand what’s really happening underneath, and how different technologies work, and work together.
You should come to your answer by breaking it down into three steps -
- Why do you want to learn to code? Do you want to be part of a development team, do you want to build something fun or just want to have another skill?
- What sort of developer do you want to be? The scope of roles and even industries you can be part of is vast!
- What do you find interesting? This is where you can fine-tune what you want to specialise in. Are you fascinated by mobile technology? Do you enjoy the logical thinking behind how things work?
Do your research. If you want to start getting familiar with a language, engage with the community through online forums. Ask questions before you take a deeper dive. Look at the challenges that devs using the language are facing and prepare yourself to face something similar.
A lot of people from the tech community will attend local meetups. These spaces can be ideal for beginners to speak directly with someone who already has an established career. It’s a great opportunity to work through your thoughts with someone who has been through the things that most people who are beginners go through. If you’re interested in their industry, talk to them about the choices they made when they were a beginner.
Study the essentials
We recommend starting with something accessible like JavaScript or Python, especially if learning on your own. JavaScript is easy to set up and get started with (it’s already built into your browser) there’s a huge community of developers internationally on hand for support and free learning resources.
At Northcoders, we aim to give all students the tools they need to become a software developer. We do this by covering the fundamentals, back end and front end using JavaScript before students build their own projects. In the end, two out of three of our students will pick up another language to support their final project while on the course. They’re able to do this because they have a solid base knowledge of the fundamentals of programming.
However, only when you have a detailed understanding of software development and know-how to build infrastructure should you consider learning another.
For a lot of people, it can be beneficial to have a career goal in mind. Say you know a specific company or industry asks for experience in a particular language. Having that to work towards will give you a leg up when you're applying for jobs. In the North, JavaScript is the most required language in job specs, and then Python and C#.
If you want to be a front-end developer, you'll need to know JavaScript backwards. If you want to be a back-end developer you need to learn it anyway, as good back-end devs understand front-end too. It’s a versatile language that some of the most popular websites in the world rely on. A lot of businesses who are hiring developers ask for JavaScript knowledge.
Whatever language you learn, learn it well. In the wise words of Ron Swanson;
Want to begin learning JavaScript? Start withIntroduction to Programming with Northcoders.
Suneet Misra