This year Apiumhub partnered up with codignsans and other software related companies like: instabug, clutchgitkraken, CloudBees, Cooperpress, CodeAnywhere, Clubhouse, Bugsee  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 600 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 and code quality. You will see the causes of delivery problems from a developer and manager point of view.

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

To be honest, we are very excited to show you these interesting facts about software development in 2019. 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.

What makes this section curious is the separation of developers and developer managers since the nature of the two job categories are different, making their challenges different as well. 

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, prioritizing development and improving productivity. And what do teams do to solve the sharing knowledge problem? The most popular way is to hold a dedicated knowledge sharing session such as brown bag lunches, meetings, tech talks. Another method is 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 2020? The answers are here:

the most used programming languages

Source: State of software development report

 

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

programminglanguages 2019

Source: State of software development report

If we compare the results 2018 vs 2019, we will see that in 2019 the usage of Java, Typescript, C, Ruby, and Kotlin is growing. 

 

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.

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 2019 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:

new talent atraction statistics

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

outsourcing satisfaction statitsics

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.

how to measure software developer's performance

Source: 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 projects delivery problems cause

Source: State of software development report

 

And peer review and CI + TDD are the top choices of developers to ensure code quality. Other ways you may find here.

 

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 instabugclutchgitkrakenCloudBeesCooperpressCodeAnywhereClubhouseBugsee.

To see the full report, click here.
Enjoy!

 

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…

 

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