So you’re thinking of learning to code, great choice!
And why wouldn’t you want to? The combination of high salary, the ability to get hired without a degree, the potential of remote work, and getting to work on interesting projects is awesome.
But with over 600+ programming languages, runtimes, and frameworks to choose from, it can be overwhelming to know where to start:
Let's dive deeper into each of these questions a bit more so you can go from complete beginner to learning to code and getting hired ASAP.
Over the past 7+ years, we’ve helped 1,000s of people go from never writing a line of code to getting hired as software developers and engineers at all kinds of companies including Tesla, Facebook, Amazon, Google, Shopify, and many more.
In many cases, these people increased their salaries by $25,000 - $75,000 vs. their previous career.
Many of our instructors have also been in your shoes.
In fact, I'm a self-taught programmer myself I he knows what it's like to be a beginner in this industry.
Hopefully this shows we probably know what we're talking about because you can save yourself A LOT of time by making sure you pick the right programming language to start out with as a complete beginner.
So let's jump in...
P.S. If you're still not sure if coding and web development is the right career for you, then read this post.
Alright, let's stop beating around the bush.
There are only two programming languages you should choose between as a beginner: JavaScript or Python.
Why these two?
One important note with JavaScript though is that you'll also have to learn HTML & CSS first which are the foundations of the internet as we know it. But you can pick these up very quickly and then dive into Javascript.
The next logical question is then... Should I learn python or javascript?
Let's first dive deeper into each of these reasons a bit more and then we'll help you decide which one is best for you.
When it comes to programming languages, you have two types:
Low-level languages are very similar to machine code, which is kind of like what you might see in the Matrix.
It’s not that extreme but you get the idea.
It does make these low-level coding languages more difficult to learn though which is why I don’t recommend learning them as your first language.
Two exceptions to this rule:
On the flip side, high-level languages such as Python and JavaScript are more similar to how we speak or write, which makes them easier to pick up by beginners.
Fun probably isn't the first word that comes to mind when thinking about coding or learning a coding language.
But once you get the hang of it, it can be super rewarding and exciting to build things that can be used by anyone around the world.
Your coding skills will make your mom super proud and your friends jealous.
But not all programming languages are fun to use, that's for sure. Some are brutal to work with.
Thankfully Python and JavaScript are pretty enjoyable to use. Don't just take my word for it.
According to last year's StackOverflow survey of 90,000 developers, both JavaScript and Python are some of the most enjoyable programming languages to use.
57.83% of JavaScript users want to keep using it (with higher percentages for offshoots of standard JS - more on these later)
While 65.82% of Python users want to keep using it next year
The most loved programming language is Rust (84.66% want to keep using it!) and there are some great reasons as to why you might learn Rust.
But it just doesn't have the same level of adoption or wide range of job opportunities that JavaScript and Python give you.
This conveniently leads us to reason #3.
Since Python and JavaScript have been around for so long and are such solid programming languages, almost every company in the world is using one or both of these.
And for better or worse, companies rarely switch programming languages. It's a big pain and is very costly.
The result of this is a lot of jobs are available with these languages, as companies need to hire developers to help maintain their existing code and help them write new code to create new features and projects.
It also means that there is very likely to still be a lot of jobs available for people that know Python or JavaScript for many years to come.
This is a bit of a simplistic approach but if we look at a broad search for these languages, there are:
And if we look at the salary for these, then the average is around:
Like I said, this is very broad, and the number of roles and salary will vary depending on which area you specialize in, the location of the role, and other factors.
There are also multiple areas of focus that you can specialize in after you learn either Python or JavaScript that could pay even more and also open up additional job opportunities.
So let’s take a look at each of these options and why they help future-proof your career…
It's actual pretty incredible that so many of the most in-demand tech roles require either JavaScript or Python skills.
For some of them, it's required as a foundation that you need to know first. While for others, it's a skill that's recommended so you can level-up to more senior roles.
For example
So the cool thing is that learning either of these 2 ‘beginner’ programming languages will not only help you land your first role but can also be used to level-up your career and future-proof you as they'll continue to be the foundation for other roles we might not even know yet.
Not bad right!?
So let’s take a look at some of these roles that you land right now, as well as some paths you could pivot into, and how much these 2 languages feature in them.
There are 3 main types of Web Developer:
The thing is, you can use JavaScript to work in any of these 3 roles.
A front-end developer simply needs to know JavaScript (on top of HTML & CSS but you'll pick this up quickly).
However, once you know that, you can add "power-ups" to your JS skills to make your coding even easier and more efficient.
Learning these other front-end frameworks like React or Angular or Vue allow you to build on top of your javascript knowledge.
Or you could build realy cool 3D experiences by learning Three.js.
A back-end developer can also start out with JavaScript as a foundation but they'll also need to learn a framework like Node.js plus some SQL + database knowledge. Ideally they'll also have some cybersecurity knowledge as well.
A full-stack developer would require knowledge of all of these.
The key is that starting with a solid foundation in JavaScript allows you to go in so many different directions within the software and web development world depending on your interests or where the best jobs are.
You can technically be a frontend, backend, or full-stack developer using Python as well, it's just not as common. You'll likely just need to learn the Django framework as well.
If you learn JavaScript today, you could get hired as front-end dev almost right away, and then continue to learn additional skills to become a full-stack developer to earn more andget more job opportunities.
Not bad for a beginner language right?
Want to build software instead of websites and web apps?
Well, you guessed it. Before you do anything in Software Engineering, it's almost guaranteed that you'll need to know either Python or JavaScript to start with.
But then you'll have to dive deeper into data structure & algorithms as well as a few other more advanced topics.
But it’s a good next step in your career after you learn either Python or JS since the average salary for a Software Engineer is around $147,524.
Want to work in Cybersecurity? Then you'll want to pick Python as your first language.
There are other skills and tools you'll need to know as well like Linux and Bash and maybe get a CyberSecurity certification but Python will be a key tool in your toolkit.
The average salary for a Cybersecurity Engineer is around $122,980.
Almost all of ML and AI is built around Python - including the tools they use.
To become a machine learning enginner, you'll need to learn Python first.
After that, you'll dive into learning machine learning specific tools like PyTorch or Tensorflow. You'll also want to make sure you have a good handle on statistics.
You can follow this step-by-step roadmap to becoming a machine learning engineer from scratch.
Or check out this guide if you're interested in learning more about becoming an AI engineer.
The average salary for a Machine learning Engineer is around $128,769.
Can you see how important these 2 ‘beginner languages are?
The list goes on…
What if you want to specialize in a specific language or framework that's hot or certain companies use?
It’s the same situation:
Even if we go a few steps removed to a specialist tech role, these 2 languages keep coming up as supplementary skills:
Ok, I'll stop, as I'm sure you get the idea 🙂!
As you can see, both of these languages are incredibly valuable, easy to learn, in demand, and open up so many other future opportunities.
The best way to choose between the two is to look at a career path or job that you want and that interests you the most, and then see which language is the main requirement.
If you want a step-by-step roadmap to go from complete beginner to getting hired then click here to check out our career paths.
If you’re not sure what career you want, try our tech career path quiz.
It’ll ask you questions about the kind of work you want to do, and then provide the best career choice for you.
If you're serious about starting a career in tech (whether you choose Python or Javascript), come join Zero To Mastery.
Our #1 focus is to get you hired as soon as possible - even if you have zero experience (we're not called "Zero To Mastery" for nothing 😉).
We remove all the fluff that you might get elsewhere, and focus on the most important information, skills, and projects you need so that your interviewer says “wow, we have to hire this person!”.
Some students have even got hired in just a few months of learning to code.
Not everyone's journey will be that fast but if you're willing to put in the work, we guarantee that you can also learn to code and get hired!