Re: Shortage of qualified Java programmers



eglato wrote:
Lately I have been conducting technical interviews to fill some Java
developer positions, and this process is becoming highly frustrating.  Good
candidates are very hard to come by in the Atlanta area.  I don't know
whether there is an actual shortage of Java programmers in the U.S., or
whether the situation is unique to our metro area, or whether we are just
relying on the wrong recruiting companies.  In any case I repeatedly find
that a candidate will list every Java technology in the world on his
resume, but then when I quiz him on specifics he can't answer.  Or perhaps
he knows the buzzwords, but then when I ask him how he would apply the
concept in a specific situation he gets it all wrong.

Here is a sampling of some of the questions I like to ask candidates:

* Write a program that reads strings from a text file, one per line, and
outputs a list of the unique strings along with their frequency of
occurrence.   For example, this input:

        Tuesday
        Friday
        Tuesday
        Saturday

        results in this output:

        Tuesday: 2
        Friday: 1
        Saturday: 1

(To do this right they need to know about FileReader, BufferedReader, and
some collections API stuff.)

* Write a program to compute the number of hours in the current day, correctly accounting for locale-specific time changes that might make the
current day more or less than 24 hours in length. (Simple Date/Calendar
API test.)


* Suppose I have the following class:
            public class A { public String key; }
Write the code to sort a list of A's in ascending order by "key" attribute
using Collections.sort().  (Basic Comparator test).

When I first started this process I was actually concerned that such
questions might be too easy for programmers with 3+ years Java experience.
In fact the opposite has turned out to be the case.  Some candidates even
seem surprised that I expect them to know the core Java API and be able to
use it to solve actual problems.  I could understand if I were asking about
obscure stuff like reference queues, but my questions generally pertain to
basic aspects of the Java API that I use frequently in my work.

Is my experience typical?  I read a lot about unemployment in the IT
field, but it just seems to me that if unemployment were a significant
problem there would be at least somewhat competent people sending out
resumes looking for work, and I'm just not finding that to be the case. Of
course my experience is limited to the Java job market in the Atlanta area
and I can't speak for other technologies or locales.

-eg
You're questions are reasonable.  The unrealistic environment you
place on the interview is just stupid.  Its interesting to know
if somebody can juggle dynamite but it wont tell you if they can
code either.

That being said... I interview alot of people and they're mostly idiots.
Giving them tools wont make them any smarter.

Let them look at the api. Alot of bad programmers can't even do that.
It doesn't matter if they google, or randomly generate code, as long
as they do it fast, reliably and on command. Write a unit test and
have them write code that passes it, in a realistic environment. If they're going to use an IDE everyday, you care that they do it well, not
that they can code without it. Thats just a silly "real men" test.


Its generally impossible to filter all but the worst programmers during
a short interview.  If you have the luxury, try before you buy.

Joel has some good stuff to say about interviews (and most other things)

http://www.joelonsoftware.com/articles/fog0000000073.html

He has 2 rules for what to look for in a candidate:

Smart, and
Gets Things Done.

.



Relevant Pages

  • Re: Shortage of qualified Java programmers
    ... candidates are very hard to come by in the Atlanta area. ... that a candidate will list every Java technology in the world on his ... API test.) ... questions might be too easy for programmers with 3+ years Java experience. ...
    (comp.lang.java.programmer)
  • Re: Shortage of qualified Java programmers
    ... library of Java is what you have computers for -- not people. ... every detail of the API. ... to figure out how a Comparator works given the Javadocs. ... programmers written by Bill Venners. ...
    (comp.lang.java.programmer)
  • Re: Hidden features of java
    ... used would be how many programmers used a particular class. ... case that it should be removed from the API. ... yet both are extremely useful and arguably ... Another meaningful question is how many Java programs out there ...
    (comp.lang.java.programmer)
  • Re: Shortage of qualified Java programmers
    ... > Lately I have been conducting technical interviews to fill some Java ... > candidates are very hard to come by in the Atlanta area. ... > some collections API stuff.) ... > questions might be too easy for programmers with 3+ years Java experience. ...
    (comp.lang.java.programmer)
  • Re: Static vs Dynamic
    ... Are you saying that the Java designers have been ... Not a very good advertisement for that language. ... it's easy to miss the bug because the code looks quite correct ... from programmers is a waste of time. ...
    (comp.lang.lisp)