The industry should choose the blockchain, and the language should choose Go? 2020 Software Engineer Career Guide

Knowing the past can see the future. In order to enable everyone to get better salary and development in 2020, we have specially compiled the “State of the Software Engineer Industry 2019” survey report released by Hired, which reveals the job positions of programmers worldwide. Demands and trends in key skills such as programming languages, technical learning, and employers' demands and compensation for software engineer skills worldwide.

The past decade has proven that innovation can evolve and change our way of life at an incredible rate. Looking ahead, technologies such as machine learning and blockchain have opened a new chapter in innovation. Because developers are at the forefront of development and the backbone of this change, it's no wonder that executives say that developing talent is more valuable than money.

The Hired report delves into more than 700 developer groups, including top-level skills by market, major programming languages, and workplace preferences. It also provides insight into which programming languages ​​engineers prefer, how they learn, and What do you like and dislike about your job?

1.Blockchain engineer has become the hottest job

Hiring developers is a top priority for companies, but not all roles are equal. With the introduction of new technology application methods by start-ups, large enterprises will continue to seek digital transformation, so the employment needs of all companies that want to recruit top technical talent will continue to grow.

Hired market data from Hired shows that the global demand for blockchain engineers is soaring, an increase of 517% year-on-year. For developers interested in the role of blockchain, don't be confused by the job title. For engineers who are proficient in blockchain, they usually also meet the positions of back-end engineer, system engineer or solution architect, and blockchain is listed as the skills required for these positions. The demand for blockchain developers has exploded in the past 12 months, and we expect that as companies begin implementing their countless use cases, from digital identity to smart contracts, to labor management and distributed data storage, These demands will continue to grow.

Engineers with security expertise are also highly sought after, possibly due to the increasing number of data breaches and growing consumer concerns about privacy. Over the past 12 months, the demand for security engineers has increased by 132%. As companies invest more, drive business results through data, and focus on creating personalized and predictive customer experiences, the demand for talent specializing in data analytics and machine learning is rising. The demand for engineers with these skills has grown by 38% and 27%, respectively.

Demand for engineer jobs

1581215143551

To illustrate Hired's overall growth, all growth data has been normalized.

Salary situation: blockchain engineers have the highest salary

As demand increases, so will salaries. Among the large-scale technology centers we analyzed, blockchain engineers have the highest salary, ranking among the top three. In the San Francisco Bay Area, the average income of blockchain engineers is $ 155,000; in London, their average income is $ 89,000. It's worth noting that technology companies outside the United States typically receive much lower pay due to different pay standards and competitive environments. However, we are seeing a positive trend: For example, in London, our 2018 Salary Report found that the salaries of technicians are generally on the rise; specifically, data from blockchain engineers in London show Earnings are still much higher than their peers in different professions. Outside New York, compensation for security engineers and machine learning engineers is also among the best.

Below we will list the salary data of software engineers in key technology centers in different cities. You will find that the demand for talents varies from city to city. For example, game development engineers are the highest paid group in New York, with an average annual salary of $ 147,000, while their pay in other cities is lower. In Toronto, natural language processing engineers' salaries have skyrocketed, with an average annual salary of $ 83,000.

2. Salary of top software engineer

In order to accurately understand the salary of the engineer position, we have broken down the data of each city.

New York engineer salary situation:

1581215173948

San Francisco Bay Area Engineer Salary:

1581215196306

Toronto engineer salary situation:

1581215267149

Salary of engineers in London:

1581215353518

Salary of engineers in Paris:

1581215377428

3.Go becomes the most popular programming language

It's no secret that developers have their own opinions on their favorite and most hated programming languages. For some, however, there may be a secret: companies also have their own preferences.

Our data shows that job seekers with Go experience are the most popular. This may be because Go is designed by Google, which increases the opportunities for job developers developed by Go to work at Google. However, when we investigate what programming languages ​​developers actually use, Go is not at the forefront, with only 7% claiming that they primarily use the Go programming language. Scala, Ruby, TypeScript, and Kotlin have similar trends, all ranking in the top five, but less familiar among developers. This scarcity may drive demand, and this trend may continue until these programming languages ​​become common programming languages ​​in the developer community.

JavaScript ranks among the top languages ​​used by developers, at 62%, which makes TypeScript particularly interesting: it is a superset of JavaScript (and easier to learn for JavaScript programmers), but only 12% People use TypeScript, although it is the fourth most popular programming language in the world. This gives developers who are already familiar with JavaScript the opportunity to learn TypeScript and is more attractive to companies looking to hire developers.

The data below analyzes the correlation between job applicants' experience with a particular programming language and the company's interest in interviewing their job candidates. It pays special attention to the number of interview requests that software engineers receive during Hired's job search (average 2-6 weeks).

The world's most popular programming language

The following is a list of the number of interviews received by job applicants during the job search period (average 2-6 weeks).

1581215459485

It's worth noting that in the San Francisco Bay Area, Toronto, and London, the data shows another story: TypeScript is ahead of Go, Scala, and Ruby as the most popular programming languages ​​in these markets. New York employers like Ruby the most. However, R is the programming language with the lowest demand in all markets.

