Skills, tools, requirements - HackerRank large-scale research on the developer market 2018

Original author: HackerRank
  • Transfer

HackerRank provided interesting analytics this month based on a survey of 39,441 developers. The survey raises many relevant questions about the state of the IT market, the sought-after qualities among developers and what programmers are looking for among potential employers. The report was interesting, many may be useful.

Under the cut a lot of pictures.

1. Prologue

Hello world

In the future, the way we all work will change. Whoever you work for, it is important for everyone to learn programming, because it is it that develops computational thinking (or computational thinking ), which plays an important role in decision making. Ordinary resumes will be a thing of the past and their skills will come to the fore in matters of hiring new employees.

We launched HackerRank at the end of 2012 to help developers find work that they like. Over the years, we have grown rapidly - now in our community 3.2 million people and 2% of all new developer hires last year were made with our help.

And now for the first time we conducted a survey among our developer community to understand how exactly they work and how they learned this: when they first put the code into the repository, how they learned to code, asked about their favorite programming languages ​​and frameworks, found out what they want from employers. We also asked HR managers what exactly they are looking for in candidates for developer positions and much more. We interviewed 39,441 people and are ready to share the knowledge that we got as a result.

Did you know that 1 out of 4 developers learned to code before getting a driver’s license?

We hope that our report will be useful to you.

Vivek Ravinskar, Co-founder / CEO HackerRank

Table of contents

  1. Prologue
  2. Training and education
  3. The most popular languages ​​and frameworks
  4. The most sought after skills
  5. Development Tools
  6. How to hire a good developer
  7. Interesting Facts
  8. Research methodology

2. Training and education

1 out of 4 developers learned how to code before getting a driver’s license

It can't be too soon - or too late! - to learn how to code. Almost a quarter (of the 39,000 developers surveyed from around the world) wrote the first lines of code before they turned 16 years old.

At the same time, out of 5.2% of those developers who started programming after 26 years, 36% now work in senior developer positions and above.

The advent of affordable home PCs greatly motivated 70s kids to learn how to code.

Until the 70s, there was simply no way to teach young people how to program - unlike the children of subsequent generations. If the guys of the first generation of home PCs wanted to do something innovative, they had to do it on their own. Therefore, 47% of all developers between the ages of 45 and 54 started coding before they turned 16. But developers between the ages of 18 and 24 learn to program later on average - only 20% start before 16.

In youth, developers of the " 45 to 54 ”were among the first to work with the first home PCs such as Acorn Archimedes, TRS-80, Commodore 64, and Apple II. Therefore (since it was unavailable to study as a programmer for some reason, or there was no place at all), young people with their first home PCs showed a strong desire to learn how to code independently.

Great Britain motivates kids to learn programming

Of the 17 countries that represent at least 100 developers in the study, the UK has the largest percentage of those who started coding from 5 to 10 years. Most of these developers are now over 30, or even over 40.

When these developers were still in school, the Acorn Archimedes series computers were developed and released in Cambridge. Thanks to Tesco's Computers to Schools supermarket program, where shoppers at these supermarkets could donate to schools for instructional PCs, a large number of students have access to computers that are unique to those years.

Nowadays, British children are one of the first to have programming in the school curriculum since 5 years old.

Politicians often repeat that the sooner children begin to program, the sooner they take the first steps to a career in development and the better they understand the principles of computational thinking and how different software affects their daily lives.

Almost all developers are drawn to self-education

It seems that every year a new language, framework or library appears, which all blogs start to buzz about development - just yesterday everyone talked about Backbone.js, and today AngularJS and React are already in fashion. Therefore, self-education is a common thing for developers of any age.

Despite the fact that 67% of respondents have a university degree in computer science, approximately 74% said they were at least partially self-taught.

On average, developers know 4 programming languages ​​and want to learn 4 more. The thirst for new knowledge varies slightly with age: young developers (18 to 24 years old) plan to learn 6 new languages, and 35+ developers 3 new languages.

Since programming is based on independent research aimed at solving various problems, self-education is an important part of what makes a developer successful. When a developer chooses what to learn, it is best to settle in a specific subject area and study various tools to grow in it. Tools are constantly changing, so interest in programming should be fueled by curiosity and a sincere desire to develop and adapt to the existing needs of the technological environment.

Young people study on YouTube, not textbooks

Not surprisingly, the number one platform for self-taught people of any age is Stack Overflow. Developers appreciate the advice of other developers who have already found solutions to their concerns and share step-by-step instructions for a specific solution.

The second place was shared by programming books and YouTube, moreover, older people choose books, and younger ones choose videos, because for different generations effective ways of learning may differ. 65% of millennials (born in the 80s and 90s) choose YouTube, 85% of Generation X representatives (born in the 60s and 80s) choose books.

Each of these methods has its advantages. YouTube allows you to build and organize a training scheme no worse than at a university, but to study at your own, comfortable pace. Another advantage of the training videos on YouTube is relevance, because they quickly keep up with new technologies, and a new tutorial can be recorded in a day. At the same time, textbooks help to familiarize oneself with fundamental knowledge better.

