Home About The Codist RSS Feed

What Is Experience? (Or Why EJBs Are Like Lobsters)
Oct 16, 2007 13:04 perm link Readers: 10802

Dealing with recruiters from both sides of the aisle, you hear a lot of requirements for people with experience. But what is experience? How do you evaluate it?

When I talk with recruiters or sourcers about jobs on the phone or by email they either ask about experience or provide a laundry list of things the customer "needs". Often they appear as a set of technologies and a required number of years "experience". Sometimes they offer a set of these and expect you to fill the a number of years of experience with each. The hope (from the customer perspective) is that this magical collection of experience points will divide "the people we want to talk to further from the worthless scum of humanity".

The expectation is that the number of years of experience in some technology somehow translates into ability, intelligence, and instant productivity. Furthermore a lack of years of experience in some technology is a sure sign of a slacker, a moron, and someone not to be hired. Thus the more technologies that can be demanded from the candidates, along with a requisite large dose of experience in each, will guarantee that a brilliant engineer will leap to the front of the herd, rescue the company's lame IT group, lead everyone into the promised land of IPO richness.

The reality is that listing experience requirements is generally useless as everyone has to lie.

If you ask me how many years experience I have in Java, it's a continuous thing; I can readily say 9 years. If you ask me how many years experience I have in EJB's I can say, eh, not sure. For any technology you use only occasionally (maybe on certain projects) the how many years experience is at best an approximation.

For example, say you ask me "how many years experience do you have eating lobsters?" how do I answer? If I ate one 10 years ago and ate one yesterday, is it two days, two years, ten years? What if I ate them once a month or once a week? How do you measure this? The natural intention is to round up to the nearest year if you are asked in years. What if they want to know in years and months, then what?

Of course the nature of the experience is what really matters, but you can't measure quality with a quantity. If I spent three months writing an app 5 years ago and wrote a whole mess of EJBs, tuned the appserver performance for them, and generally made architecture level decisions, and you spent 5 years writing an app but only called preexisting EJBs (for example Websphere Commerce Server). Who has the better experience? Clearly I do but with only 3 months (1 year) experience I won't even get an interview.

Thus I would have to lie and say "5 years" and thus the customer hasn't really learned anything from the quest for experience. So why ask?

I also find it amusing when people put out the long laundry list of technologies, many of which are marked "required". Often these are written by some HR person or recruiter to whom the names and acronyms may as well be in Chinese, and the number of years required are essentially random. You also get overlaps, as in asking for J2EE and JSPs, which is like asking do you eat shellfish and lobsters? I get the feeling that people look around their company, collect all the technologies they have ever used, stick them into a job ad and expect someone out there would actually know all of them.

I once volunteered to be a Documentum architect and developer at a company I already worked at. I took a few classes and then built a number of applications; it wasn't terribly difficult. After I left the company, every recruiter in the area kept sending me the job ad for my replacement (as they couldn't find anyone); the ad listed all sorts of complex requirements and experiences that were required, none of which I had when I started. The reality of a job is never what's in the ad.

The most important experience is actually in learning new things easily. This industry changes all the time, and hiring people based on some exact laundry list of experience (which is usually lied about) is rather pointless. If you ask for 15 technologies and I know 14 of them, why would I not be a candidate (assuming I'm telling the truth). If I have X years experience overall as a programmer, and have a long list of technologies used (assuming of course I'm not making it up) why wouldn't I be able to learn the few you have that I don't know already? How about asking how I learn something new, or even describe my experience with actually using something?

Thus the quest for experience in job ads is basically pointless, since most will lie, and only the honest tell the truth. Everyone is likely to have experience on paper (Widget Congruence Framework, sure, 5 years) and you have to interview everyone anyway.

So the next time someone asks if you how many years experience you have with EJBs, ask them about lobsters. Who knows, maybe they will buy you one!

