jump to navigation

Recruitment and the Mythical Year of Experience December 6, 2007

Posted by Imran Ghory in recruitment, Software development.

When it comes to recruitment the basic unit of measurement for ability is “years of experience” – this is something that many developers very vocally consider inappropriate, often due to the amount of experience being requested seeming excessive. However if you consider it from the viewpoint of the company hiring, it does make a certain amount of sense.

There is a strong correlation between the years of experience an average developer has and their ability as a software developer.

You are not the average software developer.

As has been discussed elsewhere in the blogosphere recently, if you read programming blogs for fun then you are not the average. Most software developers do not read programming blogs or even programming books for fun. Not that there’s anything wrong with that, but many software developers seem to have an innate assumption that other software developers are like them (i.e. I read books, so they must read books too), which in part is responsible for the frustration with the “years of experience” measurement.

The average developer’s skills are closely correlated to the amount of experience they have because for the average developer on-the-job experience is where they learn and become better developers. Hence it makes sense to use years of experience as a measure, it’s not exactly what we want to measure but it’s a better proxy measurement then anything else in common use.

But the next obvious question is: Why do firms ask for many more years than they seem to need ?

Lets consider a company that goes out and interviews a lot of people who’ve applied for a job. Say the average applicant applying has five years of experience, and from all their interviewing they find the candidates are too weak for the role. So they bump up the requirement to seven years. Not because they don’t think there’s anyone with five years experience who can do the job, but that the average developer with five years experience can’t and that the number of people with five years experience who can do the job is significantly less than those with seven years experience.

It’s purely a number game. If only one-percent of those with five years experience are good enough for your needs but five-percent of those with seven years are, then requiring seven years of experience will significantly decrease the number of interviews you have to conduct. Say you expect to interview a hundred candidates – would you rather be left with five candidates who are strong enough (and can then be judged on other criteria such as fit, etc.) or just one candidate who may or may not be a match for your company ?

However it’s actually worse than this situation, as the average software developer is actually significantly better than the average software developer who’s on the job market. People who are above average for their level of experience get hired very quickly because firms realize a good thing when they see it. People who are below average stay on the market for longer and therefore apply for more jobs. So not only are the people looking for jobs worse than average, the worst are also applying for a lot more jobs.

This means that if you want someone with the skills of an average developer with five years of experience, you might have to actually hire someone with ten years of experience – who’s significantly below average for their level of experience but is roughly equivalent to the average developer with five years of experience.

So if you’re an above average developer, you need to realize that the “years of experience” requirement isn’t written with you in mind. Rather it’s written for the below average developer on the market for whom it actually makes sense.



1. roland - December 7, 2007

Interesting that you can’t do this with new frameworks such as Ruby on Rails – your upper bound as a recruiter is 3 years (unless you want to look like an idiot). Maybe this contributes to the fear that you “can’t employ anyone” with new things. It isn’t that there is no one to be employed, just that the “average” yardstick can no longer be applied.

2. James - December 7, 2007

It’s ridiculous to measure in years because there are some people who are just innately talented at programming and can learn and do more in a year than others can do in ten years. I’m not a programming genius but I have a friend who is and he went from being a relatively inexperienced ASP programmer to a highly skilled ASP.NET developer in a span of a few years. He now oversees a staff of Ivy-League CS graduates at a startup in San Francisco, checking and editing THEIR code for problems and inefficiencies. He’s just gifted with the ability to write ultra-efficient code and to look at programming problems and quickly come up with solutions. So he’s got maybe 4 years of experience now but that doesn’t tell the whole story.

3. Top Posts « WordPress.com - December 7, 2007

[…] Recruitment and the Mythical Year of Experience When it comes to recruitment the basic unit of measurement for ability is “years of experience” – this is […] […]

4. Marcin Tustin - February 8, 2008

Of course by increasing the years of experience requirement, that means that they automatically cut out anyone who is better than the average on the market (unless they offer eye-watering salaries).

5. David - March 3, 2008

What makes a “solid” programmer is instinct. While some people may have more natural talent and so are better programmers early on, the talent is not in code writing but in recognizing patterns and being able to make valid conceptual leaps. For most developers this instinct is developed over time, through many experiences.

Just as better musicians are those who play constantly and explore how their chosen instrument fits / works with different styles of music (jazz, classical, funk etc.); so to the bets programmers are those with several years experiences, across multiple industries, languages and operating systems.

I have interviewed developers who have ten plus years of experience pigeon-holed in the same job and found them to lack the ability to translate their acquired knowledge to other situations. Likewise I have interviewed and hired developers with as little as five years of experience, but experience with two or more industries, languages and operating systems, who already processed solid programming instincts.

I agree with Imran, you must look at the developer’s code. I would further add that you need to ask the developer to walk you through his or her solution and explain why he or she solved the problem they way he or she did.

If you are reading this and are not a developer (meaning that you would not feel comfortable or technologically savvy enough to walk through a developer’s code) I invite you to view a commercial solution to the problem of how to determine if a developer can actually develop (just follow the link for my Url).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: