My company continues to hire. We hire smart people, who get stuff done. We're a huge Java/Linux shop, but we can't find anyone. We pay well, have a great environment, lots of cool technology to play with; but we only hire smart people.
Except there aren't any left to hire. I know. I've interviewed a dozen people in the past few weeks - all of them had less than stellar interviews.
Five Interview Tips From Idcmp
1. Have an opinion. Justify it. What's your favourite past project? Where do you think Java web frameworks are going? What's your favourite thing in Java 5? Why do you like Hibernate better than iBATIS?
2. Be real. Everyone has disagreements and problems sometimes - it's how you manage through them that truly matters.
If you have ten years of development experience in medium to large-sized companies and you tell me you've never had a disagreement with QA, then you've either done nothing of merit, or you're lying.
You used a pet store style architecture for your reporting application (entity beans 'n all), deployed it clustered with WebSphere on AIX using DB2, and you tell me you had *no* issues at all along the way? Either you had little to do with the project, or you're lying.
3. Update your Mythology.
If you've been around Java for a long time, you may still think that reflection is slow, garbage collection is to be avoided and nobody could write a *real* application in Swing. Our system completely disproves this, so working for us would scare and confuse you.
4. Be details oriented and technical.
I'm bad at this one too. You've had HR ask you about your experiences, and you've used the phrase "stuff", "thing" and "system" when you really mean "shell script", "message driven bean" and "cronjob". You had to, they wouldn't understand!
If someone technical is present, use the real words. If you're not sure if they're technical, ask them. Weed the words "stuff" and "y'know" from your interview vocabulary. While you're weeding, drop "obviously" too; that drives me nuts.
I asked a candidate how they would implement something, and their *final* reply, after pressing them for details was "There would be some logic in an EJB." Really.
5. Know when to say "I don't know."
This will completely kill an interview for me. *Do* say "I don't know", when you've not used the technology you're asked about. *Do not* say "I don't know" when presented with a "How would you do the following..." question.
Q1: How would you detect that you're iterating infinitely through an cyclic graph?
Q2: Do finally blocks get called if you System.exit in your try block?
Good Answers:
A1: Depends on what your needs are exactly. Mark nodes as visited in some sort of thread local attribute (one of a bunch of different ways), or ..., or ..., or ...
A2: I Don't Know.
Bad Answers:
A1: I Don't Know.
A2: Depends on the virtual machine, and the OS, oh, and the phase of the moon. It happened this one time to a buddy of mine, it totally surprised him, we thought it worked the other way.
That's All For Now
So, these five little tips will put you ahead of the pack of developers I've spent time with, and if they're common sense to you, maybe it's time you sent your resume my way... ..if you're out there.
Lack of Decent Java Developers?
Subscribe to:
Posts (Atom)
RSS