Thursday, April 10, 2008

Hiring for Skills vs. Potential

A commenter to my last post wondered why we don’t just hire smart people and train them on the necessary skills. After all, every new employee has some amount of ramp-up time, so why not just hire the brightest candidates, then extend the ramp up time a bit and help them learn the skills they need?

This approach certainly sounds attractive, but there are some counter arguments. For one, there is a significant cost element to having extended ramp up times and putting employees through training. However, I will put that argument aside for the moment to focus on another concern.

The bigger problem in my estimation is how to tell that someone is a good learner and can pick up new skills quickly. Basically we need to discern in an interview whether a candidate has the aptitude to easily adapt to new technologies, which is much more difficult to do than just evaluating their existing skill set.

I remember back in high school when we all sweated over taking the SATs. That’s the Scholastic Aptitude Test, which implied, nay -- claimed – to be a test of aptitude rather than knowledge. However, if you’ve taken the test you’ll likely agree that it was in fact mostly a test of knowledge and skills.

You couldn’t hope to do well on the SAT unless you had a huge vocabulary and solid math skills. If you had aptitude but didn’t have great English or math knowledge (e.g., if you attended a poor inner city school), chances were you would do poorly on the SAT. Furthermore, as I recall SAT scores were shown to be a rather weak predictor of future performance in college. Which just goes to show that testing for aptitude is hard.

Some people might say that most talented, experienced engineers can pick up a new technology in short order. That’s likely true, but there are certainly many experienced engineers who are not particularly good with the technologies they already use, and are not likely to get much better with new technologies. So how do you separate the wheat from the chaff? How do you identify the truly talented ones who may be the good learners? It goes back to the aptitude measurement problem.

One possibility is to give candidates an IQ or other intelligence test. However, HR and legal departments in most companies will nix the idea of written tests for candidates. It all goes back to liability and possible discrimination lawsuits, as IQ tests may be culturally biased. Gotta love those lawyers!

Another measure of aptitude is a person’s performance in school. Presumably if they did well in their classes they were good at learning new things. But that’s not a guarantee, as there are many people who are good at “book learning” but not so good at learning problem solving skills.

Writing software is not about rote memorization; you need a combination of analytical skills, creative thinking, and more importantly, the ability to see existing relationships and envision new ones. These are skills you learn and develop over time, and which you can’t easily pick up in school.

Having said that, I still think that hiring top students out of school is a promising approach to finding candidates with the best aptitude for learning. Unfortunately, many companies including mine do not aggressively recruit on college campuses, which is a shame. But that’s a subject for another post.

2 comments:

Anonymous said...

One good way to test for learning ability, is to ask questions about the technologies which the candidate has worked with in his previous jobs, even if those subjects are not actually relevant for the job they're applying for.

For example, if a candidate mentions Microsoft DCOM on their CV, I will ask some fairly detailed questions about that subject to make sure that they understand what they're talking about. My company doesn't use any Microsoft-specific technologies, but that doesn't matter. If the candidate has picked up DCOM to a high level of understanding after working with it for a year, then I am confident that he will be able to pick up our company-specific technologies as well.

Of course, this does require that the interviewer also has a deep and detailed knowledge of that subject. So instead of having the technical questions be asked by a techie from the candidate's future team, you need to select the technical interviewer on the basis of the candidate's CV.

Anonymous said...

One thing that I've noticed is that many of the smart people coming out of school are also unfamiliar with a lot of the technicalities that a lesser-ranked person might have. For instance, I have a friend that has a 3.8 and is very smart. He has no problem following directions and getting things done. But he often does things non-standard or the long, roundabout way because he isn't familiar with the language as well as someone else might be. It's hard to describe the differences between these two types of people but it is definitely there. One person is very technology oriented and they went to school so they could be around technology and learn more about it. The other is, what I will call "math smart" where they fit in nicely in a software dev program but they don't have the technical background as others.