As a frequent conference speaker, I was curious to know what the hot topics are in the Java ecosystem. To find out, I analyzed accepted talks at four large Java conferences held in 2023: JFokus, DevNexus, Devoxx UK, and JCON Europe.
The most popular topics in the Java ecosystem
Key findings
Java development is increasingly cloud-native. The prominence of Microservices, Kubernetes, Quarkus, Serverless, Kafka, and Containerization indicates that the Java ecosystem is significantly moving towards distributed and cloud-native applications. This shift is likely driven by the demands for better scalability, maintainability, and business agility. This supports the findings in the 2023 State of Java in the Enterprise report by Vaadin.
AI and ML are gaining traction. AI and Machine Learning are causing a big disruption in the software industry and the Java ecosystem is not excluded. Developers are using AI tools for development and integrating AI/ML in the applications they are building. Much of AI/ML tooling is only available for Python and JavaScript. We can expect to see new projects emerge to allow Java developers to take advantage of AI/ML more effectively.
Solid software development practices continue to be important. The continued mention of topics like Security, Refactoring, and Testing underscores that, even amidst fast-evolving tech trends, the fundamentals of writing secure, maintainable, and well-tested code remain critical. This illustrates the persistent need for robust software development practices, irrespective of the technology or architecture used.
Development is increasingly complex. The wide array of topics from different domains (e.g., Microservices, AI/ML, Kubernetes, Security) shows that the Java development environment is becoming increasingly complex. Developers are increasingly expected to do DevOps and need to understand and integrate a growing number of technologies and concepts, requiring a broader skill set and continuous learning.
Comparing conferences
Looking at the aggregate data alone can give us a false sense of uniformity. By looking at the frequency of topics across conferences, we can see there is quite a difference between events. AI/ML was so prevalent at Devoxx UK, that it can make it hard to see the nuances between other topics.
The conferences are listed in chronological order.
By removing the AI/ML topic from the analysis, we can better see the popularity of the remaining top 19 topics.
JFokus stands out in the analysis, having fewer categories with multiple talks. We can also confirm this by looking at the distribution of topic frequencies at the events. JFokus has significantly more topics with only one mention, meaning it had a more diverse set of talks than the other conferences.
Methodology
I gathered the data from the conference websites on June 28, 2023.
I classified the topics by feeding the titles and abstracts to the OpenAI chat completion API with a prompt asking it to extract the 3 most relevant topics that describe the talk, focusing on technologies and methodologies. I used the function API to force the output into JSON format for easier processing.
I manually cleaned the data by combining duplicate topics such as "apache kafka" and "kafka." I removed two overly generic topics: "java" and "software development."
Finally, I analyzed and visualized the data with Pandas and Seaborn.
Because the data represent accepted talks at conferences, we should assume that they skew towards trendy topics that help sell conference tickets.
Learn how I used AI tools to turn my idea into a completed report in less than a day.
More conferences?
Is there a relevant conference missing that you think would add value to the analysis? Let me know in the comments or reach out to me on Twitter @marcushellberg.
Appendix: top 100 topics
Here is a list of the top 100 topics sorted by popularity
Topic | Count |
microservices | 35.0 |
kubernetes | 34.0 |
ai/ml | 33.0 |
spring boot | 24.0 |
security | 20.0 |
quarkus | 19.0 |
devops | 16.0 |
apache kafka | 16.0 |
serverless | 15.0 |
graalvm | 14.0 |
observability | 13.0 |
jakarta ee | 13.0 |
docker | 11.0 |
open source | 11.0 |
cloud | 10.0 |
refactoring | 10.0 |
testing | 9.0 |
spring | 9.0 |
containerization | 9.0 |
distributed systems | 8.0 |
opentelemetry | 8.0 |
ci/cd | 8.0 |
cloud computing | 8.0 |
kotlin | 8.0 |
microstream | 8.0 |
performance optimization | 7.0 |
testcontainers | 7.0 |
virtual threads | 7.0 |
automation | 7.0 |
tools | 7.0 |
pattern matching | 7.0 |
cloud-native | 7.0 |
jvm | 7.0 |
micronaut | 6.0 |
apache pulsar | 6.0 |
performance | 6.0 |
design patterns | 6.0 |
dependency management | 6.0 |
architecture | 6.0 |
collaboration | 5.0 |
migration | 5.0 |
java applications | 5.0 |
developer experience | 5.0 |
scaling | 5.0 |
project management | 5.0 |
web development | 5.0 |
streaming data | 5.0 |
continuous delivery | 5.0 |
code quality | 5.0 |
concurrency | 5.0 |
software architecture | 5.0 |
application development | 5.0 |
cloud native | 5.0 |
openjdk | 5.0 |
continuous integration | 5.0 |
programming languages | 5.0 |
user experience | 4.0 |
software engineering | 4.0 |
typescript | 4.0 |
knative | 4.0 |
learning | 4.0 |
developer productivity | 4.0 |
developer tools | 4.0 |
development | 4.0 |
monitoring | 4.0 |
react | 4.0 |
github actions | 4.0 |
functional programming | 4.0 |
apis | 4.0 |
javascript | 4.0 |
cloud-native applications | 4.0 |
technical debt | 4.0 |
integration testing | 4.0 |
open source projects | 4.0 |
reactive programming | 4.0 |
asynchronous programming | 4.0 |
records | 4.0 |
redis | 4.0 |
community | 4.0 |
change data capture | 3.0 |
cloud native applications | 3.0 |
ci/cd pipelines | 3.0 |
containers | 3.0 |
sql | 3.0 |
concurrent programming | 3.0 |
test-driven development | 3.0 |
communication | 3.0 |
test automation | 3.0 |
technology | 3.0 |
java persistence | 3.0 |
continuous deployment | 3.0 |
software testing | 3.0 |
libraries | 3.0 |
kafka | 3.0 |
metrics | 3.0 |
microprofile | 3.0 |
jdk | 3.0 |
java frameworks | 3.0 |
open source tools | 3.0 |