For the past 3 years, freeCodeCamp has surveyed 10,000s of developers about how they're learning to code and pursuing their careers. And we've made our full datasets publicly available.
In 2020, we decided to take a year off. So this article isn't about a new dataset from us. Rather, it's about a survey conducted by our friends at HackerRank. They surveyed 116,000 developers for their 2020 skills report. And I'm going to break down the results that I think are most relevant to new developers here.
Many of the developers they surveyed were also hiring managers. So let's start there.
What do Hiring Managers Look for in Developer Hires?
It turns out this depends a lot on the size of the company.
Smaller companies rely more heavily on generalists. They bring on lots of full-stack developers who can wear many hats.
This usually comes at the expense of dedicated front-end and back-end developers.
Smaller companies consider full-stack developers more important. Larger companies are more likely to want specialists.
If you think about it for a moment, this makes sense. Larger companies allow for more specialization.
This said, most hiring managers at all sized companies reported prioritized front-end, back-end, or full-stack developers. Only about 30% of hiring managers considered it a higher priority to fill roles like:
- DevOps Engineering
- Data Scientist
- QA Engineer
And in terms of skills that employers are looking for when they hire...
In the Asia-Pacific region, Java is still very much in demand. C# and C++ are more popular in the Africa-Europe-Middle-East region than elsewhere.
But one of the most interesting insights here is that a growing number of managers – especially in The Americas – are "language agnostic." They don't really care which specific programming languages you know.
This goes back to something I've been preaching ad nauseam over the past few years: if you can learn one programming language well, you can easily learn a second language on-the-job.
What a developer has built in the past is a much better indicator of ability than which specific tools they used to build it.
Fewer and fewer employers require university degrees. And smaller companies are more flexible on this.
31% of developers who work at small companies don't have Bachelor's degrees (also known as "undergraduate degrees" or "4 year degrees" in the US).
And even at large companies, 9% to 18% of their developer workforce don't have degrees.
This represents a pretty big shift from the 1990's and early 2000's when most developer jobs required a degree.
If you think about this for a moment, though, it makes perfect sense.
The cost of earning a university degree – certainly in the US – has skyrocketed over the past 40 years.
More and more Americans are choosing to forego traditional university degrees in favor of self-learning.
My advice has always been: go to a cheap community college, then a cheap public university. I still think 4 year degrees are worth it if you can earn them without going into debt.
But I can understand why someone who's already past the traditional university age (late teens to early 20s) may want to skip university entirely.
This 2,500% increase in university tuition and fees has also coincided with the birth of the world wide web, and a wealth of free learning resources.
These days you can learn pretty much anything for free if you're willing to sit down and learn it.
So it's heartening to see more and more employers who are bringing on fully self-taught developers in addition to university graduates.
And there's a new middle ground between going to university and just learning everything for free on the web: coding bootcamps.
I've written extensively about coding bootcamps, and the role they can play for people who don't want to go back to school.
Most people are able to successfully get a developer job after a year or two of self-teaching with online resources, attending local tech events, and hanging out at local hackerspaces.
But some people prefer the added structure and accountability that enrolling in a coding bootcamp can provide. These can be nearly as expensive as going to community college + state universities. But they are a bit faster.
And the good news is that some employers are hiring these coding bootcamp grads, and are sharing their opinions of them.
Do Coding Bootcamps Work? Here's Data From Employers.
About 32% of hiring managers surveyed said they'd hired a coding bootcamp grad.
And here's what they had to say about their perception of these bootcamp grads' skills:
They found these coding bootcamp grads to mostly be as well equipped as their other hires. And nearly a 1/3 said coding bootcamp grads were better than their typical hire.
One thing to note is that many coding bootcamp grads already have Bachelor's degrees – some in Computer Science and Engineering fields. So some of these bootcamp grads have more education than a typical hire would have.
Also note that the quality of instruction among different coding bootcamps varies dramatically.
This survey didn't release the underlying data, so we don't know which coding bootcamps are most favorable among employers. We also don't know how many of these were traditional in-person coding bootcamps VS online coding bootcamps. (And if you've read my articles in the past, you'll know that I think much more highly of the in-person variety.)
But either way, the fact that the 32% of hiring managers who have hired a coding bootcamp grad think so highly of their skills has to be reassuring for all the developers out there who have founded their own coding bootcamps in their cities.
What Skills are Developers Interested in Learning?
Fortunately the survey covered that, too. Here's the chart:
I'm going to describe these languages right now in case you aren't yet familiar with them.
Go is a powerful server language created by Google in 2007. Go offers:
- garbage collection
- memory safety
- limited structural typing
- and a ton of features for writing heavily-parallel programming.
Want to learn Go? You're in luck. We've got a free 7-hour course on Go right here:
The second language developers want to learn is Python.
Want to learn Python? More than 10 million people have done this free 4-hour course freeCodeCamp published on Python:
And we also have the world-famous Dr. Chuck teaching a free 14-hour course called "Python for Everybody":
And we're working on an interactive browser-based Python curriculum with certifications, too. It'll be out later in 2020.
The 3rd language developers want to learn in 2020 is Kotlin. Kotlin is an awesome language created by our friends at JetBrains (creators of popular IDEs like InteliJ and WebStorm).
Kotlin makes it much easier to create Android apps (which were originally written in Java).
So – of course – freeCodeCamp has a free 4-hour course on Kotlin, too:
What do professional developers actually care about in terms of professional development?
In one word: skills.
Most developers care less about traditional markers of professional advancement (promotions). They care more about expanding their toolbox of technical skills.
And this makes a lot of sense when you look at this following chart:
Most developers would rather get promoted into more technical role than a managerial role.
An Engineering Manager is a manager and an individual contributor is a developer who is managed. But what is a technical lead exactly?
The role of Tech Lead varies from company to company, but usually involves making high-level technical decisions (like an architect) and setting the vision for a team of developers. Tech Leads usually report to Engineering Managers, who then report to executives like the CTO.
As of 2020, how much money do developers make each year?
Based on the 116,000 developers surveyed, average annual salary is US $54,000. This is for developers globally.
Let's zoom in to look at the US – the country where developers get paid the most. (I'm not quite sure why this is, but I suspect it's a combination the US housing the headquarters of many of the world's largest software companies, combined with restrictive immigration policy that limits the availability of developers.)
Here is average developer salary by US metro area:
To put these numbers in perspective, the average American earns around $47,000. So being a developer – not bad work if you can get it. ?
Thanks again to the HackerRank team for conducting this survey and creating these visualizations. These, combined with Stack Overflow surveys and freeCodeCamp's own surveys, help paint a higher-resolution picture of software development as a field.