Thursday, August 14, 2008

A programmer who knows everything

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.

17 comments:

Steven said...

dont be surprised when someone lists a huge list like that.

a lot of experienced programmers actually do have experience in a HUGE array of technologies. it's just in the nature of i.t. and shifting to different companies that favor different technologies over others.

ive only been professionally coding for 5 years, and i can tell you now, my list would be huge as well. and yes, i would actually be experienced in each.

insane said...

--
Ive been coding professionally for about 5 years too and let me tell you that ive seen many resumes like that and i am completly agree with you, write couple lines of code with one technology doesnt make you a expert on it, But cmon ! , is it really hard to dominate one ( or 2 or 3 or $n ) technology (s) per year ?

Not for me.
Dont be surprised. ;)

philip said...

I've been programming (after UNI) for over 12 year, I would say I have good experience in 50% of those. You just have to keep learning and doing and often companies say, ok we need a LDAP synchronizer to get all the users into the database from LDAP.
So you touch on Java, LDAP, SQL Server & Oracle, Hibernate... A few years before, you were doing MFC and Visual C++. Its just like that.

Kamsky said...

I got to tell you that his resume might be true. Programmers are like drivers that can drive almost any car.

For example, I have worked Intellij and Eclipse and can code with netbeans and Oracle Jdev.


Including installation, I have programmed simple form in 3 hours in PHP and have coded a decent web application (bulletin board) in just one day.

The guys mentioned some case tools and db tools, i have used many database tools in such a short wthout having major problems. UIs are standard (explorer type that looks like windows explorer or outlook), same sql, same jdbc url format, same ER notations.

With having just axis1 experience, I can consume the same a webservices using axis2 and xfire in just a day.

So it is valid to claim that I have worked these technologies because even the months of experience is shor I can still
work with these technologies in real life.

Nothing's new in programming nowadays. With the help of sophisticated tools nothings are complicated these days and programmers are just like
drivers.

daniel said...

Oh please, the comments are worse than the guys resume. Any programmer that enjoys his job has touched a lot of technologies. Are programmers really that insecure ? No one can seriously claim that they still master the language they did intensely for a month over 3 years ago.

If you really want to mention it in the resume then divide it up very clearly between what you are expert at and what you've had contact with in your work.

carlo said...

The only acronym missing from that list is WTF. I'm surprised I didn't see it. It's very popular..:-)

Kasper
http://firstclassthoughts.co.uk/

Nick said...

You may very well have thrown out a really hot coder. I've been coding for 12 years and I know one heck of a lot of technologies. And I know that there are a number of coders out there just like me.

In my spare time right now, I'm learning how to program AVRs in assembly language.

I could list a million other technologies that I know but you wouldn't believe me... :o)

Nick

Alexander said...

Are programmers really that insecure ?

The real question is: do the managers trust their people? This is absolutely normal list of experience for developer with 5+ years background.

Asher said...

Does years of experience in a technology mean that they will be able to hit the ground running? They may have years in java (for example) but they don't have years in what you are doing with java and it may still take them time to get to terms with that.

A jacked programmer who has little experience in java may take the same amount of time to get to terms with java and your processes.

Brian Clapper said...

Being a manager-type, you know acronyms and names, but being a programmer-type (for a long time), I can say that it's entirely possible for a qualified programmer to have a huge list of acronyms on his resume. I've seen my share of idiots with superb resumes and stars with superb resumes. It's quite conceivable for a candidate to have all those things under his belt, especially since at least some of them are related.

Granted, when hiring, one often has the unenviable task of going through stacks of resumes, and snap judgments are sometimes unavoidable. But a snap judgment based primarily on the list of acronyms on the guy's resume seems arbitrary and, well, not entirely rational. Having done my share of resume-winnowing and interviewing, I certainly have my own of resume red flags, but that particular one isn't one of them--unless there are other red flags in the resume. Misspelled words are a bigger red flag to me, for instance.

In my 25 years as a professional software developer, I have been repeatedly reminded that managers and technical professionals tend to look at resumes in completely different ways. For that reason, the most successful hiring managers with whom I've worked generally have both managers and qualified developers review resumes and discuss potential candidates.

Have you run the resume past your tech people? What do they think?

Giant Jam Sandwich said...

If you want to know whether a certain exposure to technologies is accurate or not, then just take one look at how the buzzwords are used. No one I know lists Ajax or Flash experience -- they list it as JavaScript and ActionScript. It is also becoming increasingly rare that you see something like JSP, Java, or PHP without listing JDK and spec versions.

Alexander said...

I have the opposite experience to most, I am a graduate applying for jobs and one thing I have noticed is that employers want all that rubbish, I have a list of about 30 language acronyms on my resume, only a few of which I could start programing on the spot. I was told by a head recruiter that this was the best action.
I mentioned that languages are essentially the same if you have the right mindset, and was told in strong words not to mention it. resumes aim to please recruiters, culling the fakers from there should be done further in on the review process.

rational said...

I wanted to thank all of you that took the time to comment on this - I can't tell you how much I appreciate that!

I noticed that some of you seemed a bit offended by me implying that one can’t possibly claim to be experienced in so many technologies therefore I feel that I should further clarify my position on this. It is important to remember that experience is one thing and exposure is something else. During the course of your work as a programmer you will likely be exposed to many technologies but the exposure has to last for s significant amount of time to be called experience. I have known a few “experimenter” types who jump at every opportunity to work with a new technology significantly increasing their exposure to a wide range of technologies and proudly claiming that they got one more under their belt but in my experience those were never great at anything.

raveman said...

that is just sad, however i see many idiots hiring people - for example i had 2+ years experiance in ejb2 and guy had problem with me putting ejb3 on my resume. i read book about ejb3 and played with it at home, however i had never used in work place. ejb3 is like 1/3 of ejb2. but guy was just too stupid to understand that.

i put everything i know on resume, the problem with that is that i used to know all of this, but when you not used it for some time its hard to answer questions about it :(

im glad you did not give a chance to that programmer, you might just hire him and that would be bad for him. i dont believe in ads, they are useless. i know the campany i want to work in after job interview. good companies have interesting job interviews.

Alessandro said...

I think if someone claims to know everything, in fact he knows nothing.
But I also think we all are going to have a big list like that very soon, as old technologies becomes less attractive and others just pop-up everyday. It's my job know it, use it, maintain it, and, sometimes, forget it.

gaston said...

so, you trashed his resume because Being a manager-type, you know acronyms and names...maybe...maybe you need a bigger dictionary of acronyms and names ;)

raveman said...

i think he trashed his resume, because he doesnt know that much and why hire people better than yourself ? he has to think about his future. i think we can all agree that hes not the best in this company, just the oldest.