Which programming language is mainly used?

1581215489907

Only 7% of developers use Go, but job seekers with Go programming experience may end up getting interviews.

Popular programming languages ​​and years of work experience

In order to further analyze the requirements of programming languages, we studied how the requirements are affected based on many years of professional experience. We found that among those who have several years of work experience, Ruby's demand is particularly strong: in the current recruitment market, job seekers who are familiar with Ruby and have more than 6 years of work experience receive almost the market Double the number of other job seekers with more than 6 years of work experience. Among job seekers with 4 years or less of work experience, those who are familiar with TypeScript and Go (designed by Google) have the most demand.

4-5 years work experience:

1581215625567

6-10 years work experience:

1581215715685

More than 10 years of work experience:

1581215734614

Developer's favorite (most hated) programming language

Obviously, employers' needs for some skills are stronger than others, but this is only part of it. Regardless of requirements, there are always some programming languages ​​that developers like best. In order to understand how the developer community feels about using these languages, we ask them to weigh up which programming languages ​​they really like and which programming languages ​​they don't like. The most important thing is why they like it and why they don't like it.

We learned that Python and JavaScript are far ahead, with 51% of developers claiming that Python is one of their favorite languages; JavaScript is close behind: 49%. We also found that for Java, developers either like it or hate it: it is both the third most popular programming language and at the same time the second most hated programming language. And PHP is the number one programming language at 20%.

What makes developers use a particular programming language? The nature of the developer community: 74% of people think that development resources are one of the main reasons they love programming languages, while 58% think that the community atmosphere and willingness to welcome new people are their priorities.

Favorite programming language

1581215766041

Most hated programming language

1581215785836

Likes and dislikes of programming languages

1581215808628

4. Decrypt the interview process

Before getting a job offer, developers must successfully pass a series of coding exams, whiteboard interviews, and behavioral interviews. What do they think of these interview methods? In short, only about half (54%) of developers strongly agree and agree that coding exams have effectively tested their abilities, and more than half (63%) of developers consider them irrelevant to actual work.

In a series of possible tests, they didn't sweat hard because of the behavioral interview, only 21% said it was the most stressful part of the interview process. But coding exams and whiteboard interviews are another matter. We found that 63% of developers believe that coding exams are the most stressful part of the interview process, and 59% of developers believe that whiteboard interviews bring the most stress.

Which interview method is the most stressful?

1581215830416

What do you think of the coding exam?

1581215848520

Red: They have nothing to do with daily work. Lan: They are an effective way to test the ability of candidates.

All percentages here are based on respondents' responses "strongly agree" or "agree".

What technology or skill are you most interested in?

1581215864992

What are your goals for the next ten years?

1581215888536

5. Reveal developer's work style

Teamwork makes dreams come true, at least as developers think. Survey data shows that software engineers are interested in pair programming, which is a development method in which two programmers work together on a workstation. In fact, 48% said they would increase their interest in working in the company if they offered pair programming.

Developers have also seen the obvious benefits of pair programming. Nearly half of developers think pair programming is more effective because it helps catch bugs during development. This is particularly useful for junior team members: 42% of respondents believe that pair programming is good for junior engineers, but not meaningful to experienced people. Although 40% of respondents believe that more companies should implement this approach, companies are still addressing these issues. One in five respondents believes that pair programming is malicious and allows one person to do all the work, while 14% of respondents believe that pair programming can allow unqualified developers to flood with help from partners.

Does pair programming affect your passion for work?

1581215934708

Have you or your teammates been involved in cross-team collaboration?

1581215968812

Although engineers don't mind working with each other, working with cross-functional teams is not their favorite. A quarter (26%) said that sales were the most challenging, followed by marketing (23%), human resources (20%), finance (15%), products (11%), and design (9 %).

6. Views on open source

The open source community is known for its loyalty, but the number of regular contributors is less than you think. Survey data shows that only 9% of respondents often contribute to open source, and 53% of respondents have never contributed to open source before.

The lack of open source participation may be due to a key driver of open source: 30% of developers say that they contribute to open source because it is fun. Given their heavy work schedules, developers may not have enough time to do "for fun" things, because these things do not necessarily help their daily work.

The extent to which companies are involved in open source does not affect the interest of developers working for these companies, and 50% of respondents said that it would not affect their decisions at all. Having said that, 43% of developers say they are indeed more willing to work for companies that contribute to open source projects, although this is not a big deal. As companies seek differentiation in today's highly competitive recruitment environment, their participation in open source projects may be an opportunity to attract top talent who value an organization that prioritizes time for their teams to Participate in a way that adds value to the developer community.

Have you ever contributed to open source software?

1581215995888

What is the main motivation for contributing to open source software?

1581216010940

Likes and dislikes of developers

63% of the respondents said that they would rather finish work early and not sleep or stay up late.

38% of respondents said their biggest grievance was an unrealistic deadline.

Source 丨 Author of InfoQ丨 Translator of Hired official website 丨 Sambodhi

Original link: https://hired.com/page/state-of-software-engineers/key-takeaways/