My Tags:

  • Anonymous: Oct 16, 2007 15:55

    Great article. I've made the same experiences with recruiters. They simply have no clue.

  • Shawn the R0ck: Oct 17, 2007 01:23

    cool~it's a same problem here.Maybe I really should asking for recuiter about lobsters stuff next time.

  • Scott Westfall: Oct 17, 2007 12:37

    I surfed over from your comment on my article on the SlickEdit blog. We really are on the same page with this one. I worked a long time as a contractor before I started managing development teams, and I really hate how the "year of experience" is talked about like it's a meaningful measure of ability.

    You're absolutely right that the single most important ability is to be able to learn new technologies quickly. Even though I've never worked with EJBs, I know from my experience that I will be more knowledgeable and more productive with them within a few weeks or months of using them than 90% of my peers who have worked with them for years.

    It's all about how hard you push yourself to learn. Do you learn just enough to get by, or do you really delve into the innards and the fundamental concepts that make sense of things?

    Great article! I'll be sure to come back and check out more.

    --Scott

  • CS: Oct 18, 2007 12:16

    IT recruiter here, and you are spot on. HR ppl really irk me, and often.

    We as a company often LOL at the job listings and descriptions that our clients send us. The bad part is this I often re-write them for posting and have to decide on the fly what is important and what is not.

    With your success in mind,

    -CS

  • Greg Jorgensen: Oct 18, 2007 12:54

    You nailed it -- great article.

    In my own experience some of my most productive and creative work has happened when I've had to learn something new under the gun. I had a contract a few years ago, I was hired because I supposedly had enough years doing ASP/VBScript to fit the requirements. The project quickly morphed into ColdFusion + Oracle, and I found myself having to learn PL/SQL really fast. That has happened a few times.

    There's a big difference between playing around with a new language in your spare time and having to produce something that works in a week or lose your contract. Most HR departments, recruiters, and hiring managers are not equipped to evaluate programming skill or how productive you might be, so they fall back on measurements that look objective but are in fact meaningless and not predictive.

  • Curtis Lassam: Oct 18, 2007 13:23

    Hm.. it seems like a good opportunity to 'creatively massage' the truth. Apply a multiplier based on the difficulty of your task.

    Spent a year painstakingly hand-tuning a C compiler for some obscure reason? 5 years C experience.

    Spent 2 years working with Java in University? 1 year experience.

    Trapped, killed, and ate 1 lobster? 1 year lobster-eating experience.

  • Ash: Oct 18, 2007 13:42

    Hah!

    Good article...recruiters are always funny.

    Once a recruiter did not submit my resume which has multiple years of Linux, Solaris and AIX experience clearly mentioned. I asked him why. He said "You have no UNIX experience".

  • David Sidlinger: Oct 18, 2007 13:46

    An employer of mine once posted a job listing with a requirement of experience working with an application written *in-house* and never released for public consumption. Classic.

  • KMulll: Oct 18, 2007 14:50

    As a technical recruiter that would like to think he knows what he is doing (more t-com focused than apps, but nonetheless)... the reason we come to you with those lists is that -is- what the client is looking for. I can turn blue in the face explaining how you are a fit regardless, and some genius HR departments still won't interview the candidate simply because they have 2 years rather than 3.

  • Drew: Oct 18, 2007 16:03

    After reading this, I thought of next time I really refine my resume I'll just jump into various IRC rooms and by asking a few others who are knowledgeable in the technology figure out what my experience works out to in "years". Sort of what things might I be expected to have done if I put so many "years" on my resume. I'm not sure how it would go over in my interview, though I'm sure some interviewers would get a kick out of it if I told them my methods.

  • NevDull: Oct 18, 2007 17:27

    Sometimes the ridiculous requirements in a job posting are there because someone in HR is going to look up comparable salaries to come up with a range for the requisition.

    They need to inflate the position to inflate the salary to what's reasonable in actuality.

    Once that happens, the resumes have to get padded to qualify for the positions.

    Once, while getting promoted, I was asked to write the job description. I was encouraged to specify things at which I could reasonably say I'd had 7 years of experience doing, since 7 years was some sort of cutoff point between "technical professional" and "senior technical professional".

  • PK: Oct 18, 2007 19:48

    As someone right out of college ("0 years experience"), and presently looking for work, I can definitely relate to this article. It's really discouraging looking at job postings and thinking, "I know I can learn this skill really quickly", but that fact seems to have little bearing on what my cover letter/resume looks like to the employer.

  • J. Pablo Fernandez: Oct 19, 2007 00:27

    I think it is much better to ask the candidates to grade themselves, from 0 (What is it?) to 10 (I've wrote the book) with some intermediates like 4 or 5 (I've deployed app using technology).

  • Pedro Da Ros: Oct 19, 2007 02:45

    J. Pablo Fernandez - I would go along these lines, but instead of asking them, I would do a (decent) test on every aspect (technology) I need from the candidate and then grade them on this 0-10 scale you mentioned.

    But the truth is that rarely we need someone who is a pro on a certain technology, but we need someone smart and who understands computers/CS/technology/programming and thus can adapt easily to any language.

  • Ruben: Oct 19, 2007 04:57

    This is a beautiful articule because of it's simplicity in delivering the point.

  • fishbot: Oct 19, 2007 05:01

    I'm hiring at a smaller R&D branch for a larger company where we have no local HR. I know what I need, but I try to avoid communicating it until the candidate has told me about their experience and projects. I get them to give me an overview of recent projects, then grade themselves in various languages and technologies. It's imprecise, of course, but by comparing the projects they worked on with their grades, you get a notion.

    I don't require experience on precise technology, though. If what I need is a 4/10 in C++ and a 8/10 in Perl, and the candidate is a 5/10 in C and a 8/10 in Python and 3/10 in TCL or something - then I know it's just a matter of assessing the learning costs. I try to do that by asking how their skill in X matured over the course of one of their example projects. If I drill down on a couple of details about a project, it's surprising how frequently I pop over-representation of skills. (eg. after three follow up questions, turns out your C++ experience was entirely editing generated code templates in a commercial harness. Sorry, that's not 7/10.)

    Maddeningly imprecise, but way, way better than naive keyword matching. I've never asked how many years experience someone has in X. The only meaningful value for that metric is 0.

  • ahyb: Mar 16, 2008 12:56

    I'd agree with Pedro Da Ros's approach over J. Pablo Fernandez - unfortunately asking candidates to grade themselves means you are actually just measuring the candidates' confidence in themselves, which doesn't translate to actual ability.

    Self-assessment means that all you've done is selected the two extremes of the ability range - those who are very very good and know it, and those who just think they're very very good because they just don't have enough knowledge to realise how much they don't know. If you want to exclude "Good, but knows enough to know there's a lot left to learn and they aren't the best yet" - then it's an effective way of doing so and one used by the HR departments of many large corporations. Unfortunately those people are your future "very very goods". Ditching them for the "too ignorant to even realise it" types is not the best move.

  • Add Comment

Name:


Optional URL:


Comment:


Save Cancel

Copyright © 2007 By Andrew Wulf