2018 Developer Skills Report

Code rendered 3D approximations
of Mandelbrot set by Daniel White

Prologue

Hello World

The future of work will be very different. Irrespective of your job, it will become important for everyone to learn how to code. Coding helps enrich your computational thinking, which is powerful in making decisions. The traditional resume will go away and hiring will happen based on your skills first.

We launched HackerRank in late 2012 with the goal of matching every developer to the right job. And the growth has been amazing — we reached 3.2M developers in the community and powered 2% of all developer hires last year.

For the first time, we surveyed the HackerRank community to get a pulse on developer skills (when did they push code for the first time, how do they learn coding, what are the favorite languages and frameworks, what do they want in a job, what hiring managers want in a candidate, and more). There are some great insights, from 39,441 responses, that we are happy to share with you today. Did you know that 1 in 4 developers learned to code before they could drive?

We hope you find the 2018 Developer Skills Report insightful and would love to discuss the findings with you at /r/programming.

Yes, this is Vivek's signature
Vivek Ravisankar
Co-founder & CEO

Table of Contents

Learning & Education

1 in 4 developers started coding before they could drive

It’s never too early — or too late! — to start coding. Of the roughly 39,000 developers surveyed across all professional levels, more than a quarter of developers wrote their first piece of code before they were 16 years old.

Meanwhile, of all the developers who started coding after the age of 26, 36% are now senior or even higher-level developers, growing quickly in their careers.

When did you start coding?

Learning & Education

The PC revolution sparked a unique ambition among ‘70s kids

Unlike generations thereafter, if kids of the seventies wanted to see innovative technology, they’d have to build it themselves — they had no other choice. There were no widespread resources to teach them how to build software. Almost half of all developers (47%) between the ages of 45 and 54 started coding before they were 16 years old. Meanwhile, developers between 18 and 24 today are the least likely to have started coding before 16 (only 20%).

Developers between the ages of 45 and 54 were among the first to get their hands on relatively powerful PCs, like the Acorn Archimedes, TRS-80, Commodore 64, and Apple II. With limited to no access to formal education, young people in the PC Revolution had an unusually strong drive to learn to code on their own.

Current age vs. Age started coding

Learning & Education

Hats off to the UK for leading the pack for youngest coders

Of the 17 countries represented in the survey with at least 100 respondents, the UK stands out with the highest share of developers who started coding as young as 5 to 10 years old. The majority of those developers are in their 30s and 40s today.

When these developers were schoolyard kids, the Acorn Archimedes, a Cambridge-based PC, hit the scene. Thanks to a partnership with Tesco in which schools received these PCs in exchange for shopping at Tesco, more kids had access to computers. This initiative spread across Europe and Australia.

Today, this culture of forward-thinking education has persisted in the UK — it became the first nation to modernize its curriculum by requiring kids as young as 5 to take programming classes.

Policymakers repeatedly cite that early exposure to coding is an important step in creating a gateway to careers in software and understanding the principles of computational thinking and software that influences daily life.

Which country has the highest share of developers coding between 5 and 10? *

* List truncated

Learning & Education

Nearly all developers have an insatiable thirst for learning

It seems like every year there’s a new hallmark programming language, framework or library that proliferates across developer blogs. First, it was all about Backbone.js. Now, everyone is raving about AngularJS and React. Self-teaching is the norm for developers of all ages. Even though 67% of developers have CS degrees, roughly 74% said they were at least partially self-taught.

On average, developers know 4 languages, and they want to learn 4 more. The degree of thirst for learning varies by generations — young developers between 18 and 24 plan to learn 6 languages, whereas folks older than 35 only plan to learn 3.

Since programming is centered on independent research aimed at solving new challenges, self-teaching is a major part of being a successful developer. In choosing what to learn next, the best guiding principle is to plant yourself in one discipline and learn tools as a means to grow. Tools will always change. Ultimately, it’s curiosity and genuine interest in programs that should fuel the drive to learn new tools and adapt to tech’s evolving landscape.

How did you learn to code?

Learning & Education

And new generations are opting for YouTube to self-teach over books

