
It was possible to touch the results of the study HackerRank 2018 Developer Skills Report, based on a survey of more than 39,000 developers from around the world. Under the cut a brief retelling of what is worth learning and what to look for, if you suddenly want the matrix to take you once to your digital world of the future.
Training and education
Every fourth developer who took part in the
HackerRank study began coding long before he was officially allowed by law to drive a car.
')
It is never too early or too late to start programming. Of the approximately 39,000 developers surveyed at all professional levels, more than a quarter wrote their first piece of code before they turned 16 years old.
Meanwhile, of all the developers who started coding after 26 years, 36% are now senior or even higher-level developers who are rapidly growing in their careers.

The PC revolution aroused unique ambitions among the children of the 70s. Unlike subsequent generations, if the children of the seventies wanted to see innovative technologies, they would have to create them themselves - they had no other choice. There were no widely available resources to teach them how to create software. Almost half of all developers (47%) between the ages of 45 and 54 began to code up to 16 years. Meanwhile, developers between 18 and 24 are by far the least likely to start coding up to 16 (only 20%).
Developers between the ages of 45 and 54 were among the first to get into their own hands relatively powerful PCs, such as Acorn Archimedes, TRS-80, Commodore 64, and Apple II. With limited access to formal education, the young people who participated in the PC revolution had an unusually strong desire to learn how to program independently.

The UK can boast of leadership in the issue of educating young coders. Of the 17 countries represented in the survey, the birthplace of Sherlock Holmes and football stands out for the highest proportion of young developers who began coding between the ages of 5 and 10 years. There is a very reasonable explanation for this. England became the first country to modernize its curriculum in such a way that now children under 5 years of age are required to attend programming classes.
The government has repeatedly referred to the fact that early acquaintance with coding is an important step in creating a gateway to a career in software and an understanding of the principles of computational thinking and software that affects daily life.
Study, study and study again!It seems that annually there is a new programming language, framework or library that is distributed on the blogs of developers. Self-education is the norm for developers of all ages. Despite the fact that 67% of developers have academic degrees, about 74% said that they are at least partially self-taught.
On average, developers know 4 programming languages and want to learn another 4. The thirst for learning varies depending on the generation — young developers from 18 to 24 plan to learn 6 languages, while people over 35 plan to learn only 3.
Since programming is focused on independent research aimed at solving new problems, self-education is an important part of a successful developer. When choosing what to study further, the best guiding principle is to plant yourself in one discipline and study the tools as a means to grow. Tools will always change. Ultimately, this is curiosity and genuine interest in programs that should stimulate the desire to learn new tools and adapt to the changing technology landscape.

The new generation of self-study instead of books prefers YouTube. Developers appreciate the step-by-step advice from colleagues who came, saw, and overcame their tasks.
The very nature of learning is changing. Young generations flock to YouTube, while older generations prefer books to learn new skills.
Both have unique advantages. YouTube provides a systematic learning paradigm, allowing you to get structured, steady progress by mimicking university curricula, with the difference that you can do it at your own pace. Another advantage is adaptability. While YouTube may offer you an endless stream of flexible software advances, tutorials are a kind of perpetual relic of CS fundamentals. In any case, it is clear that we are on the threshold of the evolution of education.
Developers learn the languages that employers are looking forAlthough new languages often arise, the most important thing for developers is to master the main languages, including obsolete languages. By and large, the most common requirements of employers today are: JavaScript, Java, Python, C ++ and C.

If we compare the languages most used by employers with the most common languages that developers know, then there is no gap. Java, JavaScript, C and C ++, and Python all top the list of languages that developers know.
There are slight differences in the most requested languages by industry. Java, for example, has been popular in the financial services world for many years. C dominates hardware due to its performance, direct low-level hardware API and compiler availability on many platforms. And C # is more common among government organizations.
JavaScript drives!JavaScript is the only language that is universal enough to create frontend, backend, mobile and browser extensions. Therefore, JavaScript controls the Internet. Most often, employers need developers who know AngularJS, Node.JS and React.

By the way, these 3 frameworks also have the biggest gap between what developers know and what employers want. React has the biggest difference between the percentage of developers who know the structure, and the percentage of employers who are looking for candidates with this skill set. In other words, today, developers have a great opportunity to learn how to respond to market demand and pump exactly the skills companies need.
Skills and skills demanded by employers
Problem solving skills are almost unanimously the most important qualifications that employers are looking for ... more than knowledge of programming languages, debugging and system design. Demonstrating computational thinking and the ability to solve large, complex problems is just as valuable (if not more) than the basic technical skills needed to work.

