perpetual novice – years of experience vs skill

Most job listings ask for a certain number of years of experience.  Either in a particular technology or in the industry.  This presumes that the developer learned each year.

I read a quote about whether the candidate has five years of experience or the same year of experience five times.  I don’t remember where this came from, but I think it clearly expressed an important point – that we can’t just measure years.

Upon re-reading the “Software Craftsmanship“, I came across the concept/phrase “perpetual novice.”  This is exactly the idea.  If one never picks up best practices and software development habits, all that time could be spent repeating inefficient ways of doing things.

I’ve seen this upon interviewing as well.  Some people with “X years experience coding Java” look like they can’t code their way out of a paper bag.  I’m thinking this is related to the “perpetual novice” concept.  These people figure out everything from scratch and repeatedly solve problems the industry has surpassed.

What’s dangerous is that such developers don’t consider themselves novices anymore.  Someone new to the field or right out of college realizes they are a novice.  They ask questions and realize there is much to learn.  “Perpetual novices” think they know quite a bit and are less likely to ask a more experienced person.

And worse is when the real novices learn from perpetual novices – the opportunity to learn better ways is lost and the cycle continues!

Have you encountered any perpetual novices in your career?  What do you think makes them stand out?

10 thoughts on “perpetual novice – years of experience vs skill

  1. IMHO, years of experience has actually very little to do with skill. I have seen all 4 combinations of skill vs experience (high skill/experience, low skill/experience, high/low skill/experience). So, I rarely go by the years of experience – only go by the skills required for that job.

  2. Yes, I’ve found so many “perpetual novices” that I learnt (the hard way) to ignore resumes, certifications and “years of experience” and ask even the most trivial technical concepts during the interviews.

  3. I am a perpetual novice (I fear).
    It seems like no one comes to me for advice or information, nor consults any kind of expertise I might have. I’ve been at this a couple of years and some days I feel just as clueless as the day I began. I’m not sure what makes me stand out but I bet my co-workers who have to work with me know.

  4. filippo: I agree completely. Someone with “real” experience breezes through those and then we can move on to more interesting questions/discussions.

    MJK: If you think you are a perpetual novice, you are less likely to be one! One of the trains I see in a perpetual novice is not recognizing the face.

    John: Interesting. I like the levels/tiers he uses.

  5. I disagree to a small extend. The number of years of experience does not necessarily make you a better programmer, but the converse is true: If you’re a good programmer then you must have years of experience. It’s extremely rare, nearly impossible, for a programmer with no experience to be a good developer. Part of what it takes to be a good developer is learning to work with others, learning to program as a team, and learning the difference between theory and practice. Ask any senior programmer whose had to train someone fresh out of college, 99 times out of a 100 its like babysitting anytime they code.

  6. I agree with Scott. My comments are directed at people think their experience is value as more than I think it should be.

    Forget straight out of college – try student interns! At lunch today, I had a discussion about the difference between a high school and college intern. It’s amazing to me how much those couple years matter.

  7. types[] = {
    “He who knows not, and knows not he knows not, is a fool — shun him.”,
    “He who knows not, and knows he knows not, is ignorant — teach him.”,
    “He who knows, and knows not he knows, is asleep — wake him.”,
    “He who knows, and knows he knows, is wise — follow him.”

    perpetualNovice = types[0];

Leave a Reply

Your email address will not be published. Required fields are marked *