My mailbox aggregates several Java User Groups and other specialized sources of information about the Java universe, with special guests like CEJUG and the Java EE community. Many of these Java sources are used by consultant companies to hire smart people, and since last year I am reading a
growing interest about skilled Java developers. More: few days ago I was having a coffee with some colleagues and a manager confessed he is worried where to hire all resources he needs to allocate in the signed contracts for 2010.
Listening such conversation and watching the raising offerings in the mailing lists I have only one conclusion: Java market is dry, skilled Java developers are becoming scarce. Reasons for that? No idea, but there are some obvious observations about our times:
Hype languages and technologies didn't conquered the market as we expected, languages like Scala, Ruby, Grails, etc. Android? You know, perhaps next year. These languages advertised revolutions during the last two or three year, sold out a lot of books and conference speeches but nowadays it is not easy to find good jobs (salaries) for such technologies. Certainly there are good jobs somewhere, but it is nothing compared to the Java is dead speech of three years ago. Simple fact is: Java is still ranking high in the IT market, while all that hype revolutions are still hype promises. And the young developers that followed the hype? Well, they will need to accept that Java job now, frustrated people mostly unable to delivery a quality service anyway.
People are becoming lazy and dumb, everyday a bit more. Watch idiocracy and you will get the point. If not convinced, watch MTV for half an hour and you get a live demo :). The iPhone users cannot handle more than one button in any GUI and unsafe-typed languages say that "anything that requires a type declaration is just too complicated to be useful". Nice speech, but what to do with developers convinced that math and domain models are obsolete technologies?
What about the salaries and Java carriers? Java platform produces a large chunk of all software running in the Global IT market, supporting business at a scale of billions of dollars every year. Nothing more natural than expect the guys behind this technology monster to have a good life - or at least a profitable life. Well, the reality is a boring overestimation of the management models, leaving to the developers just the extra hours, tendinitis and more learning curves.
How to hire good Java developers?
Just in case you are seriously looking for good Java developers, some hints:
- Raise the salary (no excuses).
- Offer learning as part of the job benefits (conferences, books, courses, etc).
- Allow your developers to take project decisions.
- Use modern Java technologies (Still using Java 1.4?)
- Give the developers some stability and carrier perspective, and don't try that in a bureaucratic way.
- Flexible working time and remote office should be available.
- Give the developers more than water and coffee.. how about fruits? cokes and other beverages? How much it costs for you to buy 1 coke per developer a day? If you think it is too much, please leave the market :)
- Don't try poor copies of Google and IBM ideas, these companies are just richer than yours. Be creative and honest with your developers.
Good luck :) Java market is dry, good developers are scarce.. it is time for smart managers to raise the salaries and catch the good ones, the rest can be shared by people reading Scrum and Kanban manuals.