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: