4 ms·
If you removed the years of experience to achieve X from your definitions and added criteria you expect, then these "achievement levels" would have much more me
by nahname 14y ago
If you removed the years of experience to achieve X from your definitions and added criteria you expect, then these "achievement levels" would have much more merit. I am pretty sure I am familiar with the types of individuals you are talking about here, but years of experience is one of the worst measures of, well experience.
Years of experience is one of the larger generalizations we make in our industry. One that is almost always worthless because it has negative connotations on both ends, while given little to no idea of what value lies in the middle. The only time it can be useful is as a barrier to entry to new graduates.
- michaelochurch 14y agoAs an HR-ism, "years of experience" is a stupid metric. I agree. I only included such criteria for the 2.0 and 2.5 level, which characterize the top 1-2 percent (or less) of programmers. I should add that while I've never seen people reach 2.0+ without programming for 10 years (even if they weren't holding a professional-level job during all that time; they might have started at 14) I am not saying it can't happen. But 2.0+ engineers are uncommon and it has to be very rare for someone to get there without the Gladwellian "10,000 hours". If you're looking to hire 2.0+ engineers, you're not using HR-isms. You don't pay attention to the standard HR bullshit about "must have Ph.D." or "must have 5 years of experience". You're often trying to fill the roles through referrals, because those people aren't on the job market for very long, and they tend to have very high requirements with regard to the jobs they take. You don't find these people using an HR checklist and filtering thousands of off-the-street CVs. Most people aren't trying to hire 2.0+, because the work that a 2.0+ engineer will find interesting is uncommon and few companies even have use for that high a level of work. I've been programming for 6 years, and have been aggressively managing my career in the direction of optimizing for learning, sometimes quitting jobs solely on account of boredom, and other times "stealing an education" from jobs, and I'm only 1.7-1.8. The 2.0's are rare and I've never met one under 30 (although it's certainly possible).
- Retric 14y ago10 years of experience does not equate to a great violinist, but I don't know any great violin players without it. I started writing code at a young age, got a CS degree, and after graduating my first 3 months I was more productive than some people I have worked with with 5 years experience. I created something that a significant fraction of people I have worked with would have been unable to think of. However, I had just been writing code not reading it. After working on many projects both short and long term, I would cringe if I had to maintain the code I wrote back then. Comments are a probably the perfect example where you need to be bitten by a stale comment a few times to really understand what's important.
- nahname 14y agoYou don't need 10 years, you need 10,000 hours. However, 10,000 hours alone is still a useless metric unless you know it was spent learning. 10,000 hours fixing bugs in the same system won't introduce you to enough new concepts to provide the same value of 10,000 hours of building products.