Good, Great and Guru Developers – An Algorithmic Skill Scale
It was Peter Murray-Rust (PMR) who proposed this scale to me at dev8D which helped refine a straw man diagram I’d been working on for a while since a chat with Jim Downing at OR09 on scales for learning curves on picking up programmatic concepts. The vertical access is the percentage of work that can be completed by a single developer on a system/project; the horizontal access is a one to ten rating scale for developer ability (by “ability” I mean a full spectrum of coding skills as well as user, culture and business knowledge by which the software is contextuliased within); I ‘d welcome comments/refinements.
The significance between having goodDev, greatDev and guruDev is the observable fact that greatDev and guruDev can achieve significantly more than goodDev. I’d argue that a single guruDev is significantly more productive than having a dozen goodDev.
None the less good software teams (like PMR’s as lead by Jim Downing) manage to balance all three types of developers. Aside: I’m hoping to attend one of Jim’s Friday code reviews soon (my colleague Andy was recently in attendance and was very impressed, especially with their team motivational use of Hudson). None the less, there is a significant risk in taking on goodDev who potentially have a negative effect on the production of the team (not that they won’t advance their skills to become productive).
The point of this post being, that developers are not just developers. One is not the same as the other. Projects looking to use developers on their team need to understand how significant the selection of a developer is. Unfortunatly, I don’t think we have a good system for even interviewing developers let alone a way to acknowledge their skills.
More on this later. Lots of thoughts abound.