

Ask HN: Why are Java developers so boring? - jread

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.
======
st3fan
This might have nothing to do with Java and everything with your company.

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.

------
geophile
"... consulting position ... large ... company ..."

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.

------
bhousel
Maybe you're asking the candidates boring questions?. Try asking them
moderately probing, but non-boring questions like:

    
    
      "What made you want to go into software development?"
      "If you weren't a developer, what other job would you want to do?"
      "What features do you especially like about Java?"
      "What was an interesting problem that you've solved?"
      "What was the most challenging bug that you've fixed?"
      "Why do you want to work here, as opposed to some other place?"
      "If you could change the Java language, what would you change about it?"

~~~
bricestacey
I'm surprised this is the only comment potentially criticizing the
interviewer. My guess is that the questions are poorly asked and applicants
never really get a chance to shine.

------
spooneybarger
I think this has less to do with Java per se and rather the types of
candidates you will see in 'safe' languages.

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.

------
iKnowKungFoo
Doesn't matter if it's Java, .NET, ColdFusion, PHP or whatever. The majority
of programmers out there are 9-to-5ers and couldn't care less about your
company's vision. They're just looking to get hired, be told what to program,
write code, turn it in and go home.

I think the problem is that most of the passionate, big picture developers
already have jobs or have started their own companies.

------
jread
BTW, this isn't intended as a flame post, I just would like to know if this is
typical or not. I keep recommending to my manager that we hold out for someone
that has more breadth of experience, but at this point I'm not sure we are
ever going to find that type of candidate.

------
th0ma5
I think Java as a whole, especially its use in enterprise development, is
actively trying to prevent the developer from doing anything out of the
ordinary, or even wanting to understand anything outside of the task at hand.
This is preferable as it allows for effective division of labor, and protects
each part from too much damage from any other part.

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.

------
redredraider
When you say Java I immediately think of all the crappy programmers in my CS
program who would choose Java as their favorite language even when it would be
the worst possible choice. Hackers don't program in Java unless Java is the
only solution. If you want better programmers offer more money. If you're
tired of interviewing make them take an online coding test before they get a
face to face interview. I wouldn't event interview someone if they can't pass
the code test.

------
SethBroomer1
There are a couple reasons that you might be getting bad candidates. Since you
are working for a large company, you will be getting candidates who are more
interested in stability then anything else. i.e. your 9-5ers.

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.

~~~
HedgeMage
I'd be shocked to find anyone I consider a great dev willing to jump through
all those hoops for a consulting gig in big, boring corporate-land. For us,
the hiring process is as much about a company proving itself to us as the
other way around. Procedural red-tape and long talks with non-technical HR
drones are huge red flags that will send many (most?) great devs heading in
the other direction.

------
triviatise
there are multiple types of candidates, most likely the ones you are getting
are active job seekers and you need to be finding the passive job seekers. The
passive job seekers are secure at their job, do a great job, but might jump
ship for the right opportunity but tend to get jobs through recommendations
and referrals. The active job seekers as a pool have a high rate of crap. If
your company has a bad recruiting department they probably just arent finding
good candidates. We can't afford a great recruiter so we screen about 200
people to hire 1 (product manager)

------
zephjc
Maybe change the candidate requirements to ask for Python or Ruby knowledge,
even if it's not required for the actual job. You might get more people with
_enjoy_ programming rather than those for whom it is just a job.

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.

~~~
cgislason
Done this way, it could easily come off feeling like a bait and switch. As a
potential employee it would harm my opinion of the company unless it was clear
enough in the requirements that you do Java dev but want a more rounded
individual.

------
mthomas
I wouldn't lose hope just yet. In my experience it takes on average 6 months
to find a qualified full stack java developer, or just any qualified
developer. Just by luck of the draw, you're going to run into 9-5 ers more
than anyone else. For most people, a job is a job.

------
rdouble
Why do you need interesting people for a consulting position at a large online
auction company?

~~~
jread
We are developing a new application that operates separately from the auction
software. The team is small and we all have fairly diverse roles.

~~~
bartonfink
What carrots does the position offer that would entice an applicant who,
presumably, is skilled enough to get an enterprisey job nearly anywhere?

~~~
jread
Not many I suppose, a decent consulting rate is about all. Those are things I
don't have much control over.

------
triviatise
One other thing, try to recruit from people your current employees know to get
the passives vs. job ads

------
dstein
I can't think of anything that will erode your soul faster than enterpriee
Java, except maybe enterprise .Net.

