The results of Snyk’s annual survey on the JVM ecosystem are in! Below we take a look at what’s new, what stayed the same, and what surprised us the most.
The JVM ecosystem is evolving, and it’s evolving fast. It feels like Java 8 was only released yesterday, but in reality that was over 5 years ago. We’re definitely not getting any younger 😱
In fact, Java 14 already has an early access build available, and Java 11 is making its debut in production. Of course, these are not the only changes that are happening – especially in the CI and source control space. In this post we’ll break down the stats to prove it.
First things first, HUGE thanks to our good friends Brian Vermeer and Simon Maple at Snyk for publishing the results of the largest annual survey on the JVM ecosystem, and gathering responses from over 2000 participants. We appreciate your support of the JVM ecosystem and you sharing these insights with the rest of the world!
Now, let’s dive in.
TL;DR: Report Highlights from Snyk
Snyk’s full report is available right here, with 32 data points about the respondents and their preferences. Some of their key findings include:
- 1 in 4 developers use the Java SE 11 in production
- 2 in 3 developers use Java SE 8 in production
- 50% of developers use OpenJDK distributions in production
- 1 in 3 developers use GitLab, making it the most popular source control management tool among JVM devs
- Almost 6 in 10 developers use Jenkins in CI
Next, we’ll walk through some of the data points that stood out and captured our attention! We’d also be curious to hear what captured yours, so please feel free to use the comments section below to discuss.
1. What’s new?
GitLab continues to gain a lot of traction, not just for SCM (Source Control Management) which was its initial call to fame, but also for CI. The company overtook GitHub as the leading SCM tool and also became the 2nd most popular CI server for Java according to the survey’s respondents:
Which code repository do you use for your main application?
(We’re not ruling out the possibility that Java developers who answer surveys prefer GitLab over GitHub – but nevertheless, it’s a very interesting data point)
Which CI server do you use?
Jenkins is still strong at #1 though, and if you’re using Jenkins as your pipeline and find yourself struggling to make sure that new releases are ready to be promoted, you might be interested to check the OverOps plugin for Jenkins.
2. What stayed the same?
Jenkins is not the only consistent #1 ranking solution out there – it’s also no surprise that Spring is a longtime favorite of the JVM ecosystem.
6 out of 10 people replied yes when asked if they use the Spring Framework, with 50% of overall developers saying they use Spring Boot. Spring MVC coming in second.
Do you use the Spring Framework?
3. What surprised us the most?
This next one might surprise you as well.
It looks like Kotlin and Clojure are overtaking Scala as the #2 and #3 development languages. Our gut feeling was that Scala would come in at #2, and we’re guessing the TIOBE index and Redmonk language rankings might not feel the same as the respondents of this survey.
Nevertheless, there’s no way around it – Kotlin is definitely rising in popularity, maturing, and becoming more than a niche programming language.
4. What are we predicting for the future?
We see more and more companies adopting CI/CD methodologies, and unlike in previous years – or more accurately 10 years ago – when they were picking up initial traction, the practice is finally becoming mainstream.=
As the survey shows, the JVM ecosystem is not on standing still and we’re predicting that new methodologies that are emerging and picking up initial traction today will become the de-facto standard in the future. One of these early trends that we’re seeing with the companies we’re working with is Continuous Reliability.
A new term that groups together the practice of using quality gates and feedback loops in the software delivery pipeline, making it more intelligent, and allowing teams to be proactive in their approach to identifying and resolving reliability issues without requiring any foresight. At OverOps, we’re building a Continuous Reliability solution that has these exact goals in mind, check us out on overops.com.
We’d like to thank our friends from Snyk once again for sharing this report with us! We hope that you’ve found the report as valuable as we did. We look forward to seeing what happens next in the JVM ecosystem. Get the full stats in the report here.