Stack Overflow is the number one tool for self-learners — surprise :). This is true across age groups. Developers value step-by-step advice from peers who came, saw, and conquered challenges before them.

There is, however, a clear age group divide between YouTube and books as the second favorite resource for learning to code. The very nature of learning is changing; younger generations are flocking to YouTube while older generations prefer books to learn new skills. More specifically, when learning a new tool, Millennials log onto YouTube (65%), while Gen Xers pick up a book (85%).

Both have unique advantages. YouTube enables a systematic teaching paradigm, which allows for structured, steady progress that mimics university curriculums… except you can do it at your own pace. Another benefit is adaptability. While YouTube can ride the ebbs and flow of software’s agile advancements, textbooks are timeless relics of CS fundamentals. Anyone can produce a new YouTube tutorial in less than a day, though it won’t offer textbooks’ years of carefully thought out lessons. Either way, one thing is clear: We are on the cusp of an evolution in coding education.

Besides HackerRank, which of these platforms do you use to learn how to code?

In-Demand Skills

Developers are learning the languages employers are looking for most

Even though new languages arise frequently, it’s most important for developers to master core, legacy languages. By and large, employers’ most common requirement today are: JavaScript, Java, Python, C++, and C.

Which languages do employers look for by industry?

When you compare the most in-demand languages by employers with that of the most common languages that developers know, there is no gap. Java, JavaScript, C and C++, and Python all top the list of languages developers know.

There’s slight variation in the top in-demand languages by industry. Java, for instance, has been popular in the world of financial services for years. C dominates hardware because of its performance, direct low-level hardware API, and availability of compilers across many platforms. And C# is more common among government organizations.

In-Demand Skills

The biggest gap in knowledge is with JavaScript frameworks

Programming languages aren’t adopted in the industry as quickly as they are created, but JavaScript is changing the game with its frameworks. A number of the most in-demand frameworks are JavaScript frameworks — it’s the only language versatile enough to build frontend, backend, mobile and browser extensions. Hence, JavaScript is ruling the web. Most often, employers want developers who know AngularJS, Node.js, and React.

Which frameworks do employers need vs. developers know?

Incidentally, these 3 frameworks also have the biggest gap between what developers know and what employers want. React has the biggest delta between percentage of developers who know the framework and percentage of employers who look for candidates with this skillset. In other words, there’s a big opportunity for developers to learn React as a marketable skill that companies need today.

Part of the gaps in knowledge could be a byproduct of the fragmented nature of JavaScript. Its ecosystem is rapidly changing at a fast pace, and this may be why there’s a gap in knowledge on some JavaScript frameworks.

In-Demand Qualifications

Almost all employers prioritize problem-solving skills first

Problem-solving skills are almost unanimously the most important qualification that employers look for….more than programming languages proficiency, debugging, and system design. Demonstrating computational thinking or the ability to break down large, complex problems is just as valuable (if not more so) than the baseline technical skills required for a job.

There are, however, some nuances between what small companies care about most versus what large companies care about. For instance, smaller companies look for framework proficiency in candidates more than medium-sized to large companies.

The difference may exist because having the right knowledge of frameworks is more important for startups since they need to launch code quickly, and frameworks help developers push code faster.

Which core competencies do employers look for?

In-Demand Qualifications

What you do matters more than what’s on your resume

There's a popular belief that recruiters favor candidates with CS degrees from prestigious universities. But it turns out that they actually care about what you've done — not where you went to school. An overwhelming majority of hiring managers said they look for proven skill, such as previous work, years of experience, and projects/GitHub. Regardless of company size, 9 out of 10 hiring managers say previous experience and years of experience — both indicators of skill — are among the most popular qualifications.

What you do matters more than anything else. Small companies place a higher value on the portfolio: 80% versus 66% of large companies.

Qualifications that generally bolster the resume (prestige of degree, education level, skill endorsements or certificates) rank the lowest among what companies care about the most. These factors are not indicative of proven skill. The only top-ranked qualification that's easily screenable from a resume is “years of experience” since work experience and portfolio are sometimes correlated with this qualifier. Since it’s more difficult to review individual portfolios at scale, years of experience is an alternative, resume-based signal for proven skill — although this completely neglects high performers who grew quickly in their roles.

