Technology and nontechnical criteria
Some readers thought I’d torn Java to shreds in the previous article, yet nobody brought up the community, the supply of people in the job market, or the time needed to get new developers up to speed. I’d venture that we can find a good person for a Java development position within a month and get them working effectively in another. That doesn’t tell you Java is technologically at the cutting edge. It does tell you something about the existence of a widely accepted way of developing software. That makes collaboration much easier because our practices vary only a little from one company to the next.
If you’re working with very new and untested technologies, or pushing them to the limit (in our case JavaScript, with a thick MVC client and our own graph library), expect that just finding developers will be difficult. With little or no community you’ll have almost no way to reach them or build a presence. If Joel Spolsky’s thesis is true, that the best people already have jobs and certainly aren’t going to interviews, you might as well hire Sherlock Holmes to find them.
Of course you can always try to train new developers from scratch. The main drawback is that it affects the whole team’s productivity, and you can never be sure it will work. It’s the classic trade-off between short-term and long-term benefits.
You can look at technology from several angles, and these nontechnical criteria carry almost as much weight as the technical ones.
P.S. If I had to pick a technology for conventional enterprise applications, I’d reach for Java without hesitation, simply because I can hire people so easily.
Related articles
Related CZ Podcast episodes
- #261 · Leadership
On leading people and teams. · Czech audio
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi and Filemon discuss Java 6 and web application frameworks. · Czech audio
- #1 · Vývojová prostředí v Javě
The first CZ Podcast episode looks at Java development environments. · Czech audio