Whatever teaching method you choose, one thing is clear - we are on the verge of a powerful leap in the development of programming training.

3. The most popular languages ​​and frameworks

Developers learn the programming languages ​​that potential employers need.

Despite the fact that new programming languages ​​are constantly appearing, it is important for developers to be confident in basic, well-established languages. At the moment, the most requested languages ​​by employers are JavaScript, Java, Python, C ++ and C.

There is no difference between the languages ​​that potential employers need and the languages ​​that developers know - most of the developers told us that they know Java, JavaScript , C and C ++ and Python.

The level of demand for the language varies depending on the scope of the company that wants to hire a developer. For example, Java has dominated the financial sector for many years. C programmers are hired by companies that make hardware because of direct access to the low-level API and the availability of compilers for many platforms. And various government organizations are hiring developers who own C #.

Demand for knowledge of JavaScript frameworks above supply

Typically, programming languages ​​do not become popular once they are developed, but JavaScript frameworks make a big difference. JavaScript frameworks are so in demand because, thanks to them, JS is applicable both in the frontend, in the backend, and in mobile development, and for the development of extensions for browsers. JavaScript now rules the web, and the most requested frameworks are AngularJS, Node.js, and React.

It is in these three frameworks that there is the greatest gap between the demand for employers and the ownership of the framework for developers. React comes first - this framework is needed by 33% of companies, but only 19% of developers know it. In other words, now is a great moment for developers to start learning React, because it is well in demand in the market.

Such gaps between supply and demand may appear because the JavaScipt ecosystem is rapidly changing and evolving.

4. The most requested skills

Problem solving is the most important developer skill that almost all employers are looking for.

The ability to solve problems is the most important skill for potential employers of a programmer, more important than knowledge of programming languages, debugging bugs and system architecture. That is, the use of computational thinking, the ability to solve large and complex tasks, is almost more important in the work of a programmer, in fact, necessary for the work of technical skills.

There is a slight difference in what large companies and smaller companies are looking for in developers. For example, for small companies, the knowledge of framework developers is a bit more important than for large and medium-sized ones.

Most likely, this difference appears because it is important for startups to quickly update the code, and frameworks help to do this.

Practical experience is more important than a beautiful resume

There is a misconception that companies are more likely to take on the post of graduate with a diploma in technical specialty, and even more prestigious from the university. In fact, what’s achieved is more important for Heychars than for where you studied. Most of the HR managers interviewed said that they primarily look at evidence that the developer applied his skills - where they worked, what experience they had, whether they had their own projects, and whether their code on GitHub could be viewed.

9 out of 10 eycharov said that the most important thing for them was their previous experience and experience as a developer.

What a strong resume is usually based on (education, academic degrees, certificates of additional training) is in the last places among what worries eycharov, because this is not proof that the developer has practical experience. The only real indicator of skills in a resume is precisely the experience, since it is with practical experience that skill grows. It is impossible to carefully consider the whole huge amount of resumes, so if HR looks at something, it’s for years of experience - which can interfere with talented developers who are growing very fast in their careers.

GitHub personal projects and portfolios are important for company executives

In addition to the usual resume, employers want to see developers personal projects and code on GitHub in order to be able to better assess their skills. When we sorted the data from employers by the positions of respondents, we saw that for top management, including founders, technical directors and vice presidents of companies, a portfolio on GitHub is more important than experience. For them, having higher education is even less important than eychars.

Most likely this happens because when a developer reaches the level of company management during the hiring process, items important for resumes are no longer important. Most often, recruiters or other employees involved in the hiring process have already checked everything - and for top managers, it is most important to see the code in action: personal projects, previous experience and portfolio.

5. Development Tools

Developers are interested in programming languages ​​that have made large technology companies popular.

When we looked at the difference between the demand for specific programming languages ​​and the offer from developers with knowledge of these languages, among the most popular, but unpopular languages ​​were Go, Kotlin, Rust, Scala, and Swift (for the sake of justice, Go is going to learn more candidates than that Swift). But the developers plan to learn them, following the trend set by Silicon Valley companies.

The Go language developed by Google offers developers support for simultaneous work, speed of compilation, and, of course, ample opportunities for support from its creators. Google also popularized the Kotlin language when they moved away from the already familiar Java Android development.

Twitter drew attention to the easily scalable Scala when they outgrew Ruby on Rails and started looking for a more effective and cost-effective alternative. And finally, when Apple switched from Objective-C to Swift, developers had to adapt to this.

Python comes first

So far, the most popular language among employers is Javascript, and the most favorite language among developers of any age group is Python, if you look at our “indicator of love and hate. Python is also the leader among the languages ​​that developers want to learn, and a significant proportion of those surveyed already know it.

The graph of language preference is built on an “indicator of love and hate.” To calculate it, we took% of developers who love the programming language / framework and subtracted from it% of developers who do not like it. So we appreciated the positive or negative attitude of developers towards languages ​​and frameworks. On the graph, 100% = very positive attitude, -100% = sharply negative attitude.

