Alex is a Software Engineer working on Android development tools, especially Android Studio, at Google. His interests include Java, API design, OOP, IDEs and testing. Alex spends some of his spare time working on Open Source, blogging, writing technical articles, and speaking at international conferences. The opinions expressed here represent his own and not those of his employer. Alex is a DZone MVB and is not an employee of DZone and has posted 49 posts at DZone. You can read more from them at their website. View Full User Profile

Great Candidate == Great (Technical Skills + Personality + Attitude)

07.07.2010
| 6091 views |
  • submit to reddit

In my previous job, I spent a considerable amount of time interviewing candidates. After years of interviewing candidates, I finally realized that a candidate’s personality and attitude are as important as her technical skills. Even though I’m going to describe what may seem obvious to most of you, I’d like to share my short and limited experience interviewing candidates.

As we all know, making a decision about hiring or rejecting a candidate is very, very difficult. There is no clear “black and white,” and intuition is usually involved. Unfortunately, I was not aware of this when I started interviewing candidates. As a result of inexperience, I naively focused, almost exclusively, on the candidate’s technical skills.

In the first couple of years I rejected several candidates, mostly because of their poor performance when solving technical problems. At some point in that time frame, I was lucky enough to interview two great candidates, who later on became my co-workers and good friends. Because my interviewing skills at that time were not mature enough, I didn’t realize that I gave them “thumbs up” not only because of their great technical skills, but because they are nice guys with a very positive attitude.

It finally hit me when I interviewed a very interesting candidate. He solved the problems I presented in record time, with the cleanest solutions I’ve ever seen. For a moment I got really excited about the possibility of having this brilliant guy in team!

It was literally “for a moment,” a tiny and brief moment. As in any interview, I asked the candidate about any questions he might have. He asked questions about the position he was interviewing for, the team and the Bay area in general. I tried to answer his questions the best I could but he never let me finish any sentence. At the end, it seemed that he got bored: he simply cut me off by saying that “we could talk about it after he gets the job.”

The candidate was not only rude. To make things worse, he made sure we understand he has better problems to solve and he is looking for a job flexible enough to give him enough time to concentrate on his own stuff. What I understood instead is that even though his technical skills were excellent, I definitely didn’t want to work with him. For the record, it was an unanimous decision.

After that experience, it was a lot more clear to me what I needed to look for in a candidate: a developer with strong technical skills that I can get along with, an open-minded person and a team player.

Finally, a few weeks before I switched jobs, I got a chance to put my new perspective about interviewing into practice. The interview did not start that well: the candidate needed more hints than expected to solve the first problem, which I considered to be only a warm-up exercise.

I was tempted to think that his technical skills were not strong enough. Instead of jumping into conclusions, I decided to take a break and talk about his background. He was a very nice and polite gentleman. After talking for a few minutes, I realized he was the type of person that cares about doing his best everyday. From the conversation I could tell he was a developer passionate about technology, looking for opportunities to learn new stuff. The candidate was surprisingly humble too: he created and lead a popular and successful open source project! He didn’t say a word about it until I asked him about his hobbies! This guy, as a person and as a developer, was great!

I was glad we stopped and talked for a little bit. He turned out to be nervous! After our short chat, he was more relaxed and he just solved the rest of the problems flawlessly! I’m sure if I didn’t change my point of view about interviewing, I would have dismissed this terrific candidate after the first exercise!

Few days after the interview, I was very happy to hear he was going to get an offer! :)

In conclusion, my lack of experience led me to evaluate candidates based on their technical skills only. As I got more experienced interviewing, I realized that personality and attitude are as important as technical technical skills. These days, in order to make a decision, I ask myself if I’m going to feel comfortable working with a candidate in the same team. More specifically:

  • Do we have compatible personalities and similar technical points of view?
  • Did the candidate show me I can trust his judgement?
  • Was it pleasant to discuss technical problems with the candidate, even if we didn’t agree?
  • How did the candidate and I behave when we disagree?

What do you think? I’d love to hear your experience interviewing! :)

From http://alexruiz.developerblogs.com/?p=1206

Published at DZone with permission of Alex Ruiz, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Mike P(Okidoky) replied on Wed, 2010/07/07 - 8:59am

Evidence of value. What I look for when interviewing is evidence that I will be able to make more money with that person than I have to pay that person. I need to be convinced what type of person this is. Is it someone who does good work if you spec out details carefully, or is it someone that can understand a higher level objective and make me solutions that are good for my company. Good for my company are solutions that will not make me depend on this one person. I want everyone to be replaceable. It's my company and I need to keep my risks to a minimum. Evidence is not found in a resume, but if the person can elaborate and convince me that it is him inventing and creating solutions then I see value. I also like to see projects this person has done. Occasionally you come across someone who created an open source project. This can demonstrate drive, passion, ambition, inventiveness, enthusiasm, and all the rest of it. Unfortunately, most just simply show up for work and do what they're told, and don't demonstrate anything extra like this. This goes for people that spend a lot of time writing articles and saying things about technology topics as well. Although I appreciate people that do their research, I need to see evidence that that research has been and/or can be brought into actual practice. I've seen people that focus too much on changing existing projects, like finicking with the build process (eg. Maven-ifying it because he likes to), doing nothing else but creating test cases to technology we already have and then proudly jumping for joy when a puny bug is found that would otherwise have been found anyway. I need to see evidence that this person is going to contribute to my technology base.

Eitan Suez replied on Wed, 2010/07/07 - 9:15am

hi alex, thanks for the great post. it comes to show that sometimes a 30-minute or 1-hr interview is not long enough to get to know the other person. that's what makes interviewing so difficult: having to make a decision based on imperfect information. i find myself to be somewhat similar to the candidate you discussed interviewing who didn't actively volunteer his credentials until asked.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.