I got this resume the other day – there was a big section that listed technologies that this guy seemingly had experience with, and the list was long… really long, C#, VB.NET, C++, WCF, WPF, WF, Visual FoxPro, PHP, SQL Server, MySQL, Oracle, Access, T-SQL, PL/SQL, XML, UML, Erwin, Ajax, Flash, J2EE, Spring, Struts, JSP, JMS, JMX, LDAP, SSO, BEA ALUI etc., you name it. I had a hard time recalling any names or acronyms that were missing from his list and believe me, being a manager type, I know acronyms and names, it is my job to know those things exist and to have a good idea of what they are but would I ever dare to say I have experience on them? Absolutely not unless I would be stupid enough to think that having spent a couple of hours on something qualifies me to claim I have experience with it.
After I trashed his resume I started thinking and came to question my reasoning – maybe it is not this guy's fault, maybe it is the stupid recruiters and managers who often make the requirements section a laundry list of technologies and this person, like many others who are trying to find a job, is simply responding to this madness the best he can: by trying to cover all bases. Maybe this guy who has the courage to list everything is trying to convey the message: “I am a programmer. I can deal with any technologies you can through my way.” Or maybe his message is: “since you don’t really know what you are looking for I am as good as any other candidate out there”.
For the moment I don’t have an answer, just questions in my mind. However, one thing I know is that those type of job ads and resumes make for a very inefficient hiring process. When I am hiring a programmer I have two basic cases – case 1: my excellent resource planning provides me with sufficient time and money to find a great programmer and give him/her adequate time to catch up with the technologies he will need to use. If he is already experienced on those technologies all the better but that is not my main concern, my goal is to find the best programmer I can find with the particular technology being a distant second; case 2: due to my poor resource planning I need a programmer “yesterday” who must be productive on day one (like you know who… pun intended) – in this case, unfortunately I may have to sacrifice on the quality of the programmer and go for someone who has experience with the particular technology. So, the requirements section for the case one would focus on degrees, certifications and years of programming experience and I would simply indicate the technologies you are expected to work with. What I care about is that you are a great programmer and that you are willing to work with those technologies even if you have never worked on them before. Whereas the requirement section for case 2 would look something like: x years of hands on experience with C# and SQL Server. In other words just what I need you to work on the first day you come in the office. You may have a PhD in computer science but unfortunately it is not going to do me any good in the short term if you have never worked with C# and SQL Server.
I believe that a well written job ad that tells the potential candidates exactly what you are looking for will significantly reduce the amount of useless job applications while increasing the quality of the applications that come in. So, to all the recruiters and hiring managers out there – please take the time to write clear, concise, fluff-less job ads - you will be doing yourselves, and all those looking for a job, a big favor.
Finally, thanks for reading this and whether you agree with it or not, if you are a programmer and/or database administrator don't forget to check out our cool SQL Server tools at http://www.xsql.com/ - almost all of them have a fully functional totally free version that never expires and never asks you to register or activate - just download and save yourself hours of otherwise tedious work.