What qualifications do employers look for by company size?

In-Demand Qualifications

Execs place the highest value portfolios and personal projects

Companies are looking at GitHub and projects to supplement resumes and evaluate skills better. When we filtered the data by roles, we found that those in a C-level positions, including founders, CTOs and VPs, valued GitHub projects more than years of experience. Prestige of degree dropped even further in importance for these folks.

This could be attributed to the fact that by the time candidates meet execs, they’ve gotten to a point in the hiring process where interviewers are no longer looking for resume qualifiers. Most of the time, these C-level execs have recruiters or another teammate focus on resume-based proxies. When developers meet with C-level folks, there’s more time to evaluate proven skills based on projects, previous work, and portfolios.

What qualifications do execs look for most?

Developer Tools at Work

Developers flock to languages made popular by tech giants

When we looked at the languages with the biggest gap between what developers don’t know and what they are looking to learn next: Go, Kotlin, Rust, Scala, and Swift ranked the highest. There’s a clear trend of individual developers’ following the lead of the Silicon Valley tech giants.

Which languages are developers planning to learn next?

Google’s Go offers high concurrency, fast compilation and, of course, widespread support from its creator. Google also spurred the use of Kotlin when it moved its canonical Android language away from Java.

Additionally, when Twitter outgrew Ruby on Rails, the company shined a spotlight on scalable Scala as a more efficient and cost-effective alternative. Finally, when Apple moved away from Objective-C to Swift, developers had to switch too. With iOS development becoming more streamlined and increasingly accessible, it’s clear many developers don’t want to be left behind.

Developer Tools at Work

Python is the one

JavaScript may be the most in-demand language by employers, but Python wins the heart of developers across all ages, according to our Love-Hate index. Python is also the most popular language that developers want to learn overall, and a significant share already knows it.

Which languages do developers prefer by age?

The language preference graph is based on a Love-Dislike Index, which takes the % of developers who love a language and subtracts the % of developers who dislike the same language. This helps us determine the positive or negative sentiment of a given programming language or framework. Where a score of 100%=most loved and a score of -100%=most disliked.
 

Python is known for its simplicity, readability, and vast possibilities of scientific libraries. It’s also growing as part of introductory computer science courses.

There is an unusual generational trend among newer languages: Younger developers dislike newer languages (like Go, Kotlin, and Scala) more so than older developers. In fact, Go creates one of the greatest divides. Developers aged 18-24 don’t care for it, but 45-54 year-olds consider it one of their most loved languages. The inverse is true about JavaScript.

This is interesting, since many of the newer languages, including Go, embody learnings from older languages. One of Go’s primary designers created C decades ago. There’s an innate thirst for knowledge among younger developers. They are more likely to learn languages across the board — even those that they dislike — than older developers. The latter would choose their pursuit more selectively, based on their experience and what they think will stand the test of time.

Developer Tools at Work

Node.js is the newest jam

Which frameworks do developers prefer by age?

The language preference graph is based on a Love-Dislike Index, which takes the % of developers who love a language and subtracts the % of developers who dislike the same language. This helps us determine the positive or negative sentiment of a given programming language or framework. Where a score of 100%=most loved and a score of -100%=most disliked.
 

Node.js wins as most loved framework by the largest share of developers. As the only method for backend JavaScript, Node.js is favored across all ages. As for front-end frameworks, we all know that AngularJS and React are in vogue. But it turns out this love is most common among younger generations.

Developers between 45-54 years old ranked AngularJS and React much lower. On the other hand, the exact inverse is true about Vue.js. It’s not immediately clear why this is true. We’d love to learn thoughts from Vue.js developers on the differences in age /r/programming.

Talent Attraction

Assessing skills proves to be the biggest hiring challenge, more than talent shortage

What’s the biggest challenge when hiring talent?

Which assessment tools do employers use most?

