I’m reading a fantastic management book: “First, Break All The Rules” by Marcus Buckingham and Curt Coffman. There were few paragraphs which really made me think about the way I’m interviewing people when our company look for candidates.
“ Managers look at “lower-level” roles like housekeeping or out-bound telemarketing and wonder, “How could anyone want to do that job ? That job must be so demoralizing.” “
“ Let’s take hotel housekeepers as an example. Most of us haven’t spent much time mulling over the details of house-keeping. But consider, for a moment, what hotel housekeepers do and how often they have to do it. Put yourself in their shoes. Okay. Two things might have occurred to you: first, that this is an easy job anyone with a modicum of responsibility can do; and second, that this is a terrible job that everyone, including housekeepers, must hate to do. If this thought crossed your mind, then you would be wrong on both counts.We shouldn’t devalue housekeepers. Anyone can probable clean a hotel room once in a while, but great housekeepers are special. “
“ “How do you know if a room is clean?” we asked them (the housekeepers). They said that the last thing they did before leaving a room was to lie on the guest’s bed and turn on the ceiling fan.
“Because”, they explained, “that is the first thing that a guest will do after a long day out. They will walk into the room, flop down on the bed, and turn on the fan. If dust comes off the top of the fan, then no matter how sparkling clean the rest of the room was, the guest might think it was as dirty as the top of the fan. “
Does it ring a bell? how many times we think that maintaining code is a job that any mediocre programmer can do but developing infrastructures requires a superstar programmer. I guess that we all do in some point of our lives. The truth is that those tasks will be performed in a productive manner according to the person’s talents. If the person is passionate about understanding how current things work just so he could fix a leaking class in the system he’ll probably be very good in maintaining applications (this is the same talent that will make a superstar plummer). If the person passion is to know how the entire framework works, he love to read about the small details and he loves to develop everything from scratch (at least at first), he’ll probably be a great infrastructures developer but poor at maintenance.
As an interviewer, how many times are you interviewing people just to see if they’re good programmers in general. Let’s assume that you’re looking for a programmer for your existing team. “On the one hand, her analytic thinking is excellent, she’s familiar with the technology, she can handle problems by herself and she can find her path in a pile of documents. On the other hand, she looks kind of a “cold” person, which can be problematic in our very bound-together team; But hack, I can teach her how to be “wormer” so she could fit it. what are we waiting for?! she’s an excellent programmer, let’s hire her !!”
Do you really think you can change a person that much ? would she be able to express her full potential in your team ? I guess it’s possible, but not likely. What about your other teammates ? Will they be more productive with her in the team ? I guess that probably not.
My point is that you should consider the talents the candidate should posses before considering the skills and experience you’re looking for. Skills can be taught and upgraded, knowledge can be transfered, experience is only a matter of time. Talent is what we born with and what makes us unique. You can’t teach someone to be a positive guy or a code-passionate person (or any other talent, for that matter), but you can certainly place him in the right spot so he could make the most of his *existing* talents.