I have been a software engineer for more than 12 years and a developer for more than 18. I have had jobs writing c/c++ (MSVC, Borland C++ Builder and gcc), Java & J2EE (J2SE RMI to Weblogic + Portal to Apache + Tomcat + JBoss), Perl (Catalyst + Mason) and Python (TurboGears 2.0 + SQLAlchemy). My resume reads like a pro athlete's scoresheet with well over twenty full lifecycle projects under my belt in all of my proficient languages.
All of that, and the simple fact is that it HURTS my job search instead of helping it. My varied career has lead to long term exposure to a language and some related frameworks which was then mostly forgotten as I picked up a new language and framework. I have no trouble at all taking programming challenges even if they are timed provided I have access to google or some API documentation but I simply don't remember the little nuances of any language I'm not currently working on.
This hurts me when some recruiter throws a timed competency test at me that reads exactly like a SCJP exam and expects me to remember the names of specific classes or language rules. Give me a couple of days, perhaps a week of working in the language on a practical project and I'd pick it all back up, but trying to sort it all on a per-question basis with less than 3 minutes to do it in and I choke.
Development is about learning algorithms and techniques, not APIs. Experienced developers know many ways of collecting, retrieving, updating and deleting data, breaking down complex problems into logical steps and then using experience to reduce the number of steps, reduce the number of times the required number of steps must be taken and breaking linear problems down into distributed tasks. A specialist in a given language is capable of coding faster in any given language than a generalist like myself, but then they only know techniques specific to their language of choice which reduces their ability to choose from multiple approaches to real-world problems. In addition, every problem is solved in terms of their language of experience rather than by pulling from the techniques discovered and improved upon by developers in multiple languages, apis and frameworks.
Hiring managers and other developers know this.
Recruiters and HR representatives don't.
Now if only a good business person could figure out how to code a business process that bypasses the filtering process put in place by non-technical recruiters so that hiring managers get presented with the best candidate for the position they need filled instead of the people who the recruiters think has the best chance of making them a pile of money.
For anyone who made it this far and is still reading: my personal technique for getting through this is to self-create projects in any and all languages and frameworks for which I expect to be interviewed and then just start coding the project. This generally means that I spend about a month looking for work while working 60-80 hours per week for free. The upshot is that I get an offer 9/10 interviews.