This eye candy slideshow will blow your mind, start here:

Updated for 2020!

Software development evolves super-fast.

A tool or framework used today might be obsolete tomorrow. Our intention is to take a snapshot of the industry, track how it evolved in the past and make an educated guess as to where it’s headed.

To better understand these changes and to uncover the biggest challenges and best practices, we started publishing the State of Software Development Report back in 2018.

The report gives you the fresh data you need to benchmark your activities against survey participants. You get insights to further improve your developer team and to keep up with the rapidly changing industry. Plus, you get to compare the new data to previous years.

This post highlights 20+ interesting stats from the report. The full state of software development 2018, 2019 and 2020 reports contain even more fascinating insights about the software development landscape.

You can download the full reports for free here:

Note: if you can’t read the charts, download them here.

Contents

I. Managing Software Development

II. Outsourcing Software Development

III. Remote Work

IV. Tools and Tech Trends

V. Hiring and Retaining Developers

VI. Engineering Performance Management

VII. Conclusion + Partners

Managing software development

In 2020, the #1 challenge turned out to be capacity ahead of sharing knowledge by a considerable margin. So, keeping up with the demands and managing the backlog is the biggest issue in software development across the board, much like last year.

Software Development Challenge

We also asked everyone what they have done to overcome their challenges.

Capacity

The most common answer was implementing agile methods and improving on existing practices. SCRUM is the popular choice for improving planning, or any other moving part along the way.

Hiring more developers is another top choice. More people can get more things done, and both recruiting developers for your own team or outsourcing to contractors is a common occurrence.

My favorite answer for this was “quit my job.” It may seem extreme at first, but if your company doesn’t adapt to the challenges, it’s a perfectly sensible solution for you.

Sharing knowledge

The most popular thing people are doing in 2020 to make sharing knowledge easier is using wikis and documentation.

Pair programming and code reviews are still common ways to share knowledge between developers.

We also checked the difference between the challenges for developers and managers.

Here's what we found:

Developer Manager Challenges

Managers

Engineering Manager Challenges 2020

The top challenge for managers is capacity, followed by hiring talent. It hasn’t changed over the last 3 years, but there seems to be a trend where the top challenges are evening out.

Developers

Developer Challenges 2020

For developers, the main challenge is sharing knowledge, which is the same as last year. In 2018, developers were more concerned about capacity issues, but it took a steady second spot again in 2020.

It comes as no surprise that developers are far less concerned about hiring, but there is a significant disparity in how many of them named time management as a key challenge. Apparently, it’s a more important issue for individual contributors to make the necessary time for heads-down work.

Outsourcing Software Development

Outsourcing development is a popular way of handling the capacity challenges mentioned above.

Outsourcing Software Development 2020

The data supports the answers we received above: a significant percentage of companies outsourced development to contractors in the last 12 months.

Outsourcing Software Development Satisfaction 2020

And most of them were happy with the results: only 17.17% said they were specifically dissatisfied with the work they outsourced.

Remote work

Remote work isn’t the future anymore; in 2020, it’s very much the present.

It’s allowed at most tech companies in some way by this year.

Remote Work Trend 2020

However, the trends clearly show that more companies plan on implementing remote work, and overall, they’re more open to the idea now than they were just a few years ago.

Remote Work Plans 2020

Tools and tech trends

Programming languages

One of the most exciting parts of the State of Software Development Report is seeing how programming languages climb, rise and fall.

Sos 20 Blog Post 18

JavaScript is still head and shoulders above everything else at 59.08%, but the trends are shifting down the grid.

Java lost some ground (34.96% -> 29.04%), but still holds on to second place.

However, TypeScript made an incredible leap forward (15.83% -> 26.32%) and took third place, while getting very close to second. It’s basically a superset of JavaScript, but as TS gains ground, JS doesn’t seem to be declining at all.

Python and C# are head to head at 23.89% and 23.75% respectively, and both lost a spot to TypeScript.

Among the less widely used languages, Swift and Ruby have been losing ground over the last few years.

This is for right now, and we also asked about future plans for programming languages.

Sos 20 Blog Post 19

Over 35% don't plan on adding any new language to the repertoire.

Beyond that, Python is the most considered language of 2020, as it was in the previous years.

TypeScript gained ground on this chart as well; many have started using it since 2019, and more are considering it.

On the other hand, Go lost some interest, but it’s still among the top most considered languages.

