Now it’s official: as per Money Magazine survey, software engineers have the best jobs in America. And employers have a really hard time in hiring the right programmers. It’s just not their market anymore. Even junior programmers have no problems finding jobs (at least here in the greater New York area). Three years ago, if a job description lists 10 skills and you had only 9, they would not even talk to you. Today’s situation is different. If a candidate has 7 skills out of ten, the hiring managers should grab the candidate…
I wrote on interviewing Java developers a couple of years ago when the job market was not as good as it is now. But in a situation when managers just can’t find the right candidates and can’t staff their new projects, they need to apply a different technique, which I call “A second Chance “. Let me explain by example. I’ll use some topics from Java, but you can easily identify similar cases in any programming language.
“He’s a good guy, knows Java and Web applications, but he never worked with Struts. We’re going to pass on him “.
“She has many years in Java development, and even had a chance to work with Swing, but the fact that she does not know the difference between invokeLater() and invokeAndWait() is a clear sign that she is not the right person for a Swing project “.
Now tell me this, if a good Java programmer does not know Struts, how long do you think it’ll take him to learn about the Action classes and the like? A week? Two weeks?
Or how long does it take to people living in the Google era to find the difference between invokeLater() and invokeAndWait()? An hour? A day?
Do not let them go. Do not lose good people, give them a second chance. Call the job applicant after the interview, and tell him/her something like this, “Joe, I see that you have a solid knowledge of Java and understand how to develop Web applications.We’d really like to hire you, but since our project heavily relies on Struts, we want to make sure that learning Struts is not a big deal for you. Please spend a week learning Struts in your own spare time and call us. We’ll spend 15 minutes talking over the phone on this subject, and after that we may extend you an offer. ” This is simple and efficient way of bringing good people on board.
Joel Spolsky has written an excellent article on interviewing programmers. Unfortunately his technique is not always applicable in large organizations, but his message is clear: hire good people. It’s not difficult to teach a good person some programming technique, but it’s not easy to make a technical geek a good person.
And finally, if you can’t find the right person to hire as an employee, bring a consultant with specific technical skills on board. Even if it’s more expensive, it’s a short engagement, the person will do the job and leave. You don’t get married until you find the right second half, right? But looking for the one-and-only should not stop you from seeing other men/women.