Yeah, I know that hiring developers based on experience is generally bad for the company that does the hiring because it excludes the best engineers who don't have the requisite skills. Jeff Atwood put it best when he said that there is no correlation between years of programming and the skills and gave a wonderful example on how someone who did not have prior low level TCP/IP coding experience managed to outdone others who did have the experience simply because he was a better programmer. Not just that, from what I read, when comes to hiring developers, the mastery of the correct technologies isn't even one of the prerequisites.
Why, then there are companies that still post advertisements that require XXX years of experience in ASP.NET, YYY years of experience in Multithreading? If years of experience is not really a differentiator, why IT companies are still filtering candidates based on that metric?
Let me try to answer this question.
Generally, it is not the developers, or managers with the developers' background who are doing the hiring. The one who is responsible for putting up advertisement, screening candidates, is the Human Resource Department. IT managers are just too busy for that. I don't think the HR knows enough about software development to understand this point. How can the HR people tell a good developer from a bad one?
They can't. All they can is to filter off unqualified candidates by
Believing that the past is a good predictor of the future, the HR people will try to scan your resume to see whether you have the correct experience or not. In other words, if on your resume you don't have the correct keywords, the HR people will simply just ignore you. You are automatically excluded regardless of how brilliant you are or how fast you can pick up new technologies. That's the worst kind of treatment can ever be bestowed upon, even worse than turning you down because when people turn you down, at least they gave you some consideration in the first place.
The HR people don't have the background to tell a good developer from a bad one. How can they? How can they tell a person who is a fast learner from the one who isn't? Even if you put the four golden words "HAVE ABILITY TO LEARN" at the title of your resume it would have meant nothing because everyone could do that. Besides that, like grade inflation, hyping is so common nowadays that Steve Yegge discouraged developers from putting in "fast learner" into their resume. And non-developers cannot differentiate between a good programmer and a mediocre one. Like scientists, programmers are highly skilled professional and their work are indecipherable to the outsiders.
So, the conclusion: the initial screening must necessarily rely on keywords and experience. In other words, the experience myth is there for a good reason.
Just in case you didn't see it, I would like to emphasize this by reiterating it again, this time with bold letters:
The initial screening must necessarily rely on keywords and experience.
Yeah, it's bad, but it's a necessary evil.
IT managers do interview candidates, however, they are interviewing the already filtered candidates. So you can't count on them to save you if you don't have the correct keywords and experience, sorry.
Unfair, I know. But in this world nothing is fair.
So, what can I do?
As developers, if you really want the job bad enough and you don't have the correct keywords and experience on your resume, here are the things you can do:
Warning: you can stop reading now if you dislike advertisement.
If you are really frustrated by the Experience or Keyword Discrimination and you are willing and able to work in Puchong, Malaysia, do write to me. Our company is hiring and I promise you an evaluation free of those discrimination.
Why, then there are companies that still post advertisements that require XXX years of experience in ASP.NET, YYY years of experience in Multithreading? If years of experience is not really a differentiator, why IT companies are still filtering candidates based on that metric?
Let me try to answer this question.
Generally, it is not the developers, or managers with the developers' background who are doing the hiring. The one who is responsible for putting up advertisement, screening candidates, is the Human Resource Department. IT managers are just too busy for that. I don't think the HR knows enough about software development to understand this point. How can the HR people tell a good developer from a bad one?
They can't. All they can is to filter off unqualified candidates by
- Checking the candidates' CGPA
- Examining the candidates experience
Believing that the past is a good predictor of the future, the HR people will try to scan your resume to see whether you have the correct experience or not. In other words, if on your resume you don't have the correct keywords, the HR people will simply just ignore you. You are automatically excluded regardless of how brilliant you are or how fast you can pick up new technologies. That's the worst kind of treatment can ever be bestowed upon, even worse than turning you down because when people turn you down, at least they gave you some consideration in the first place.
The HR people don't have the background to tell a good developer from a bad one. How can they? How can they tell a person who is a fast learner from the one who isn't? Even if you put the four golden words "HAVE ABILITY TO LEARN" at the title of your resume it would have meant nothing because everyone could do that. Besides that, like grade inflation, hyping is so common nowadays that Steve Yegge discouraged developers from putting in "fast learner" into their resume. And non-developers cannot differentiate between a good programmer and a mediocre one. Like scientists, programmers are highly skilled professional and their work are indecipherable to the outsiders.
So, the conclusion: the initial screening must necessarily rely on keywords and experience. In other words, the experience myth is there for a good reason.
Just in case you didn't see it, I would like to emphasize this by reiterating it again, this time with bold letters:
The initial screening must necessarily rely on keywords and experience.
Yeah, it's bad, but it's a necessary evil.
IT managers do interview candidates, however, they are interviewing the already filtered candidates. So you can't count on them to save you if you don't have the correct keywords and experience, sorry.
Unfair, I know. But in this world nothing is fair.
So, what can I do?
As developers, if you really want the job bad enough and you don't have the correct keywords and experience on your resume, here are the things you can do:
- Pray that the HR people are enlightened, either by a beam of heavenly light, like Saint Paul or through reading blogs and mixing around with other enlighten people
- Work part time to gain the necessary experience
- Bypass the HR department, talk to the IT managers directly or let them come after you.
Warning: you can stop reading now if you dislike advertisement.