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 heading.
To better understand these changes and to uncover the biggest challenges and best practices, we teamed up with 10 cool companies to collect data from more than 300+ tech people.
This year’s report will give you the data you need to benchmark your activities against other survey participants, get some insights to further improve your developer team and keep up with the rapidly changing industry.
This post highlights 10 interesting stats from the report. The full state of software development 2018 report contains even more fascinating insights about today's software development landscape. Download the full report for FREE from here.
- The biggest challenges tech companies are facing in 2018
- What are your company’s primary programming languages?
- What new programming languages are you considering to use in the next 12 months?
- What tool do you use for project management?
- What tools do you use to communicate during a project?
- What are your most important hiring criteria?
- How do you keep software developers motivated?
- Have you ever outsourced software development fully or partly?
- What metrics do you use to measure developer performance?
- Managers vs developers - What is the #1 cause of delivery problems for your team?
Note: if you find it hard reading the charts, feel free to download them here.
Managing 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 is closely followed by hiring, attracting and retaining talents is the second biggest challenge software teams are facing.
What if we split the respondents into two groups, developers and managers? We were excited to see if there was any difference between these two segments.
Results? See for yourself.
It’s not that surprising that developers and managers are facing different challenges since the nature of the two roles is different.
The biggest challenge developers are facing is dealing with capacity issues, followed by time management. While managers find it hard to hire talent and also to deal with the lack of capacity.
When companies are lacking talents, a hands-on way to overcome this challenge is to outsource software development. Actually, 52.5% of the respondents said they have already outsourced software development fully or partly.
Were they satisfied with outsourcing? Check out the data in the report!
Tech and tool trends
What are the hottest tools and programming languages?
This is the current state, but where are we heading? We wanted to have a sneak peek into the programming languages they intend to use in the next 12 months.
36.63% of the respondents said they’re not planning to use any new programming languages in the coming 12 months.
What about the tools?
Honestly, this was the hardest part of the report since it required very thorough data cleaning, and it turns out developer teams use a wide variety of tools, especially when it comes to testing and project management.
If you look at the chart, you will see that the “Other” category is way higher than anything else. 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.
The full report also covers the most popular tools for testing and version control. Click here to download and learn more.
Hiring and retaining talent
Hiring is the biggest challenge managers are facing in software development.
This chapter of the report sheds some light on the hiring practices of tech companies, including hiring practices, criteria, and the most popular methods for attracting and motivating talents.
Instead of just looking at the whole picture, we filtered the data, showing the difference between the top and average performing teams. What an exciting thing!
There are 4 important areas tech companies focus when they’re hiring talent.
Willingness to learn is the most important factor, followed by cultural fit, work experience and some kind of technical skill evaluation test.
It seems test projects, side projects and soft skills are not that important factors. Interestingly, college degree and certifications are less important factors for a tech company.
No degree? You’re still safe.
When it comes to hiring software developers, willingness to learn is 8.4 times more important than having a degree.
Just think about it, since software development changing rapidly, it’s a must to hire someone who is open to learn new technologies.
Hiring is the hardest part. It’s still better to keep developers motivated and retain them longer in the company.
What methods do tech companies use to keep software developers motivated?
It turns out that challenging work and great team culture are the most popular ways to keep developers motivated.
Interestingly, offering stock options, clear career paths and trainings are less popular methods to motivate developers.
What are the differences between top and average performing teams?
In this section of the report, we dig deeper into how software teams measure performance, the success of software development managers and what causes delivery problems. This part also uncovers how developer teams ensure code quality.
How do software teams measure performance?
It’s really hard to express developer performance in one metric, and there are many different ways to approach performance measurement. We wanted to know the most popular ones.
We also sliced the data, separating high-performing teams from the average performing ones to see if we could notice any differences between the two groups.(It turned out that the difference isn't as big as we expected.)
Interestingly, 28.15% of the top performing teams don’t use any metrics, while 26.42% of the average performing said the same.
Completing tasks is the most popular method to measure performance among average performing teams, while working software is for the top performing teams.
Apart from taking a look from top and average performing teams, we wanted to know what developers and managers thought about the cause of delivery problems.
Our hypothesis was that they thought differently due to the focus and nature of their jobs.
For managers, the number one reason is wrong estimation, followed by requirement prioritization and badly defined deliverables.
For developers, the picture is a bit different. According to them, unrealistic expectations, lack of clearly defined deliverables and ever-changing landscape are the main reasons of under delivering.
For additional cool stats, download the full report here.
This blog post featured just a small slice of all the data we gathered from our survey. From now on in the coming years, the state of software development will be even more exciting since we can compare all the historical data we got, seeing the trends in the industry.
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.