I talk to boatloads of students who are starting to [learn to code](https://boot.dev), and invariably they are hyper-concerned about which programming languages and technologies they should be learning.
That said, choosing good technologies to learn can certainly help. Unfortunately, almost everyone I talk to is only concerned with one metric: *the total number of jobs for a given technology*.
This is a mistake.
## The total number of jobs doesn't matter
* Golang: 61,673 open positions in the US
> It doesn't matter how many total jobs there are, because you only need to land *one*.
> -- me
## Looking at the ratios
So, let's do some more math:
Next, the "competition ratio": `10.4 / 7.7 = 1.4`
## Can I trust these numbers?
## Does the total number of jobs matter at all?
Yes, but I prefer to think of it as a threshold. Like, if there are only 100 total jobs for a given technology, even if you're one of ten people in the world who knows it, you're going to be entering a very niche market that could dry up at any moment.
It's like, "is what I'm learning sufficiently popular that I can reasonably expect to find a job"? If it is, then I'd argue the next most important metric is the ratio of candidates to jobs.
## What else matters?
The next thing to consider is your location. Remote work is great, but I'm a big fan of junior devs trying to [work on-site](https://blog.boot.dev/about/#9-get-an-on-site-full-time-job-first) for at least a year or two. You'll learn faster, and you'll actually have an easier time landing a job in the first place (assuming you're in a place with some jobs). When you compete for a local job, you're only competing against people who live in your city, not the entire world.
If Python has tons of jobs, and a fantastic ratio of candidates to jobs, but where you live the only developer openings are for Go and Java, then I'd recommend reconsidering your choice of technology.
## Please don't worry about it too much
Like I said at the outset, you won't fail to break into tech because you didn't choose the perfect stack to learn.
If you go about learning to code by going *deep* on the basics, you can always learn new technologies as you go. Fundamental concepts like problem-solving, imperative programming, data structures, algorithms, architecture, clean code, io, networking, HTTP, REST, databases, and caching are *universal and language-agnostic*. If you know how to build a REST API in Go, spinning one up in Express or Django is going to be a quick learning curve.
Syntax is the easy part. Best of luck out there.