A survey of 731 developers, team leads, managers and executives who work with Java published this week identifies documentation (41%), communication issues between teams (38%), mismanaged timelines (32%); long redeploy times (29%), developer turnover (26%) and insufficient developer tools (24%) as the biggest inhibitors of developer productivity.
Conducted by Perforce Software, the survey also finds that despite these issues, only just over a third (34%) said their organization plans to increase their tooling budget (34%) even though 51% said their organization plans to add more Java developers to their teams in the coming year.
Perforce CTO Rod Cope said the survey suggests that when it comes to Java application development, many organizations are trying to do more with less.
More challenging still, application environments are becoming more complex. The survey, for example, finds that 64% of respondents work for organizations that use microservices compared to 36% using a monolithic application architecture. However, software engineering teams are also using modular monolith (24%), miniservices (19%), mobile (17%), services-oriented architectures (SOA) (16%), macroservices (15%), serverless (15%) and desktop applications (14%).
Organizations also appear to be modernizing their applications, with 43% reevaluating their application architecture types. Another 43% have fully transitioned to a different architecture, while 41% are in the process of transitioning and 12% are planning a transition. Only 2% are currently reverting, the survey finds.
Among the challenges many software engineering teams are encountering are startup times, with 23% having seen microservice startup times increase by 10% or more compared to 54% that have noted no increase.
Many software engineering teams (52%) that are relying on cloud services to build applications also noted that a remote deploy takes five minutes or longer. A full 70% are using remote, containerized, or cloud-based development environments.
Overall, the survey notes that 61% of respondents said they use Java 17, 45% reported using Java 21, 5% reported using Java 22, and 9% reported using Java 23. Meanwhile, 72% of respondents are using Oracle distributions that are no longer supported, including 32% using Java 11, 35% using Java 8, and 5% using Java 7 or older versions. Additionally, respondents also reported using Kotlin (10%), Groovy (7%) and Scala (3%).
Tomcat, not surprisingly, remains the most widely used application server at 70%, the survey finds.
The most widely used integrated development environment, meanwhile, is IntelliJ IDEA (84%), followed by VS Code (31%) and Eclipse slipping to third (28%). Historically, Eclipse had ranked higher in previous surveys but has now been overtaken by VS Code, noted Cope.
At the same time, a full 88% said they are using artificial intelligence (AI) coding tools, with 53% citing ChatGPT. Only 12% said their organization does not allow them to use AI coding tools.
In general, it’s clear that the Java community continues to evolve. The one thing that is certain is that despite the prevalence of other programming language options, the dominance of Java in enterprise continues to remain largely uncontested. Less apparent, however, is the degree that dominance is due to preference or if the inertia that has built up over the past four decades has simply made Java a default choice.