Friday, April 6, 2007

Recruiting: The Acronym Soup Phenomenon

Joel Spolsky has on many occasions mused about the challenges of attracting and retaining great developers. In my ever so irrelevant opinion, Joel's one of those few hiring managers who "get it". He's been in the coding trenches, and has a keen understanding of how developers think, and some strong strategies for attracting new talent.

In his "Sorting Resumes" article, Joel points out:
To top programmers, the most maddening thing about recruiters is their almost morbid fascination with keywords and buzzwords.

... and further explains:
The keywords section of a resume can’t be trusted much, anyway: every working programmer knows about these computer programs that filter resumes based on keywords, so they usually have a section of their resume containing every technology they have ever touched, solely to get through the filters.

Having endured the challenges of filling various developer positions in my team, I can most vividly relate to this problem, affectionately (less so these days) calling it the "Acronym Soup Phenomenon" (ASP).

Invariably, candidates feel the urge to fill their skills section with a slew of Acronyms, claiming in one fell swoop "Expert Knowledge of" areas ranging from front-end Document Authoring and User Interface Engineering, to Database Administration, Systems and Network Engineering.

While Great Developers with amazing breadth and depth of experience are out there, Joel's articles and empirical evidence teach us that odds are likely they didn't send you the pile of Acronym-ladden resumes you're looking at, assuming they even have an updated resume.

As an example, seeing "XML, XSLT, and XPath" in a candidate's Acronym Soup, I would look forward to discussing the potential merits or shortcomings of an XML Database with an XPath or XQuery API for storing and exposing syndicated XML content to applications ... Only to find them shying away from writing on the whiteboard a sample expression for a "foo" element child of a "bar" element.

AJAX is a hot acronym that shows-up in everyone's soup, and one would think most "AJAX developers" coming-in for a User Interface Engineer position would have by now read Jesse James Garrett's piece or acquired a little more knowledge and/or practical experience than copying code samples.

When asking candidates about what they think AJAX is, 30% can indeed spell out what the acronym means, and one candidate so-far was able to give a slightly interesting description of the various technologies and schools of thoughts that make it up, while showing cursory knowledge of various DOM methods or the XmlHttpRequest object.

Some candidates might casually mention they "slipped" AJAX in the skills section because they're interested in learning it. That's how hot AJAX is.

As a result of the Acronym Soup Phenomenon, a resume with less buzzwords focusing on a specific discipline tied to the open position, is more likely to get attention.

When interviewing at any decent company, it's fair to expect candidates will be asked to demonstrate the appropriate level of expertise to their prospective colleagues.

Upon passing the screening process with a rich Acronym Soup, bring patience to the interview and we'll provide water, food and a sleeping bag: we'll want to know how thick it is. Not because we're sadists with nothing better to do, but rather because we run a lot of applications, both internally and customer-facing, serving a myriad of business needs on a wide variety of code bases: PHP on a LAMP stack, ASP .Net, Java/Servlet Container, Java/EJB Container, Spring+Hibernate, DWR. Breadth of experience with adequate depth won't go wasted.

And yes ... we "do" AJAX.


Mojo said...

Good write up Chris.

Ajax is indeed very hot right now and will stay hot for a very long time. I am getting fed up with seeing it used without a special purpose and as a buzzword.

There seems to be a lack of qualified developers in the US as well, since the 2007 quota of H-1B visas was filled in 1 day.

Joe Rosenblum said...

I share the frustration! Luckily, there are a lot of great developers out there (more than Joel thinks) and they know they have to add acronym soup to their resumes or we won't find them when we are out mining.

Secondary screening tools like BrainBench, certifications of various types (SCJWCD or SCJ2P) can help sort the soup a bit, but it still takes plugging through a slew of candidates to find the best.

Of course, we'd rather work completely through referral, and in a perfect world, all new candidates would be coming straight through our linked in networks :)

Anyhow, interesting post!

Kevin said...

I agree Joe... I have no problem whatsoever when I see someone who's resume has a bajillion different techonologies on it. The problem (and I think this is what Joel may have missed) is that people list technologies they don't know to sound like a stronger candidate.

Here is a real life for instance. I just intervierwed a candidate for a windows administrator position. He has listed "Citrix Certified Engineer", as well as many Citrix related projects on his resume. When I asked him about his Citrix knowledge and experience, he said "I don't know Citrix". I said "Well, it says right here on your resume... " and he responded "Well, I was on a team that decided not to use Citrix".

That to me is the most frustrating part. Please, by all means, give me a laundry list of the things you know, but for the love of Jeff, don't lie about it, because I am going to ask you and if you have no idea, I promise I will crucify you on it ;-)

Just my $0.02

-- Kevin