According to 7,000+ employers, resumes are still by far the most common way developers are assessed today. Our survey found that 81% of hiring managers use resumes as the first step in the applicant screening process.

When asked what the biggest hiring challenge is, the same hiring managers said assessing skill is their number one problem — as opposed to lack of talent. Meanwhile, only 55% of developers said resumes were a good reflection of their abilities.

While technical hiring managers still primarily rely on the resume to evaluate software developers as the first step of the interview, almost all agree that assessing skill is one of the hardest challenges when filling technical roles — there’s a mismatch in what they’re looking for and the tools they’re using to evaluate it. Screening with resumes is a barrier for hiring managers to find the proven skill because the factors that hiring managers care most about (proven skills) are not screenable from resumes.

Talent Attraction

Work-life balance beats perks

What do developer candidates want most when job searching?

If you look at any typical career page for technology job descriptions, hiring managers commonly highlight tech stack, mission statement, and perks to entice developers to apply. This is not what hiring managers should be focusing on when competing for talent.

Instead, the number one thing that developers want most above all is a strong work-life balance. Developers ranked work-life balance as the most desired trait, slightly more than professional growth and learning, which came in second. More specifically, the Americans crave work-life balance more than developers in other regions like Asia and Europe.

Though it was ranked less important to people working at smaller companies, it was still in the top three. Work-life balance is most important to developers 25 years and older, and — unsurprisingly — ranked less important to developers between 18 and 24.

Geographically, the distinctions aren’t too major, with a few exceptions. Canadians care most about compensation, while Australians cite company culture as the #1 thing they care about in a job.

In some ways, we’ve discovered a slight contradiction here. Developers want work-life balance but they also have an insatiable thirst and need for learning. In fact, the number of new tools to learn can sometimes feel overwhelming for developers. But the best fuel for learning is curiosity and genuine interest in technologies that develop in your domain. Focusing on doing what you enjoy (as opposed to trying to learn everything) can help strike a better work-life balance.

Talent Attraction

Flexible work schedules are huge

We realize work-life balance could mean a lot of things to different people. So, we dug a bit deeper into what developers really want.

By and large, work-life balance can be supported with flexible hours — 10 am to 8 pm schedules are commonplace.

Developers want to work for managers that focus on output, not time spent in the office chair. And telecommuting options are helpful as well. Remote working is a particularly strong desire for developers 25 and older, and folks between 25 - 44 are the strongest proponents of shutting down email after hours.

How can employers improve work-life balance?

Talent Attraction

For students, professional growth is the most important

Professional growth climbs to the number one thing students look for in a job, and compensation also notably drops from #3 for professionals to #7 for students. Work-life balance is still important to students, though it drops from number one to number two.

Students are eager to learn and reach their potential, hence prioritizing work-life balance lower at this point in their careers.

Meanwhile, professionals’ desire for work-life balance — over compensation — goes to show you how hands-on experience opens people’s eyes to the industry. Sometimes, it pays to gain a little time to yourself, flexibility and overall mental balance.

What are the best ways that employers could help support a healthy work-life balance for you?

Just FYI

VIM for the win

VIM beats all other editors by a landslide. Fans say its powerful keyboard commands are a crucial component of why it’s loved by developers everywhere.

VIM or Emacs?

 

Founders are 3x more likely to have coded before 10

15% of founders began coding before they were 11 vs. 5% of those in other roles.

Began coding at age 5 to 10

Appendix

Tune in with HackerRank

We just launched a new podcast! Introducing HackerRank Radio, a podcast for engineering leaders interested in learning the latest solutions to solve one of developers’ toughest problems today: Hiring the right developers.



Want to discuss the findings? Join the conversation at /r/programming.

 

Methodology

HackerRank conducted a study of developers to identify trends in developer education, skills and hiring practices. A total of 39,441 professional and student developers completed the online survey from October 16 to November 1, 2017. The survey was hosted by SurveyMonkey and HackerRank recruited respondents via email from their community of 3.2 million members and through social media sites.

Tests of significant differences were conducted at the .01 level (99% probability that the difference is real, not by chance). Percentages may not always add to 100% due to rounding.