I feel like a reasonably qualified programmer, but a lot of job postings I run into make me feel otherwise. Almost all of them separate qualifications into requirements and desirables, but even the requirements part can be daunting.

I've seen a lot of postings that say they require several years (2 or more) experience in a relatively small technology or library, something specific to their company. Other times I see 5 or even 7+ years experience required for a language. On their own some of these would be ok, but it gets ridiculous when a small town company says you need 3 years in 2 languages, proficiency in network programming, scripting, databases, and stuff like "experience with large highly redundant business critical systems" all at the same time.

Do they really expect to find someone who has extensive experience working with exactly the same technology set they use? I have a hard time finding a single posting where I don't have at least 1 or 2 holes in my skill set. I've heard over and over that most places value your ability to learn quickly and will teach you on the job, but then why say it's required? Are they just trying to discourage the bottom of the barrel (FizzBuzz failures) from applying?

  • 54
    Yes. They exaggerate requirements because crappy coders exaggerate their abilities. Just work on your resume to say "I am not a moron", exaggerate a bit and apply. Employers really do suffer from a flood of bad candidates. Making the posting intimidating is one way to filter out complete morons. You should understand that. You know, going through a front door is tough for both employees and employers due to those whould fail FizzBuzz, as you say.
    – Job
    Apr 3 '11 at 15:27
  • 36
    My favorites are the job postings that want a 'junior' developer with 5-7+ years experience in 4 different languages.
    – RDL
    Apr 3 '11 at 15:54
  • 50
    @RDL: Even better, I remember (a lot of) ads for junior developers with 5-7 years of .NET experience... 2 years after it was released. Apr 3 '11 at 15:57
  • 13
    @Dan - I had a phone interview once where I suggested that every company, if honest, is Agile by degrees and asked where they would put themselves on a scale of Agility and why. He responded that they had to be 100% agile (deliberate choice of casing) because their requirements changed on an hourly basis.
    – pdr
    Apr 3 '11 at 15:58
  • 15
    Oh, I always loved the people who wanted 3 years of Windows 2000 administration experience... in 2001. Sometimes the people making these requirements don't have a clue what they're talking about.
    – Tridus
    Apr 3 '11 at 21:05

22 Answers 22


Yeah, they definitely do. However I usually go by the 75% rule, which is If I feel I know at least 75% of the requirements, then i'll go ahead and apply. Everything else they can just train me on.

  • 9
    Oh, it's too dangerous to disclose this 75% rule as bad coders may read us! Try to guess what requirement they would drop according to ``75% rule'' with these job requirements: 1) C++ experience; 2) self-motivated; 3) team player; 4) fast-learner.
    – P Shved
    Apr 3 '11 at 18:41
  • 4
    @Pavel Shved... pfft... easy. Hire for fit! C++ can be taught! Apr 3 '11 at 19:04
  • 30
    @Pavel, I'm roughly human shaped, what more can they ask for? Apr 3 '11 at 20:00
  • @dan_waterworth: What, they're only hiring humans? Blatant discrimination, I say! I'm 97% human-shaped! Apr 4 '11 at 14:47
  • 3
    @dan: back in 1997 through 2000, if you were roughly human shaped and could spell C++ you had the job.
    – Dunk
    Apr 4 '11 at 20:08

From the hiring side here is how it works

  1. Development lead writes down the requirements for two jobs

  2. Project manager merges them into a single ad = "web designer who knows erlang"

  3. This is passed through layers of management to comment -
    comment consists of them adding the only language/technology they have heard of

  4. HR then 'fixes' this by changing the perl to pearl and putting 2007 years experience in Windows Server.

  5. Recruiter then 'improves' the candidates resume - says he knows VB, that's a language, Erlang is a language so I'll just change it to 10years experience of Erlang

  • @Anders K. - bitter, cynical, twisted - me ? Apr 4 '11 at 15:30
  • 3
    +1 I had a recruiter change my resume without asking. Not only that, he decided some of what I put down was irrelevant to what he thought the job was. Ticked me off, I just got a job elsewhere, one that looked at the whole resume. Not fond of recruiters.
    – Bill
    Apr 4 '11 at 16:36
  • 6
    @Bill - I had one that took my PhD off (thought I looked over qualified). Trouble is I was also applying for a different job in the same group of companies - with the same HR dept! Apr 4 '11 at 16:45
  • Please tell me you're joking. No, seriously, that's not actually what happens is it?
    – Andrew M
    Apr 5 '11 at 19:58
  • @Andrew - well sometimes candidates also lie and companies will put requirements for cool new technologies to lure developers into what end up as VB maintenance roles. So the above is the BEST you can hope for ! Apr 5 '11 at 20:01

