This year Apiumhub partnered up with codignsans and other software related companies like: clutchgitkraken, Cooperpress, Level-up, Clockwise, VisionX, Code Climate, LingoHub, Usersnap and took part in a global software development research to find out how companies attract software developers, what are the most popular languages, what are the most frequent challenges, etc. We got more than 700 answers from different countries around the world and we really hope that you will find this report interesting. To get the full report with Interesting facts about software development, click here


Sneak peek: interesting facts about software development


And now, let’s look at some of the data from the report to get an idea of what to expect from this report. Let me highlight that in this article you won’t find a detailed explanation of each graph and question. It is just a sneak peek.

As we all know, software development is a fast-changing field. Almost every year we see new languages, software architectures, containers, methodologies, etc. A tool or language that is highly used today might be obsolete next year. This year our intention is to take a snapshot of the current state of software development and make conclusions about where it’s heading.

This report has different chapters, the first part of the report is about the challenges software teams are facing and the solutions they try to implement. In this part, you will also find the most popular programming languages and project management tools.
The second part of the report is about hiring and retaining challenges and solutions. is among the biggest challenges tech companies are facing. And the last chapter focuses on performance management. 

This is the third time we conduct the survey, therefore you will find interesting comparisons 2018 vs 2019 vs 2020 and see what has changed and how. 

To be honest, we are very excited to show you these interesting facts about software development in 2020. We hope you will like it!

Ok, let’s start!


Top interesting facts about software development


1. Challenges in software development

The biggest challenge tech companies are facing is related to capacity: delivering working software while the backlog is full and capacity is limited. This challenge is closely followed by knowledge sharing. If we compare it to the previous year, we will see that it stayed the same, last year companies has exactly the same challenges. 

Ok, the main challenges are clear, but what are the solutions? 

What do teams do to overcome the capacity challenge? The most popular solution is to hire more people, so more developers can get things done. After that comes implementing agile methods. And again the solutions are the same as last year. 

And what do teams do to solve the sharing knowledge problem? The most popular way is mentoring. Beyond that, pair programming and code reviews are the most obvious. You can also use brown bag lunches to move it into a less formal environment or company hackathons to sharpen up your developers while letting them have fun.

This is a bit different, last year companies were focused more on knowledge sharing sessions such as brown bag lunches, meetings, tech talks. Another method was through code reviews and by having internal wikis, documentation for a team that can be hosted on any team collaboration tool.

To see the graph and other solutions, click here.


2.Programming languages

What are the most used programming languages? And what languages will be used in the next 12 months? The answers are here:

Source: State of software development report


As we can see the most widely used programming language is JavaScript, 59.08%.
What is curious is that 35.05% of the respondents said they’re not planning to use any new programming languages in the upcoming 12 months.

software languages 2020

Source: State of software development report

If we compare the results 2018 vs 2019 vs 2020, we will see that this year the usage of  Typescript is growing continuously. 


3. Tools

This report made it clear that teams use a wide variety of tools, especially when it comes to testing and project management. You may find the detailed analysis here: State of software development report


4. Hiring and retaining talent

Hiring and retaining developers are critical parts of managing a developer team. We wanted to learn more about how tech companies hire and retain talents.

Since 2018, the most effective hiring methods haven’t changed. Employee referrals and having in-house recruiters are the best ways to hire talent.

One of the sites software developers can use to find a job is: jooble

most important hiring criteria

Source: State of software development report

From what we can see it is clear that there are 4 important areas tech companies focus on when they’re hiring talent: willingness to learn, work experience and technical skill evaluation test and cultural fit.

What is also important to highlight here is that in 2020 companies pay more attention to soft skills.

What is curious is that now, very few companies look at degrees or certifications, it became something secondary. The most important one is a willingness to learn and it makes sense because we live in a rapidly changing world and people should be able to adapt to new circumstances and find new opportunities to do the job better.

As for the attraction strategy, let’s look at the graph to find out what are the main factors that companies use to attract new talents:

attraction strategies software developers

Source: State of software development report


It turns out that great team and challenging work are the most popular ways to attract new software developers.


5. Software Outsourcing

Since dealing with capacity issues is one of the biggest challenges along with hiring talents, outsourcing could be a quick fix. Let’s see what companies think about the idea of doing outsourcing:

software development outsourcing statistics

Source:State of software development report

Well, as we can see most of the people who outsourced software development services stayed somewhat satisfied. This can be a good solution for the capacity problem.


6. Performance management

In this section of the report, we will look at how software teams measure performance and what causes delivery problems. This part also uncovers how developer teams ensure code quality.

software developer performance metricsSource: State of software development report


As we can see working software, completed tasks and code readability are the most important factors for project managers to measure developers performance.

And the number one cause of failure for most of the project managers is unrealistic expectations, followed by estimation and lack of clearly defined deliverables.

software delivery problems

Source: State of software development report


Conclusion: global software development situation

This article featured just a small slice of all the data we gathered from the report. If you want to see the full report, just follow this link and download it. Feel free to share this post or report with anyone you think might be interested. But don’t forget that this data is relevant only for this year. Excited to see what will be different in 2020. Do you have any ideas?

Again, big thanks to Codingsans for this initiative and for making it happen together with clutchgitkrakenCooperpressLevel-upClockwiseVisionXCode ClimateLingoHubUsersnap 

To see the full report, click here.


And if you are working on an exciting project and you need help with software development, let us know! We would be happy to know more!

If you would like to get more interesting facts about software development, I highly recommend you to subscribe to our monthly newsletter by clicking here


And if you found interesting facts about software development useful, you might like…


Five things to focus on to retain developers

Scala generics I: Scala type bounds

Scala generics II: covariance and contravariance  

Scala generics III: Generalized type constraints

BDD: user interface testing

F-bound over a generic type in Scala

Microservices vs Monolithic architecture

“Almost-infinit” scalability

iOS Objective-C app: sucessful case study

Mobile app development trends of the year

Banco Falabella wearable case study 

Mobile development projects 

Viper architecture advantages for iOS apps 

Why Kotlin ? 

Software architecture meetups

Pure MVP in Android