DZone's Tom Smith recently posted a piece about the most significant changes to the Java ecosystem from the past year, where 15 execs tied to Java were polled. I wasn't among those questioned (I'm not offended), but a major change and my main concern regarding Java's future was not addressed in the answers provided by the panel.
Although the question was asked in the context of the past year, the biggest change to the Java ecosystem over the past few years is that the Java community is aging faster than other language camps due to a lack of interest or training in Java among our newest programmers.
There was a time not that long ago where nearly every CS grad entered the workforce with the objective of becoming a Java developer. This has been changing over the past few years, to the point now where I see relatively few entry-level candidates mentioning Java as an interest. Bootcamps and online learning seem to focus more on Ruby and Python curricula. On the contrary—and, this is anecdotal—I'm now seeing an increasing number of entry-level candidates expressing that they are not interested in roles where their primary duty would be writing Java.
Not only do we have a reduced influx of new Java talent entering the pool, we are seeing experienced Java developers exploring the other options being targeted at them (functional languages, Go, Kotlin, etc.). Many of these options will keep those who stray on the JVM, but that may be a small consolation for Java's most adamant supporters and dependents.
Don't mistake this for another "Is Java Dead?" article. Java is ubiquitous enough to be safe for the foreseeable future, at least in enterprise development. The current trend is a concern because these entry-level candidates will be the ones making technology decisions at startups and enterprises in the coming years, and if they are cutting their teeth on other options, the future for new Java work is less promising.
What will get entry-level candidates more interested in Java again?