Python is famous for its simplicity, code readability and the wide availability of libraries for scientific research. It is also increasingly being included in introductory computer science courses.

We drew attention to an unusual trend that concerns younger languages: young developers do not like newer languages ​​(Go, Kotlin and Scala), and do not like them more than older developers. The biggest difference in the “love and hate indicator” by Go's age groups is that developers from 18 to 24 years of age do not pay much attention to it, and for developers from 45 to 54 it is one of the most favorite languages. But JavaScript is exactly the opposite - younger developers like it and ignore older people.

For us, this fact is especially interesting, because many new programming languages, including Go, include what developers have learned from older languages. One of the key creators of Go was involved in creating C decades ago.

However, we cannot deny that younger developers have an innate craving for knowledge. They are more willing than older developers to learn generally any programming language - even those that they don’t like. But older developers are more selective and prefer to choose languages ​​that they think will last a long time.

Node.js - hit of the season

The graph of language preference is built on an “indicator of love and hate.” To calculate it, we took% of developers who love the programming language / framework and subtracted from it% of developers who do not like it. So we appreciated the positive or negative attitude of developers towards languages ​​and frameworks. On the graph, 100% = very positive attitude, -100% = sharply negative attitude.

A large proportion of developers of all age groups told us that Node.js is their favorite framework - which is not surprising, because this is the only way to write a backend in JavaScript. Well, if we talk about frameworks for the frontend, then React and AngularJS win - but mostly among younger developers.

The developers of the 45-54 group did not rate React and AngularJS so highly - Vue.js. took the lead in this group We were not able to determine why the results are such, and we hope to receive additional feedback from the developers on Vue.js.

6. How to hire a good developer

A true assessment of skills is a big headache for Heychar than lack of staff

As we were told by more than 7 thousand employers, viewing a resume is still the most used way of selecting candidates for a developer position. 81% of HR managers review a resume at the first stage of selection.

When we asked what is the greatest difficulty in the selection process, most recruiters reported that this was an assessment of skills, and not a lack of personnel in the market. At the same time, only 55% of developers believe that resumes fully reflect their skills.

At the time, while the eychars still rely on resumes in the first stages of the selection of candidates, almost all respondents believe that assessing skills is the most difficult in the process of hiring programmers. This creates a mismatch between what skills companies are looking for and the tools they use to find such skills. Looking through a resume can serve as a barrier in hiring for HR, because often the real level of developer skills is impossible to understand only by resume. And they practically do not learn to use other methods.

The balance of work and personal life is more important than bonuses

Look at any vacancy of the developer - usually recruiters primarily write about the company's technological stack, the company's mission and various bonuses to attract developers. But all these things should not be in the first place if you want to hire a good developer.

The most important thing for developers is a good balance between work and personal life. For the developers surveyed, he was in first place, slightly ahead of the opportunity to grow professionally and learn new things. The balance is especially important for developers in the US - more than for developers in Europe and Asia.

Despite the fact that the balance between work and personal life turned out to be slightly less important for employees of small companies, he still ended up in the top three. And, not surprisingly, the balance is more important for developers from 25 years old and less important for developers from 18 to 24.

In general, there are no big differences in the values ​​of developers by country, except for a couple of exceptions. So for developers in Canada, salary is most important, and in Australia, corporate culture.

Developers want to work in a flexible schedule

We understand that for different people the phrase “balance of work and personal life” can mean different things, so we decided to clarify what they mean.

As we found out, employers can create a healthy balance of work and personal life by allowing developers to work in a free schedule - after all, many companies still work from 10 a.m. to 8 p.m.

Developers want to work in companies where they value the result, and not how many hours workers spend in the office. The ability to work remotely also helps create balance. Most of all, developers older than 25 years old want to work remotely, and the age group from 25 to 44 wants them to be able to not reply to mail after hours.

Professional growth is most important for students.

Professional development is the most important thing for development students, but the salary is in 7th place - while for successful professionals, salary rises to 3rd. The balance between work and personal life still plays a role for students and takes second place.

But developers at a student age want to learn more and reveal their potential, therefore it is not surprising that while they are young, for them it is less important.

At the same time, the fact that professionals value balance more than wages shows that with experience in the industry, people begin to appreciate such simple joys of life as a little time for themselves, mental health and freedom of action.

7. Interesting facts

With Vim - win!

Vim by a wide margin won among all code editors. Fans of Vim told us that they like to use it because of the convenience of entering commands.

From the interesting - the founders of companies start coding from 5 to 10 years three times more often than others

15% of the founders of companies started coding up to 11 years old - unlike 5% of people in other positions.

8. Research methodology

HackerRank conducted a study on developers to highlight trends in their education, skills and abilities, as well as in hiring practices for technical vacancies. 39,441 developers of different levels of experience were interviewed online, from October 16 to November 1, 2017. The survey was conducted using the SurveyMonkey service, developers were invited to participate through a mailing list of 3.2 million people and in social networks.

Tests of significant differences were conducted at a level of 0.01 (99% probability that the difference is real, not random). The percentages of the results may not always equal 100% when added due to rounding.

Also popular now: