The Years of Experience Myth

Great article!
Now I don’t feel alone anymore, Oh my Gosh! I had been going to interviews the last couple of month, with people that really I can call morons , I have 10 years experience at PowerBuilder, Sybase, Informix, etc, but because I emigrated from my country, I have to start over here in America, and the place where I live (Orlando) doesn’t have to much market for PB… so my husband that is a senior .net developer push me to jump to this side of the pond, and now here I am doing .net with c#, and all these people interviewing me, telling me… oh no… you are so light, oh no… we are looking for X more years of experience…etc,
it looks like I wouldn’t move easily from where I am right now…, I feel SO FRUSTATED, because without to want raise my ego, damn I’m good in what I do…
:frowning: Just waiting for some smart manager to hire me…right?

In most programming positions you’re going to need some time to learn their particular requirements and the software that you’ll be working with. For most competant programmers, it’s not a big leap to pick up the language while doing this.

On the other hand, as someone has mentioned previously, you still need experience in certain realms before you’re really qualified to do some jobs. You might not do very well with user interfaces if you’ve never worked on them before (say you wrote low level TCP/IP code through most of your programming career…). You might need some database experience before working on an application that is heavily data-driven.

Of course, you don’t need the guy with 10 years experience with IIS and MS SQL Server using C# if you can get the person with 15 years experience using Apache, Oracle, and Java. You might have to hope they can spin their head 180 degrees to get it all into their head, but if they’re competant they should be able to do it.

Then there’s the one-trick ponies and the people that will complain the whole time that while C# is “like” Java, it’s “not” Java, and that feature XYZ should work like it does in software ZYX.

Sadly, this is is so true.

This is pretty much why, I have had lots of problems getting a job. They don’t look at your qualifications. Or your capability to learn to do a job.

They don’t realize we had to learn how to program, if they give us a chance…

"Experience doesn’t matter, it’s your willingness/ability to learn that counts"
Phooey! What ultra liberal feel-good planet are some of you?

Experience counts for a lot. If, after almost 10 years at this gig, you’re trying to tell me I’m likely no better as when I graduated? I think I’ll go kill myself now.

Notably, if you’re an idiot then you’re just an experienced idiot. Having x years may not positively correlate to being an y times better programmer, but “toxic, counterproductive years of experience myth”? Drama queen.

“It’s been shown time and time again”

Really? I wouldn’t call your data conclusive. Your assertion of experience not predicting skill doesn’t appear to be very scientific. You quote your own previous posts which refer to programming contests and students reporting how long they took to write software. I don’t think either of these data sets relate well to the general corporate programming world that we live in. Students accurately reporting time spent? Read the freakonomics blog some more and how people lie on surveys.

"10 years of experience is 10 x 1 years of experience"
You could say the same of surgeons. Pilots. Policemen. Yeah experience is crap. The corollary is 20 different jobs in 10 years. That person sounds like they’re always moving on to the next big thing and they never actually learn enough to be useful. I’d prescribe ritalin for their ADD since they can’t focus for longer than … ooh look at the shiny thing.

There are lots of problems with hiring and skill metrics, candidate assessment, skill perception, and the forms discrimination can take, but in a comment to a lame blog post I’m not going to bother.

This blog has become the Enquirer. Big headlines. Wild assertions. Bait-and-switch. Red herrings. No proof. I remember when there was serious content, but now it’s making TDWTF look positively academic. At least they don’t take themselves so seriously.

PS some good replies in there. At least some of you get it.

Maybe you should change your assertion to: What good software developers do best is learn, and if you want to be good and stay good, you must keep learning.

-Naysayer
"Opinions are like a**holes … everyone’s got 'em"

Spot on! My best ever hire (and I was hiring based on Joel Spolsky’s philosophy of smart people who get things done) was a fresh out of school graduate.

She blew me away with her passion and understanding although she had no commercial experience. Within 3 months I had decided to promote her to senior developer alongside a guy with 10 years experience. It made no difference, she got it, and she loved web development. Could easily have been a software engineer technically speaking but had the passion for front end stuff.

The only reason I am where I am today is because someone took a chance on me way back. I passionately believe that is where the best people come from, so when its right, I’ll take my chances with no experience.

Excellent!
This is a perfect example
http://thedailywtf.com/Articles/Not-Too-Particular-and-More.aspx

One situation where experience in specific skill matters is when hiring contractors. When you are being charged by the hour, you don’t want a contractor to be learning on your dime.

I agree Jeff, I have years of experience and guess what, it means practically nothing when going on a new gig.

I’ve done consulting, tech support, sales support, architecture, DBA, software engineering, you name it , I’ve probably done it but each and every experience is different.

The only thing that the ‘years of experience’ has done for me is allowed me to understand how to get through the problem in a sort of similar way. And I’m not talking about coding, that’s the easy part.
No, the hard part is understanding your customers business, needs and how you can contribute most effectively.

And don’t let me get into office politics, that’s the hardest part of all and unfortunately, the one that makes or breaks both you and your project most of the time.

I could go on and on but what experience has taught me is that I can more readily assert which projects I want to take on and which ones I don’t and most of time it has nothing to do with the technical challenge and everything to do with the ‘politics’…

Regards…

totally agree with Melvin. Consulting is the only way to show your skill. Full time should be spelled “fool time” judging by the number of automatons who “can learn quickly” and still remain “overall great guys.”

I cannot think of a single human endevour worth pursuing where the ability to learn and adapt separates masters from automatons. IT is no different.

Companies that insist on some skillset they cannot find anywhere deserve the people who can fake their way through interviews.

as engineers you have to figure out what will keep your passion for tech alive. true engineers will figure it out whether it’s open-source contribution if your in a large company without many exciting new tech coming your way. whatever it takes!! I don’t care if your 23 or 63, if the fire to learn and keep learning is intact, that’s the value-added commodity that your either born with or not. i’ve been in software engineering for 9 years, this will be my 10th, and electronics professionally prior to that for 15 years. i have a family; wife and two little kids, etc, plenty of reasons to say i don’t have time for tech after 5 pm, but who i’ve always been keeps that fire for tech alive into the wee hours of the night every day. I keep learning; I’m having more fun with Silverlight after this post at now 10 PM to get up and do it again tomorrow at 6 AM.

point: regardless of experience, your value as an engineer will only be a result of time and passion your put into it. will you remember every nuance of everything you touch? NO! well, better stated, you shouldn’t because then you set yourself up for something becoming a religion; I’m a JAVA programmer, I’m a C/C++/C#/PHP/RUBY/Iron Ruby, programmer. isn’t part of the best software solution in using the right tool for the job? an employer or perspective employer should reach past the noise of experience or non experience and discover how much fire this person has for just tech and we engineers need to be able to demonstrate or convey it by whatever means even if it’s knowing you just applied an elegant design pattern to a very troublesome piece of procedural legacy code, use it, convey it, build upon it and be proud of it…

Let’s get real here. It is completely true that we can not stare at the years of experience in Java, C or any single discipline and then make any definite conclusions how good the guys is.

The rule of the thumb is that it takes about 10 years for people to be the best they can be in their job. Some people are better than others, and some people are masters. They are separated by their natural talent, hard work, discipline and enthusiasm, but it still takes 10 years for them to be the best they can be.

So do not overlook experience, but you still want that fire and enthusiasm a notch more.

Jeff,

While I can agree with “you either get it or you don’t” premise, your argument that experience does not matter simply does not hold and it is measured in cold hard cash. Since the dawn of a clueless, semi-literate (and often outsourced) automaton, I have been making my consulting dollars primarily based on productivity. Productivity itself is directly correlated to experience. I can work faster, better and with fewer bugs than your average coder who learned his craft at some IT roadhouse.

Maybe you should rename your blog as “blogging horror” because coding IS all about productivity and there is no productivity without learning and experience.

Who would want a job that hinges on low-level IP skills anyway? Did they slash the rate for that guy because low level IP wasn’t on his resume? If I am dealing with an irate client, I will find another client and move on. If you cannot do that (or do not feel comfortable doing it), IT consulting isn’t for you.

Or are we talking about die-trying IT full time job with low-level IP kung fu here? I don’t know about you, but I’d rather be doing some cooler stuff than bother with HR fantasies.

Multikor

I might be wrong but in the UK you can no longer ask for x amount of years any more as it is seen as discriminating.

I think that you are wrong. In the UK you can’t discriminate based on their age. You can justify hiring somebody based on what experience and qualifications they have - hence is perfectly valid to choose candidate x over candidate y based on how many years of experience they have in a particular field.

Great discussion! A couple of points:

a) It’s illegal to discriminate against candidates based on age. However, it’s perfectly legal to “require” a certain number of years of “experience” for a given position. read into that what you may, but often companies are looking for a more stable candidate, believing that older == more dependable. this too, is a myth, but … getting onto b)

b) managers, aka pointy hairs, have a penchant for seeking out candidates that are pleasant to be around, emotionally and fiscally stable, and have enough skill to at least fake it well enough to make them look good. call me a liar but you know it’s true. the last thing most hiring managers want is to be embarrassed about a new hire. this is important to zone in on as an applicant. If you are a person of skill and integrity, it’s easy to get your boss’ job with no need to slander or to otherwise make them look bad. They will do it for you, eventually. Welcome to corporate america.

As a young person, remember that getting thru the door is the key. Your worth will play out eventually and become obvious to the ones that matter within a company. What you need as a young applicant is to create an environment of opportunity to attain that phase. Here are some simple tips:

  • Appear mature: neither HR or hiring managers want high-maintenance employees. Your conduct and method of self-expression should support an impression that you will be reliable, dependable, and … pleasant to interact with.

  • Don’t let your personality outshine your skill: i am a self-professed weirdo myself. but there are limits: you’re interviewing to work in a professional capacity first. aspects of your own social integration within the environment are a key item for long-term success, but that comes with time. if i catered to every eccentricity in my personality i would be homeless. i keep a lid on it to survive, and to maintain an air of professionalism. drink the cool-aid, it’s not that bad.

  • Engage the hiring manager as much as possible about the problems they’re wrestling with right now, and work towards convincing them that you are able to provide solutions to those problems. This will trump YOE -slash- acronym hell on any resume or job ad. If the hiring manager thinks that you can immediately apply yourself to a problem they’re trying to solve, you’ll be a leg up on the competition.

  • Don’t take the “years of experience” phrase too literally. In fact, if you think it’s bogus - ignore it. I have for nearly 15 years now, and I’m batting over .500 for being hired while technically under-qualified by the YOE metric. Focus on your strengths in your resume and hope for the best.

To sum up: in my professional opinion, YOE is used primarily as a social filter and a way to discourage younger applicants who might need a bit of investment to become productive. This is horribly short-term thinking, and the companies that employ that attitude will die off as they deserve hiring only the pleasant ones. Let them. Move on and keep your eye on the prize of finding a company that’s worth your time.

of course, I am a pointy hair amongst gods in this thread. caveats of circular logic, misguided assumptions, outright lies and grammatical mistakes all apply. if you’re in seattle looking for a gig feel free to drop me a note :slight_smile:

cheers

Speaking to the idea that saying “I don’t know but I could buy a book and get up to speed” is a good approach: Be careful with this. I have had people say that in such an offhand way that they come off as insulting.

While I’m sure they were trying to show that they are fast learners, I have had someone say that they could be up to speed over a weekend.

It came off to all the people in the room as if they were oversimplifying the work that we do and many were insulted.

Learning is an important skill but experience in programming is important too. An experienced programmer can solve, say 100 common problems in no time but an unexperienced programmer, since he hasn’t seen the problem before he needs time to fix it. I agree that a skilled programmer will solve the problem, but it will take time. But years of experience should not be seen as years of work experience. Specially off the work experience is more important as it is mostly for learning.

Two points directed toward two different replies. They’re back in the comment history a bit, so forgive the need to scroll back.

@Louis - Developers are looking at specs and reference manuals all the time. You are confusing analysis/synthesis with knowledge. A programmer who never reaches for an reference manual or specification is a programmer who is in a knowledge steady-state. And I sincerely doubt they truly have the entirety of a platform memorized at the same time (I know of no one who does this). Admittedly, I forget useful modules and even obscure syntax of the languages I work with, requiring a trip back to the specs from time to time. But common syntax doesn’t take long to pick up unless you approach learning each language as a vacuum. In that case, it might well take more than 6 months, as they will probably treat even the different parts of each language as a complete vacuum as well. So likely that the people you claim to want will only work with a subset of the language and never continuously seek out new and better ways to do things. It shows they wouldn’t thinking about what they are doing; they’ll just be regurgitating code the same way an English student might regurgitate Shakespeare without understanding any of the metaphorical meaning.

@Bill - Peter Norvig does not disagree with him. What Jeff is arguing about here is about forcing years of experience with particular technologies, languages, etc. You’ll note in Norvig’s article he recommends learning at least a half a dozen programming languages. You can’t do that by focussing 95% of your time on one of them. But that’s exactly what the YOE requirement lays down. It doesn’t take long for someone to develop enough knowledge in most languages/frameworks/etc; if it did, what the hell use are they? What takes a long time is taking the knowledge from a particular framework or language, and analyzing it in the context of what other things you know. This is why both Norvig and ESR push for you to learn new languages. Each language will teach you new things about all the languages you use. They expand your theoretical understanding, which you can apply to any framework or language you might work on. At the end of proverbial 10 year journey, you’ll probably know a dozen languages, and several frameworks for each; but the theory you’ve gained, the higher level understanding is what truly brings improvement.

Best,

Ed

I remember looking for jobs right after Java came out (circa 1995).

One opening was for people with 3-5 years of Java programming.

It is only partially true. No doubt good programming knowlege is required. Experience plays a vital role right from programming to delivery of the systems. let me redefine the role of software engineers. Software engineers not only do coding but interacts with team and customer, identify functional issues, think broadly about the functionally or visualize (not logical thinking). You can be a good programmer but experience teaches you to be an effective and cautious programmer.A Web or client server developer will not be effective in doing Embedding programming or algorithmic programming and vice versa. I know many guys who are good at raw programming but sucks at UI design and other things. You need to figure what customer needs and understand the customer are all essential parts of a software engineer. Experience teaches you such things. If you do not learn the customer needs inspite of having sound programming base we are as good as mud. Programming knowledge is important. This is the scenario.
Say i want to hire a programmer there are two candidates
1.who has less experience but has good programming skills say 7 out of 10.
2. who has more experience but he has 5 out of 10. i will take the second guy but if his scale is less than 5 then i will go for first one.

I know some people who are good at a specific language they will do wonders with that language but you cannot expect the same thing from other languages. People are different we cannot really conclude that a good programmer is better than experienced programmer and vice versa. On the contrary both are equally important. To me nothing goes waste if we really learn either from programming or other skills. But one thing is agreed we need to have a decent logic to become a better programmer.

nice article,
check out more here…

http://UpdateStore.com

Candy