The Years of Experience Myth

Re: MOD clearance
You can’t even ask someone if they have it since having it is classified! You have to say “Work of a confidentail nature in the national interest”. But you would only know that if you had been told when you got it …
You also used to have to be a British citizen AND your parents had to be British citizens. The job ads would say this and then underneath have the usual, ‘The MOD is an equal opportunity employe’

You CAN ask for years of experience - the discrimination thing is just moronic HR ass-covering and Daily Mail ‘Political corectness gone mad’ stories. Asking for 10years experience for a senior post is NOT the same as saying ‘under 50s only’ on a job ad.

MSFT hiring mantra is “Hire for the company, not the job.”

Jeff,

We all seem to be in agreement here (I also hire based on smarts and personality rather than specific experience), but I don’t think it’s that simple, for three reasons:

  1. Different areas frequently require different modes of thinking, and that mental shift may take longer than six months. For example, most of the rules of thumb that people use for GUI programming are close to worthless for embedded programming.

  2. I’ve met people for whom I think they have forgotten more about a certain area of expertise than I will learn in a lifetime. I’m fairly sure I’ll never be as good a server programmer as Chris Brumme, or as good database guy as the late Jim Gray.

  3. The areas where guys like us can hit the ground running are those areas which are not very deep. If I show you an application I expect you should be able to deconstruct it in your mind and understand how it works. But what about domains like crypto or image, video and sound recognition? We’d be bloody clueless.

Dejan

And i’d think, that is a singular german problem, Unfortunately it is a global Problem

Agreed - especially for programming. Managers and business analysts, though, I would agree need experience dealing with clients, employees, and company politics.

Because it is the managers doing the hiring they think that the rule applies for everyone.

Desire always is better than experience.

There are some kinds of experience that is helpful, regardless of how great the developer.

I’ve learned far more from failures than I do from successes. Success may or may not be repeatable, but learning from failure means you won’t make those mistakes again.

For example, most typical junior level developers don’t understand the risks involved with rewriting code. Sometimes those risks are worth the reward, but often they are not… leading to extended testing and validation cycles that wouldn’t be necessary if you had left some older, and perhaps less elegant code intact.

Years of experience with a given technology is far less useful than years of experience overall.

As long as nontechnical managers have any say in running tech companies, this problem is going to continue (Think “HP-Compaq with Fiona”). As long as hiring is in the realm of those HR geniuses, this problem is going to continue. Neither group has a clue as to how to hire, fire or manage competent technical people.

So, it sounds like, the entire gist here is simply “hire really smart and passionate” people.

Sounds like good advice for any intellectual job whatsoever.

What if they never coded at all (and are super smart)? I mean being able to code even a little is already “experience”. Plenty of smart kids go from zero to making good programs in just a few months.

Jeff, thanks for these awesome posts!

I agree. I hate the “grocery list” of skills people list for job postings. Sometimes the list will have so many “required” skills listed, that no one will meet the requirements.

As a developer who’s also trying to hire, I’ve found that there is a sweet spot number of years that tells you he’s serious about the profession as well as not too inured in a particular methodology so that he can adapt to a new challenge/environment/project.

And if you’re reading this post because you’re looking for a new challenge as a developer, please feel free to contact me andy (at) whereandy (dot) com.

The one caveat I would make is that if someone has, say C/C++ experience and you’re hiring them for a .NET/Java job, I want someone who will be humble enough to know that they are in a new environment, and they have things to learn. Else they’ll waste days re-implementing DateTime or something.

Smart is good, “know-it-all” is bad.

NOT EVEN WRONG

I have to disturb this self congratulatory orgy of back patting, because you couldn’t possibly be more wrong. I’d say you’re dangerously wrong, because your contributing to the perpetual youth culture that is software developments biggest millstone.

The fundamental problem with your analysis is you’re comparing apples and oranges. A smart person is going to outperform an idiot with ten years drooling experience, but that’s not the real issue. Is a smart person with 3 months experience going to outperform a smart person with ten years experience?

As much as the kiddies here might like to believe they’re special, analysis of congitive development shows it takes ten years to truly master a discipline. When I hit the workforce, I was a lot more productive than most other developers. It would be easy to believe that I was a guru, but the reality is it had a lot more to do with an extensive background in solving logic problems and programming since my early teens than innate aptitude.

The fact is the programmer I am today is several orders of magnitude better than the programmer I was ten years ago, even though I was already pretty good. The reality is the more problems you face over time, the more you build your development skills and intuition.

Breadth of experience DOES matter and that takes time.

This almost seems like a worthwhile blog, but I’m afraid I only read bloggers with five or more years of experience so that I can be sure I’m getting the best advice.

Yes Jeff, you are right there is specific experience and there is generic experience. I believe that having 2 - 3 yrs under me after leaving school and working full time I can tackle just about any issue thrown at me. However that being said my experience in design and the best practices is still growing. Sure I am reading and studying books from all the greats and reading great blogs. However I am still no where near the level of some of my colleagues who have been doing this for 10 + years. So I do believe that while specific experience isn’t all that important general experience is, because I am not ready to lead a huge software project yet or tackle some hugely complex issue. However in another 7 years I’ll be 30 or so and probably will have had the experience and the learning opportunities to provide me with that experience. So I am experienced I’ve got a long way to go I believe.

Cheers

Please, Please, Please, all readers there, forward a link to this excellent entry to your HR and hiring departments!

As an independent consultant for the past 10+ years, I find it amazing how many companies still run the years experience check-list.

You have it right, Jeff – I don’t waste my time with these companies. I would much rather work for a company willing to listen to how I have applied my programming skill to develop real-world applications or solve complex problems. Not only that, it is much more rewarding to work for the companies who DO get it that software development is a constant learning process.

The ability to pick up a new technology is obvious if you read any good developer’s resume.

Whether or not this is true is somewhat irrelevant. What matters is convincing the employer this is true.

It sucks but it’s true. Lets see some more articles on persuading… maybe?

I agree, but I have to live in the real world. I used to focus on learning more of the kinds of things that apply to programming in general rather than the specifics of my stack. Now I realize that it would’ve been much more valuable for my career to just focus on the stack.
I’m not now (don’t even have a CS degree) nor will I ever be (I don’t have any time to work on side projects) good enough to just float in on my credentials. The stack is the only choice for me.

There is also another type of experience that people look for. “Recent Experience”. And that was one of the reasons my application was not even considered for the position. I quit my previous software development job to pursue M.S (Computer Science). Since my experience was about 1.5 years old, the company said I did not have ‘recent experience’. What can I say to that?

You nailed it. I keep coming here through DZone but I’m subscribing to your blog right now.