Survey Results for Computer Programming Skills for 2020
Survey Results fOR Computer Programming Skills for 2020
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.