Among the smaller languages, Rust is getting more and more consideration, while Scala and Ruby have lost a significant amount of interest since 2019.

Tools

Developer teams use a wide variety of tools, which makes it hard to present them on a chart. There are a few industry-leading tools, followed by a plethora of less widespread tools forming a long tail.

If you look at the chart, you will see that the “other” category tends to be higher than anything but the most popular choices. This is a merged category collecting all the longtail tools that were mentioned just a few times by the respondents.

Here are the most popular project management, communication, and SCM tools.

Engineering Communication Tools 2020

A notable change in communication tools is Microsoft Teams (5.61% -> 16.74%) and Zoom (2.3% -> 13.16%) making a massive step forward. It’s likely a direct result of remote work gaining more popularity.

Source Control Tools 2020

Hiring and retaining developers

Hiring developers is a critical challenge for managers; it’s currently the #2 challenge, and it has a solid place near the top every year.

This chapter sheds some light on the hiring practices of tech companies, including hiring criteria, and the most popular methods for attracting and motivating talents.

Recruiting Developers 2020

Over the last few years, the most effective hiring methods haven’t changed. Employee referrals and in-house recruiters are the most popular ways to hire talent.

There is a notable change, however: recruitment agencies and online HR portals are gaining ground and becoming more popular ways of recruiting engineers.

Let’s take a look at the most important requirements against developer candidates.

Developer Hiring Criterias 2020

The top 4 criteria haven’t changed over the last years.

The willingness to learn is still the most essential trait tech companies are looking for. Cultural fit took second place in 2020 with a marginal gain; technical skill evaluation is third, followed by work experience, which seems to have lost some weight this year.

The most interesting trend is seeing that soft skills are becoming a key factor in evaluating engineers. It seems like the archetype of the 10X engineer is slowly being devalued, and soft skills have taken on a bigger role when hiring engineers.

Formal education is still low on the list; great developers are forged on the job, not in class.

Retaining developers while talent is scarce in the industry is another challenge many managers face. Here are the most popular methods to motivate developers in 2020.

Motivate Developers 2020

The landscape is largely the same as it was in 2019: team spirit and engaging work is in the lead.

Trainings even fell back a bit in popularity, while career path and stock options haven’t moved up for 2020.

This year, we also compared top performers against average performers in this metric, and that slightly changed the picture.

Motivate Developers Top Average 2020

Challenging work takes the lead among top performers, with team spirit sliding back to second place. They put slightly more emphasis on autonomy and significantly more on creating an exciting product.

Performance management

Let’s look for more differences between top and average performer developer teams. First thing’s first:

How do software teams measure performance?

Engineering Performance Metrics 2020

As you can tell, the #1 measurement for top performers is working software, and completed tasks only come in second. The difference between top and average performers in this is small but not trivial.

However, top performers put far more emphasis on code readability and test coverage. The results seem conclusive: it’s worth putting more effort into delivering high-quality code.

Cause of delivery problems

We took a look at the delivery problems and at the differences in problems between top and average performer developer teams.

Engineering Delivery Issues Top Average 2020

Top performers have the most problems with the lack of clearly defined deliverables and with making correct estimations.

For average performers, the biggest delivery problem is unrealistic expectations followed by the same two issues as the top performers have. They’re also more likely to face issues with missing key skills on the team or failing to coordinate with outside teams. Budget is less likely to be a problem for them.

Delivery Problems Developers Managers 2020

When looking at delivery problems in terms of managers and developers, developers face the lack of clearly defined deliverables and the ever-changing landscape far more often.

Managers mostly face the problems of unrealistic expectations, estimation and requirements prioritization.

Conclusion

This blog post featured just a small slice of all the data we gathered from our survey.

We’re excited to keep publishing this report annually and seeing how the continuously emerging trends shape the industry as a whole over the years.

If you want to see the full report, just follow this link and download it.

Our Partners:

What You Should Do Now

👉 If you are serious about becoming a great engineering manager, you should subscribe to our newsletter or download the state of software development 2020 report. 

🚀 If you need developer help for your project then click here for a FREE consultation.

About the author:

Gabor Zold is a content marketer and tech writer, focusing on software development technologies and engineering management. He has extensive knowledge about engineering management-related topics and has been doing interviews with accomplished tech leaders for years. He is the audio wizard of the Level-up Engineering podcast.