RebelLabs wants to get inside the mind of a programmer with its 2017 Developer Productivity Report. The report focuses on why developers use certain tools over others and how satisfied they are in their selection of those tools, architecture, and other aspects of development.

The report is based off of more than 2,000 from Java developers all over the world.

The report looked at the tools, technologies and libraries developers were most excited or proud of using. Developers cites Kotlin as the number one exciting technology for 2017 followed by Docker, Java 9, Spring, Angular, Java EE 8, Spring 5, Java 8, Kubernetes, and React.

The survey also asked what programming language were being used for the respondents’ main project, and the answer was overwhelmingly Java 8 or newer at 72 percent, followed by Java 7 at 21 percent and Groovy, Scala, JavaScript, and Kotlin all at less than five percent. For those lesser used languages, respondents selected them entirely based in functionality. Java 7 and 8 were chosen due to functionality as well as its ecosystem, team skills, company policy, and ability to experiment. Among the lesser-used languages, developers rated Kotlin with the highest satisfaction a rating of 9.1 out of 10, followed by Scala in second with a rating of 8.5.

It also asked what stack was used for developers main project, and Spring was the most used at 46 percent, followed by Java EE at 33 percent. Spring was also the highest rated stack with a rating of 8.2.

When asked about the architecture type being used in their main project, 34 percent said they were using a split architecture. Twenty-five percent use a monolithic architecture and 23 percent use microservices. The highest rated architecture was a library or framework at 8.3. Microservices were rated at 7.9, split architectures were rated at 7.5, and monolithic was rated at 6.3.

The three leading Java IDEs were Intellij IDEA (54 percent), Eclipse (33 percent), and Net Beans (13 percent). Functionality seems to be the leading reason that people select Intellij IDEA and NetBeans, while familiarity is the main reason people use Eclipse. RebelLabs found that 51 percent of respondents do not change IDEs or application stack due to it being a company requirement or used in a fixed project.

The survey also found that 63 percent of respondents are happy with the technological choices they’ve made.

“Half of the top ten tools and technologies mentioned in 2000+ responses are languages or language related. Developers love becoming better and more familiar with their underlying development language and with today’s fast-paced release schedules of popular languages it’s more important than ever,” said Simon Maple, director of developer relations for ZeroTurnaround. “Two in the top ten are front-end technologies, which reveals how Java developers are becoming more and more comfortable with adopting JavaScript (there, I said it!), and writing front-end code with Angular and React. As expected, Spring continues to dominate the enterprise market, encouraged with its latest releases of Spring Boot 2 and Spring 5, which includes new reactive support.”