What you really know how to do is more important than what is reflected in your resume. There is a popular belief that recruiters hunt for diplomas of prestigious universities. But in reality they are looking at what you really did, and not at where and how you went to school. The vast majority of hiring managers said that they are looking for proven and confirmed results of your work, facts confirming your many years of experience and projects / GitHub. Regardless of the size of the company, 9 out of 10 hiring managers say that previous experience and years of experience — both indicators of qualification — are among the most popular qualifications. By the way, your practical skills are more meaningful for small companies. Small firms attach greater importance to your project portfolio: 80% vs. 66% for large companies.
Qualifications, which usually support a resume (prestige degree, level of education, approval of skills or certificates), occupy the lowest place among the fact that companies are most concerned. These factors do not indicate proven qualifications. The only qualification with the highest rating that can be easily seen from the resume is “years of experience”, since work experience and portfolio are sometimes correlated with this qualifier. Because it is more difficult to revise individual portfolios on a scale, long-term experience is an alternative, resume-based signal for proven skill, although this completely neglects the high performers who quickly grew in their roles.

Companies look at GitHub and projects to complete resumes and better assess skills. When the data on the roles were filtered out in the study, it turned out that those who occupy level C posts, including founders, CTO and VP, value GitHub projects more than many years of experience. The prestige of academic degrees fell even more in importance for these people.
When developers meet with C-level people, there is more time to assess proven skills based on projects, previous work and portfolio.
Developers flock to languages that have become popular with technology giants.When the study analyzed the languages with the largest gap between what developers do not know and what they want to learn further: Go, Kotlin, Rust, Scala and Swift ranked highest. There is a clear trend of individual developers following the example of the technology giants of Silicon Valley.
Love forever!JavaScript may be the most popular language among employers, but Python conquers developers of all ages, according to our index of love and hate. Python is also the most popular language that developers want to learn in general, and much of it already knows.

Python is renowned for its simplicity, readability, and rich scientific libraries. It also grows as part of introductory computer science courses.
There is an unusual trend of generations among new languages: young developers do not like new languages (for example, Go, Kotlin and Scala) more than old developers. In fact, Go creates one of the biggest breaks. Developers aged 18-24 don't care about this, but 45-54-year-olds consider it one of their favorite languages. The reverse is true of javascript.
Node.js - new and very favoriteNode.js wins as the most favorite framework with the largest share of developers. As the only method for backend JavaScript, Node.js taxis. As for the front-end frameworks, AngularJS and React are in fashion. But it turns out this love is most common among the younger generation.

Attracting talent
Assessment of skills is the biggest problem of hiring, more than a lack of talent.
According to more than 7,000 employers, resumes are still the most common way to evaluate developers today. The study showed that 81% of hiring managers used a resume as a first step in the selection process.
When asked what the biggest problem was, the same hiring managers said that skills assessment is their number one problem, not their lack of talent. Meanwhile, only 55% of developers said that resumes are a good reflection of their abilities.
Work-life balanceIf you look at any description of a technical vacancy, there HR is usually allocated a technical stack, information about the mission, tasks, compensation and other benefits. In other words, all to encourage the developer to respond to the vacancy. However, as the study shows, it is worth concentrating on other things.
Number one in the developers' "hints" is a strong guideline between work and personal life. People rated the balance between work and personal life as the most desirable feature. Slightly more than professional growth and training, ranked second. More specifically, Americans crave a balance between work and personal life more than developers in other regions, such as Asia and Europe.
The balance between work and personal life is most important for developers 25 years and older, and it is not surprising that this criterion is less important for developers between 18 and 24.
Flexible work scheduleIt is clear that the balance between work and personal life can mean completely different things to different people. That is why the researchers went deep into the topic of what the developers really want.
By and large, the balance between work and personal life can be maintained flexible hours - schedules from 10 am to 8 pm are common.
Developers want to work for managers who are focused on results, not on time spent in an office chair. And remote options are also helpful. Distant work is a particularly strong desire for developers 25 and older, and people between 25 - 44 are strong supporters of closing emails after hours.
Professional growth is important for students.Professional growth rises to the first place, which students are looking for work, and compensation also drops significantly from the 3rd for professionals to the 7th position for students. The balance between work and personal life is still important for students, although it falls from the first to the second.
Students strive to learn and realize their potential, so at this point in their careers, priority is given to the balance between work and life.
Meanwhile, the desire of professionals to compensate for the balance between work and personal life shows how practical experience opens people's eyes to the industry. Sometimes it is worthwhile to devote some time to yourself, flexibility and general mental balance.
MethodologyHackerRank conducted a developer survey to identify trends in hiring education, skills, and practices. In total, 39,441 professional and student developers took part in the survey. The survey was organized by SurveyMonkey and HackerRank, who e-mailed respondents through professional communities on social networks with more than 3.2 million members.