I recently received a job spec that had the most ridiculous “Required” skill set for an “Analyst Programmer”. I though I should share it with you as I have just spent the last 10 minutes cleaning tea out of my keyboard with cotton bud’s. Here is how it was presented in the email:
* C# Java Script Java
* ASP.NET 1.1 ASP.NET 2.0 J2EE
* Visual Studio 2003 SOA Visual Basic
* Winforms Development Visual Studio 2005 Linux
* SQL Server 2000 (TSQL and Database Design) AJAX Data Cleansing
* Full Life-Cycle SQL Server 2005 SMS
* Object Oriented Design Multi-channel CRM IVR
* Strong verbal and written communication skills Call Centre UML
* Organisational and problem solving capabilities ISO9000
Now obviously this list was formulated by someone who has no idea what these things are, so lets brake that up into a proper list…
Skills Required:
- C#
- Java Script
- Java
- ASP.NET 1.1
- ASP.NET 2.0
- J2EE
- Visual Studio 2003
- SOA
- Visual Basic
- Winforms Development
- Visual Studio 2005
- Linux
- SQL Server 2000
- TSQL
- Database Design
- AJAX
- Data Cleansing
- Full Life-Cycle
- SQL Server 2005
- SMS
- Object Oriented Design
- Multi-channel CRM
- IVR
- Call Centre
- UML
- ISO9000
I can’t imagine anyone actually knowing how to do all of these things. If they do, they would only have a cursory knowledge of each think and be useless at programming any one of these. I could understand this for a Architect or Evangelist role where depth of knowledge is not required. But for a programmer there is a necessity to concentrate on one technology at a time, and only with 2-3 years commercial experience would you be considered “good” at it.
Whoever this employer is needs to come to the realisation that this is about 5 (or more) roles all mashed together:
- Architect
- .NET Developer
- Java Developer
- Web Developer
- SQL Developer
If I am wrong, please let me know! And if you are one of these “Uber-Analyst Developers” then…well, I don’t believe for a moment that you could actually do all of these things well…
Advice for an employer: If you are an employer, only define a list of the absolute essential skills. If you find someone good enough at those, then they can learn the bits and bobs that go with the others.
Advice for a job seeker: If you are a prospective employee, don’t lie and say that you know all of these things (I have interviewed my fare share of people who did), but instead say that you know a set of core things, and that you can learn the rest…
Advice for everyone: I am not saying that it is the holy grail or anything, but read Joel on Software, many of his articles are just common sense, but other are down right genius (and, no, I am not looking for a job at Fog Creek Software ;).
Especially: