This is why, when I see 22-year-old kids in interviews claiming 10 years of programming experience, that's a negative signal for me. Commercial programming is solving problems you didn't choose, in a language that's not your favourite, using existing code you didn't write, for people you would never have met outside the job, in less time than you would like. In most real situations writing the code is the easy part, figuring out what it should actually do is the hard part. Claiming 10 years experience only shows that this candidate doesn't even know what experience is.
Well there's professional experience and non-professional/hobbyist experience. In your interview you should probably clarify that. They're both different but I think there is value to the things teenager might have learned working on some toy project.
Sure, and I value that, it's how I got started myself. But the experience of working on your own projects only translates to a fraction of the work a professional programmer does.
10 years experience would put you at the level of a lead programmer, or an entry-level architect.
Well, sure, and ten years' experience working for some other company with their technologies and in-house legacy code, libraries, design methodologies, and idiosyncratic ways of using even open source tools is not ten years' experience anywhere else.
A 22 year old with ten years of programming experience has ten years of experience doing what he's been doing. He may have built a Mongo-based sports statistics website for his high school. A 32 year old with ten years of corporate dev may have been creating in-house database utilities for MegaCorp's 20 year old Oracle customer database. He's had ten years of corporate database development experience. Is his experience clearly more suited to a Mongo-based startup selling hats to sports fans because his experience was corporate?
Or is it not a matter of corporate vs non-corporate experience but just how much experience doing which of the things we need someone to do?
Regardless of age, I'd much rather take the developer with experience using one or more relational database systems. It's much easier and effective for them to downgrade their knowledge and experience to the MongoDB level than it is for somebody with only MongoDB experience to upgrade to a proper understanding of database systems.
Part of the "corporate experience" is working with teams on existing code under strict deadlines. That's not something you can just learn on your own, unfortunately. I would, hands down, take the 32-year-old in this scenario (all else being equal).
Fair enough. I just felt like that was probably something I was guilty of when younger. If you have no pro experience and you are asked that question then your most likely instinct is provide a number and base it on hobby projects. Later on you realize there are other ways to answer such a question :).
> In most real situations writing the code is the easy part, figuring out what it should actually do is the hard part.
true that. i said more or less the same thing myself shortly after starting work at a big company. just replace "real" with some variation of "business" or "corporate."
not that there's anything wrong with making money or working at large corporations, but just like a 12-year-old might not have any idea what corporate experience is, someone who learned to program at school doesn't know what the experience of mowing lawns in order to buy a compiler is like for kid.
yes try holding together a crufty pile of code that is your companys old billing system.
And when you have your first 1,000,000 month you CTO (who i think reported to vint cerf ) nudges you saying this had better be right or we are both of a job.
Maybe the kid has been contributing to open source projects? It seems like there are a lot of teenagers sending pull requests to prominent Github repos these days.