Ask HN: Why are Java developers so boring?
Over the past few months I've interviewed about 2 dozen Java developers. I'm leaving a consulting position with a large online auction company and they've asked me to help interview replacement candidates. They mandate use of Java for all software development. I don't generally stereotype, but I've become very frustrated with the type of candidates I'm interviewing. They are just so boring. While most of them know Java well enough, they don't seem to know or care about much else. They are usually very narrowly focused, accustomed to working on large teams where they manage some little cog, have little understanding of full stack web development, and don't seem very passionate about software development. I'm new to interviewing, and I'm interested to know if this is typical, or if we are just getting a bad batch of candidates.
(
22 comments
| 16 points
| on HN
)
Maybe you are attracting boring people because the company presents itself as a place for such people.
Maybe the company has a reputation or a vibe that simply does not attract the kind of people you are looking for.
Maybe job openings are worded in such a way that they attract these kind of people.
This may be part of your problem. I've been doing software startups in Java since Java 1.0.0 days, and I've had no problem finding extremely talented developers with broad backgrounds and deep expertise. I've certainly seen my share of developers who have done freshman-level projects all dressed up in EJB, but they don't get hired.
I suspect that given an interesting job at an interesting company will attract more interesting candidates. And as has been often noted on HN, the best candidates aren't going to appear via headhunters, they'll appear via connections.
By safe, I mean, easily employable languages. People working with haskell, clojure, scala, factor or whatever more obscure language probably aren't doing it because it makes them employable.
Plenty of people working with Java, PHP etc are doing it because it makes them employable. That doesn't mean that all PHP, Java etc developers are only interested in getting a paycheck but given the pool you are selecting from, you are more likely to select such a person at random then if you were selecting from a pool of developers working in a 'purely for the love of it' language.
I've started doing Java development for a day job again and between that and other projects, have met plenty of people who are java developers who are quite the opposite of what you have seen so they are out there. I've also met plenty of people who fit the stereotype you are talking about.
I think the problem is that most of the passionate, big picture developers already have jobs or have started their own companies.
I think you may be over stereotyping a little bit, but there may also be something else going on which is that anyone seeking a job may want to appear as close as fitting a mold as anyone else, errr, such as not to seem dangerous or wild or uncontrollable ... especially in the enterprise.
Your posting could just be to generic and focused on Java. i.e. throw some of the other technologies that you use into the job posting, JSP, Tiles, Struts, Ajax, etc. Hopefully the candidates will have some experience in the full stack then.
Secondly, be picky on who gets through your candidate selection. My process was to scan their resume for keywords that showed me they had experience in what I wanted (the full stack). I would then have HR ask them 10 tech questions over the phone. If they seemed to do alright with that I would have them brought in. The very first thing they did was take a technical test based upon the desired skill for the job. If they passed I would meet with them, if not I would send them packing.
The key is to not waste your time on interviewing all the 'ok' people but interview only the good people. You have to have them jump through some hoops before you meet them face to face.
However, be upfront with anyone who contacts you and asks about Python/Ruby usage, e.g. "The environment is basically all Java, but we want a candidate who has broader knowledge of development outside the Java ecosystem".
My two cents.