Wednesday, 9 June 2010

The Modern Java Developer

Hi all,

Here's a brief synopsis that a colleague of mine (Ben Evans) and I have been thinking about for sometime, and we're curious to hear your feedback if you think you'd like to hear about some of the themes within this synopsis at the 2nd LJC Unconference.

"The role of the Java developer is undergoing a period of immense change - challenges such as manycore processors, new approaches to concurrency and a wealth of new languages (including functional and dynamic) on the JVM are redefining the nature of Java projects. The core SE/EE APIs have been supplemented by a large and growing body of additional material and technologies which the developer must know.

Some of the upcoming new Java 7 features - including closures, invokedynamic and standardised dependency injection tackle some of these challenges.  But it's not just core language updates that matter anymore, there's also been a change in the modern Java project lifecycle with a host of common tools and practices a developer will now be expected to encounter (largely borrowed from the Agile world).  Lastly, there are new JVM languages which are gaining in popularity and which the developers may expect to encounter on future projects."

Do people agree with the synopsis above?  Are they finding their Java projects changing to a new model?

Feel free to debate as I believe we're definitely not there yet!