Some employers ask for gold when they really need silver; if they can get it on a tin salary, so much the better.

It's wrong thinking, IMO. What they should really be looking for are steel tools to make gold, and that is what you have to convince them.

  • 10
    +1 for word play, being a metal fan and the cool-looking Asian character.
    – Job
    Apr 3 '11 at 16:30
  • @Job - In case you are curious, it means 'beautiful'.
    – DMan
    Apr 3 '11 at 17:21

Here's a reason nobody has covered yet: Government department wants to hire a specific person for an open position. Due to public service hiring rules, they can't do that. They need to have a competition and look at all applicable candidates. But they already have who they want on contract, and getting the person into that position is the desired outcome. (Also, NOT getting that person results in several years of experience waking out the door when the contract ends.)

Solution? Figure out every single thing that person knows, and make the requirements match that list as much as possible. That results in requirements that seem silly and in some cases don't actually even line up well with what the job requirements are, but they also ensure that the person they want is almost definitely the one who meets them.

  • 2
    I've seen this done before - not in software development, but still. Apr 3 '11 at 22:58
  • 3
    Especially within the European Union, where gonverment agencies above a certain size must post a EU-wide call for bids, which usually means that they end up with some contractor from the other end of Europe who doesn't speak English, let alone their native language. Apr 4 '11 at 1:55
  • 2
    @Jörg W Mittag: do you mean the developer doesn't speak the team's native language, or have english as their native language (I realise that in come cases even assuming that a developer will speak their own native language is a stretch but let's leave that aside for now)
    – Мסž
    Apr 4 '11 at 3:18
  • 1
    @moz - quite often the applicant doesn't seem to speak (let alone read or write) any known language. Except in a really bad market government IT jobs don't exactly attract the creme-de-la-creme (comment is required to contain a fixed quota of French to meet Eu posting guidelines) Apr 4 '11 at 15:32
  • 2
    This happens with the H1B program too: they want to hire or import an H1B, so they demand someone who is an accomplished cricket bowler and is fluent in Telugu, with advanced work in fluid dynamics. Oct 30 '11 at 18:46

They do, because most resumes are exaggerated

As pdr says, its a cycle. The only way I can see of breaking it is to provide something out of the box as real and actual validation of your skills. Things that come to mind: personal projects (e.g. open source ones), complex problems you have solved, and contact information of reliable peers that can recommend you.

There is an inherent risk with providing extra information companies can scrutinize, but sometimes it can be worth it to make a resume stand out without babbling how 'awesome' you are.


They do exaggerate and I believe that's a mistake. Those who don't apply because they can't do 100% or even 90% of requirements, are probably the people you want to talk to, but they're not applying because "they can read the specs".


They do, and from my experience there are two reasons for this:

  1. A recruitment agent or HR person who doesn't know the technology wrote the ad.
  2. They're deliberately trying to intimidate the riff-raff (as others have said).

Number 1 is the most irritating. What will happen is something like this: a HR/recruitment person is given a list of technologies that are used at the company, along with a brief description of which ones are current and important, and which ones are perhaps marginal and/or on the way out. They will then often misinterpret which of these belongs in the "required" vs "desirable" lists - or worse yet - represent something extremely marginal as an everyday required reality.

For example: in one of my previous jobs the recruiter told me that the company uses Rational Rose and does very formal design and development using UML, etc. Turned out neither Rational Rose, UML, or any kind of formal design process was used at the company at all - it was just something the company contact mentioned offhand as a "nice to have", just as a broad background thing to know, for some reason. But the recruiter ran with it and presented the role as a hardcore design-process-based role.

Another case I had was applying for a C++ role, and ending up doing Java. It was a big company with several different products. They hired me for the C++ role, I did that for eight months, and then they needed extra hands in the Java team. Other people actually went straight to the other team that way after being interviewed for jobs for another team.

TL;DR: Yes, they do. Sometimes out of sheer ignorance of what's important, at other times deliberately trying to intimidate. I think the "75% rule" is a good rule of thumb. Also, maybe reading between the lines and thinking about what the role might involve. These lists often overlap, or are outright redundant. eg. If you know how XML works and have used it for years, you'll learn a YAML or JSON based data transfer protocol in a day. eg. Think about how your existing skill set is transferable to what the role is asking. Often knowing a specific tool is less important than knowing the concepts behind it.

  • 1
    I once got called by Hr because they thought they had a new position I would be a good fit for (instead of the one I actually applied for). I asked what programming languages the position needed and the person on the other end of the phone said, "Is that important?"
    – HLGEM
    Apr 4 '11 at 15:47
  • Why don't the programming team just write the spec themselves and demand that the recruiter publish it unaltered?
    – Andrew M
    Apr 5 '11 at 20:12
  • @Andrew: That would make too much sense. :) Oftentimes decisions to hire are made "from above". And high level managers + HR take charge of the process for political reasons. That's what I've seen happen (especially in larger organisations) anyway. Apr 5 '11 at 21:25

I used to develop for a company that made HR software to solve this exact question, and there's another factor no one has been talking about. Companies often use "# of years experience with X" as a proxy for "good at X", so when they ask for someone with "5 years of Java" they really want someone who's a great Java developer.

This works well in other industries: a lawyer with 7 years of experience is generally better than a lawyer with 3 years. Same goes for a doctor: you'd pick the heart surgeon with 1000 surgeries under his belt over the rookie who's done 10. But it doesn't apply so well to programming. We all know smart programmers, good with a variety of languages, who pick up Java like second nature after 6 months with it. We also know people who have coded poorly in Java for decades. Experience just doesn't correlate with skill in programming the way it does in other industries.

So why do they ask this, you say? Because there aren't really any better ways to ask the question. If you're looking for a smart programmer, you can't just say "Smart in Java"; you have to say "5 years experience in Java". So when you see a job ad that asks for 5 experience with a 2-year-old technology, that just means they're looking for a rockstar programmer. So if you think you've got it, go ahead and apply.

  • 3
    Programmers love to think that programming is somehow fundamentally different to other intellectual jobs. But it isn't. Experience does correlate with skill in programming, though of course it's not a perfect correlation because there are other factors at work too. And do you really think that lawyers and doctors are all the same? That they all work equally hard and have equal aptitude and the number of years they've spent on the job is the only thing that differentiates them? Feb 26 '12 at 12:32

Yes they do. Unfortunately, it's a self-perpetuating cycle. The more people get used to the idea that if you have most of what they're looking for then they will interview you, the more you have to exaggerate to eliminate those who don't have what you really need. It's an unfortunate problem but I don't really see a way out of that cycle.


I don't think it's a matter of exaggeration as much as just not knowing what the real requirements are. I got a small peek behind the curtain recently when a manager two levels above me asked for help posting a job ad. Their one and only question was whether they should be using the .NET or J2EE template for a new hire on a particular project. This gives you two pieces of information (at least about the company I'm contracted to).

  1. They use standard templates to advertise open positions.
  2. The people posting the ads don't even know what the open position is about.

Based on many of the job ads I've seen, I imagine that a lot of hiring managers use the same flawed approach.

  • So managers that do this should be fired. And CEOs should be fired too for not firing the managers. PS: This was not an ironic comment, I'm actually very serious. Jan 11 '14 at 9:03

In my opinion, I also think that there is some exaggeration. However, I have found that even when I met 75% of the requirement, that I may have gotten a pre-screen call but when I was honest about the other 25% I didn't get another call back.

If you are finding that you are constantly missing the requirements then maybe you should look into expanding your knowledge base on your own. Create a simple application on your own and put it on your resume. I have found the greatest asset on my resume was my personal projects (even if they were small).

Just my 2 cents.


Yes they do. The bit that can sometimes be difficult is getting your foot in the door and managing to relax during the interview, but if you can manage that and you're any good the interviewer will soon realise that (if they're any good).

And also some firms want to take the perfect person on, but aren't too worried if they never find them (it seems), so they may have an ad hanging around for literally YEARS.

When I've been interviewing people in the past for dev roles I always want to see a bright nerd with a sense of humour whom I think is going to fit in. Unfortunately you do see a lot of dross!

As for silly ads, in 2007 I remember seeing a job advert wanting 10+ years .NET experience (when it was 5 years old I think)...

That kind of ad just makes any competent programmer think that the person who placed it is a moron.

Even forgetting the fact that you must've been coding two full-time jobs at once, or working inside a microwave, or travelling at close to the speed of light or whatever (lol), requiring 10+ years experience for a coding job?! Seriously?! Since when has that been necessary?

  • I would think it would be necessary on a lot of things, like anything involved in safety such as medical equipment. Apr 3 '11 at 23:02
  • That seems nonsensical to me. So you'd turn down the most capable guy ever as he only graduated from uni (and started working for a living) nine years ago? Apr 3 '11 at 23:18
  • Dommer - Not sure what the down votes were about, so I bumped you up one because I think your answer was reasonable.
    – jpierson
    Apr 4 '11 at 4:23
  • @jpierson: Thanks! I wasn't sure either. It was my first ever visit to this SE site and it didn't make it seem like a very friendly place. You have restored my faith in humanity! ;-) Apr 4 '11 at 9:39

Some do, some don't. The important part of a job posting is not the requirements section, but the job description. If you honestly believe that you can manage all the tasks the job would include, without too much training, then apply for it.


In general a job posting will list a superset of skills required, never just a subset.

In essence the job posting is describing the 'Optimal Candidate' but rarely do they outline the baseline requirements. It's a tacit assumption that candidates will apply if they feel they are 'close enough' to what is requested.

At the end of the day its very often a fuzzy process to determine if the intersection of job requirements and candidate qualifications is sufficient to warrant further investigation.

As a rule of thumb - it's better to apply if you like the opportunity and feel like you have experience that loosely maps to what they are asking for. No harm in it - if they feel like your 2 years of experience is too little they simply won't follow up.


In my opinion no, job postings are usually pretty accurate in terms of requirements but they are usually describing the ideal candidate. I think in most situations those hiring will aim high but eventually will compromise a bit in the end when they need to choose the person to fill the position.

Whether the bulk of job requirements stated are accurate or not is probably a bit different of a question but I could see that if the person writing the job ad is inexperienced or does not have the necessary details about the position that they may try to overshoot to be careful that they do not miss some important detail knowing that if they were to accidentally undershoot then those conducting the interview or who end up with the under-prepared hire may hold them to blame. Although I would believe that with the amount of money that goes into looking for new hires that the situation would be the minority of cases otherwise it would just be a big drain on a company's resources.

From my experience hiring and writing similar job requirements I get the sense that most requirements are right on. If your reading a job ad though and it doesn't seem coherent or sounds like it is written by somebody who is not in the field or doesn't have an understanding of the items they are listing as requirements, then it may be a good sign that these things may be inaccurate and that it would be better to leave it up to their interviewers to decide if you are right for the job.


I think that most companies know that they won't get exactly what they're looking for - but why chance it? If someone applies who happens to have exactly what they're looking for, then they (both) win. If someone applies that has the skills/experience that they care about most, then training usually fills in the gaps. I think this happens for any sufficiently skilled type of work.


Well, I have to be contrarian. I only have my own experience, however, I have actually placed job-ads.

If your company is even half-way competent, then you're going to receive many hundreds of qualified resumes. About 80% of those will meet 80% of your requirements, and about 20% will meet 100% of your requirements.

In general, I favor the smart, and gets things done approach, but for some positions (senior/architect), you need someone that's been in the trenches. Someone that already knows about a framework ABC's xss faults for example, so that that doesn't bite you in the butt 12 months later.


I've seen a lot of postings that say they require several years (2 or more) experience in a relatively small technology or library, something specific to their company.

You will see lot of these ads also in the Australian job boards. Especially Australians(HR) seem to value technology-specific experience above your ability, skill, education or the projects you completed. And they want experience in a specific technology - 5 years or so on a crazy library or a framework that takes few hours to learn. In one job, the pay was great so I applied only to be pointed out by HR guy that EVERYONE is a "quick learner" . The resume somehow got into the hands of the dev head who called me immediately but that's another story.

Oh yeah, and everyone knows a .Net, we need someone experienced in InstantForum! Everyone knows a .Net, we need someone experienced in InsiteCreation CMS! Everyone knows a PHP and a lot of open sources like Drupal and Magento and eZPublish , but we need someone who has 5 years Wordpress Experience!!

I don't think it's fair at all but that's how the real world is like for every professional.


It's because they asked the last person who had the job to write their own job description and the list just keeps building up over time.


I recently saw a job description which was for a Senior .NET Back end Developer.

It required:

LAMP, PHP, MySQL Flex, ActionScript OpenGL

And of course you had to know C#

I just sat there staring at the screen wondering if I was wrong for thinking this was nuts or if they were wrong.


IMHO, most job postings do not exaggerate their requirements.

They just do a horrible job of obscuring the skills that are absolutely needed for the job from day one by mixing them with the skills which might be needed or which may be learned on the job.

Unfortunately, many developers do the same with their resumes - they add so much that they obscure their core competencies.


I'll add yet another answer here even though there are many answers already, because this answer is sort of opposite. While job description inflation is very common in the industry, my own employer very often soft-pedals the requirements of roles, because

  1. There are enough staff on the team that a specific skills gap for the applicant isn't a problem, if they broadly have the right kind of skills
  2. The job is pretty technically demanding and possible applicants know this, so the requirements are to some degree understated to make sure that we don't reject excellent applicants just because (for example) they don't know Python.
  3. We hire engineers at a variety of levels, so people responding to the same advert will get hired at different grades depending on their abilities.

Not the answer you're looking for? Browse other questions tagged or ask your own question.