This makes for interesting reading. I have read many blog posts & academic reports, spent hours arguing these points over pints, and discussed with many CTO’s and Evangelists the subject of how to distinguish between the varying levels of developers. This is not to mention the thousands (literally) of technical interviews I have organised in my career…. I’m yet to find a way on which everyone agrees is the best way to assess a developers talent.
My position is interesting, as a Java recruiter I get a holistic view of the entire development market in London. I get to see candidates interview and get rejected from one company due to technical weaknesses only to see them accepted in another as a great developer. Where one company see’s a badDev another sees a goodDev or a greatDev.
It would be easy to assume this was simply because a candidate was the wrong fit for a job, or that perhaps one company just has lower standards, but this is frequently not the case. I build strong relationships with my clients and aim to have indepth conversations where possible to understand their reasons. People are rejected based on an opinion from an interviewer that they are not a strong developer, based either on code or technical interviews. I have watched time after time for the badDev to be offered a similar position elsewhere as a greatDev.