Great candidate == great (technical skills + personality + attitude)

by Алекс Руис on July 6, 2010

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! :)

Update: The nice folks from DZone have posted this entry at Javalobby.

{ 17 comments… read them below or add one }

Eyal July 6, 2010 at 9:02 am

If most of the interviewers were open minded as you, I think better people were located in their better positions => better teams everywhere.

(and I could not think of myself get interviewed, nervous, and thinking ‘I hope we just chat’)


Alex Ruiz July 6, 2010 at 7:42 pm

Thanks Eyal for the kind words. You made my day :)



Youssuf July 6, 2010 at 1:29 pm

Alex – I wholeheartedly agree with what you’ve written regarding hiring/interview practices. I believe this is especially important when hiring entry/junior level candidates who may be new to the industry.

Team productivity is severely impacted when you have prima donna’s with attitudes similar to the candidate you described.


Alex Ruiz July 6, 2010 at 7:46 pm

Thanks Youssuf. I completely agree with you.

Something that I didn’t mention is that I have found it hard to find literature regarding this important topic. I’ll keep looking around and post any useful link I find :)



Nanik July 6, 2010 at 8:28 pm


I was in the same kind of position like you when it comes to interview and I learn the same kind of lesson like you did. It is easy to find just develoopers but it is not that easy to find developers with the right criteria of technical skills + attitude + personality) and if you do find it you better make sure to hold on to them as you don’t want to lose them as they are a major assets to your team.

Good article !


Bob July 6, 2010 at 10:52 pm

I totally agree that the best engineering hire is more than a group of tech skills.

I’ve interviewed hundreds and hired many folks over two decades. Doing all that interviewing and then watching how the hired folks did afterward taught me that building a team is tough. I certainly made mistakes.

An interesting view on the importance of hiring is that many companies limit the “signature authority” of purchasing to top managers but allow indiscriminate hiring of $6-figure salaries.


Ted M. Young July 6, 2010 at 10:59 pm

Right on, Alex. I often find it easy to give a hire/no-hire based simply (though it’s really not simple) on whether I could see myself pair-programming with the candidate on a regular basis. A great attitude (humble, good listener, passionate, etc.) will always win me over.



Dejan Dimic July 7, 2010 at 6:51 am

I always go from personality judgment and get to know the candidate as better as I can in short period of time and only if I can imagine him/her can work in our team I go to technical issues.


Kevin Rodrigues July 7, 2010 at 10:04 am

I agree with you Alex that a great candidate requires technical skills along with a good attitude and personality. Perhaps it is even more important than the technical skills. The most important thing while working on a project in a team is if the person will contribute in the overall team effort or he will prove detrimental towards the efforts. The right attitude as a team player is very important for the entire team. If you are looking for a candidate for the long term, attitude scores over technical knowledge.


Petri Kainulainen July 7, 2010 at 11:57 pm

I have often been wondering, why I can say after a very short period of time, if someone would be an addition to our team. Actually, sometimes I have been feeling a bit guilty for not giving the thumbs for a good candidate (in a technical sense), who simply could not give me this feeling during his interview. After reading this blog entry, I know that I have done the right thing. Alex, I will pass this entry forward to my colleagues, who are sometimes asked to participate in interviews. I know from personal experience that the situation can be pretty frightening, and I feel that your ideas would be beneficial for them. Keep up the good work.


Gator71 July 27, 2010 at 2:08 am

Interesting article : yes.
But, maybe, a little “obvious”, isn’t it ? What Alex describe is not “great candidate” but “the “best candidate” that provide a team with great technical skills, and good personnality and attitude :)
These candidates are a bit scarce on the place. The question, then, is how can you manage/accept people that have not all these qualities ? how can you make people getting better because they are in your team.
I’ve a 15 years experience in software project and I have the strong feeling that programmers are often “special” personnality people – the main point is this people have serious difficulty to wrok in team :(… they, often, work better alone. Saying that is not discriminative, not a pure critical but only a fact. The big question is how to get such people working better in a team….


Alex Ruiz July 27, 2010 at 3:24 pm

I don’t think I described the “best candidate”. Sometimes I would forgive some technical weakness if the candidate has very good attitude. For example, the candidate might not know Swing but he/she can pick it up in a short period of time.

I agree with you, I have worked with programmers that were not easy to deal with at all. But that is something that management needs to fix, that is not a programmer’s job. There are things that we, as programmers, can do (e.g. talk to the individual, or if that fails, talk to management, etc.) And, if things do not get better after that, probably that’s not the kind of place to be working at.



Elaine August 19, 2010 at 9:43 am

See, I don’t know about technical interviews. My VP boss hired technical people without even asking them technical problem solving questions, but just on what s/he had done in the past experience, what experience they had and his natural instinct based on their reaction, way of talking and mostly only on experience. (not even a prescreen test.. if you know C++, there is no test).

Out of his 20 years of hiring.. there was only 1 that didn’t turn out well and left after 1 year. The others are all fine. (maybe because they all have grad degrees?)..and yet some of these people didn’t major in Computer Science.. they have Mech E, Civil E, Comp Sci, Aerospace all programming CFD software and the software was created by a non-Comp Sci guy. The software is also still being used by Honda, Ferrari, Toyota, GM, etc and others engineering companies that use it to design the cars and planes everyone transport in.

So the question is -> Is behaviorial a MUCH better indicator than technical? I mean my boss had been doing it for years with over 95% success rate.. better than other companies who uses technical interviews.


Alex Ruiz August 19, 2010 at 10:21 am

Hi Elaine,

IMHO, both technical and behavioral are important. Sometimes I would forgive some technical weakness if the candidate has good attitude. It is really not black and white. There is a lot of gut feeling involved when choosing a candidate. At the end, you don’t want to end up with the complete extremes: a genius that can code like mad but is a jerk, or the nicest guy who cannot do anything right.


Peter Teoh December 9, 2011 at 4:46 am

Life is not really so easy to characterise. There was a guy in Pixar (which consistently till today always produced block-bluster) who dare to criticise against the quality of the movie (sorry, cannot remember the person name) which was already near finishing in production, and got Steve Job to review it, and finally Steve Job agreed to overhaul the movie – which include rewriting the script again. I had many students, some are always very polite, but really are lacking in self-motivation and hardwork – even completely ignoring all my instructions over many times, and even re-asking the same question again. They just have no focus. In my job (as a researcher) – persistency and zeal to do monotonous tasks in different ways is needed. Many just don’t bother to even try a small start. During interviewing time there is no way to foresee so many problems that may happen in future – ie, it is not just technical problem + team player (eg, following my instruction). Sometimes they had to work part-time, sometimes they had girl-friend problems, sometimes they addicted to games (especially with the advent of Android + iPhone + 3D games etc).

And yes, the guy you interviewed totally had the right focus – he just don’t want to waste time discussing things which he is not even sure he will get the job or not. He has reached his excellent technical skill level is perhaps because he has more zest in technical stuff – spending more time in these area than others.

Decisions in life is most of time hard to make – that’s my opinion.


Rob Palmer January 6, 2013 at 10:50 am

Having the right attitude is a bonus, but I would rather work with a technically strong person with not so great attitude than one with great attitude but poor tech skills. Too much emphasis is given to personality these days , hiring managers should stop acting like school girls looking for friends and build a technically solid team who can build very effecient systems.


Alex Ruiz January 6, 2013 at 12:33 pm

That would be the other extreme: a nice guy but incompetent. I don’t think anybody would like to work with somebody like that. That individual will not only bring zero value, he/she can potentially be a negative element in the team.

Yes, there are cases that a little attitude can be overlooked if the person can bring a lot of value to the team.

The whole point of the post is that being smart is not enough. Good attitude is important too.


Leave a Comment

{ 1 trackback }

Previous post:

Next post: