I've been a professional C, Perl, PHP and Python developer.
I'm an ex-sysadmin from the late 20th century.
These days I do more Javascript and CSS and whatnot, and promote UX and accessibility.
From the point of view of someone who's lead or sat in on a lot of interviews - and who doesn't have any training in that area - I have a couple of observations.
If you set someone who is straight off a university course a task to do, they'll often attempt it in an overly-engineered manner. You'll ask for FizzBuzz1 and they'll try to give you FizzBuzzEnterprizeEdition over the next hour. Someone who has a year or more of real-world experience will throw a dozen lines of code on a board and talk to you about how they'd improve it if they had a good enough business reason.
Of course it's not really fair. There's often only a limited budget for recruitment because it takes up the time of HR, a developer (or more than one) a technical or team lead, etc. Each person brought into the office is another person-day of work which could be used for something with a visible result - the kind of thing management prefers.
Ideally, everyone who fits the actual requirements of the job should be brought in and evaluated on their own merits. The years of experience thing is done to put people off applying more than anything else.
If you see a job advertised that says it requires a year of experience and you have none, apply anyway. If it says it needs two years, apply if you have any, even if it's not from a commercial environment. Any more than that and, yeah, they probably mean it2.
From the point of view of someone who's lead or sat in on a lot of interviews - and who doesn't have any training in that area - I have a couple of observations.
If you set someone who is straight off a university course a task to do, they'll often attempt it in an overly-engineered manner. You'll ask for FizzBuzz1 and they'll try to give you FizzBuzzEnterprizeEdition over the next hour. Someone who has a year or more of real-world experience will throw a dozen lines of code on a board and talk to you about how they'd improve it if they had a good enough business reason.
Of course it's not really fair. There's often only a limited budget for recruitment because it takes up the time of HR, a developer (or more than one) a technical or team lead, etc. Each person brought into the office is another person-day of work which could be used for something with a visible result - the kind of thing management prefers.
Ideally, everyone who fits the actual requirements of the job should be brought in and evaluated on their own merits. The years of experience thing is done to put people off applying more than anything else.
If you see a job advertised that says it requires a year of experience and you have none, apply anyway. If it says it needs two years, apply if you have any, even if it's not from a commercial environment. Any more than that and, yeah, they probably mean it2.
I've never asked anyone for FizzBuzz. ↩
Or they're the sort of idiots who ask for 5 years of the framework that got released a month ago. ↩