Applied Consultant Taxonomy to Prevent Confusion
A few posts ago, I proposed a taxonomy for software consultants. My reasoning for doing so was that I wanted to attempt a bit of clarification. As software has taken over the world, “consultant” is no longer singlehandedly up to the challenge of describing everyone working in software not associated with any particular domain.
So I proposed the terms software pro, specialist and consultant as a means of bringing some clarity. At the end of that post, I also alluded to a future post, in which I would talk about the problems that crop up when one of these personas is mistaken for another. This is that future post.
Having been in and around the consulting world for a long time now and having served time in all three of these roles, I’ve seen firsthand how weird and sometimes damaging confusion of these roles can be. There are too many permutations of mistake for me to want to list all of them in a post, so I’ll stick to the ones that are the most common and interesting, in my opinion.
The Aggrieved Grunt
For better or for worse, rightly or wrongly, software pros are regarded as the grunts of the non-salaried software development world. Consultants and specialists are hired in non-delivery and possible-delivery roles, respectively, which means that they’re being hired for their expertise. Software pros are hired into delivery roles, and while their expertise may interest their clients, it’s their labor that’s being purchased.
A non-expert labor purchase has two interesting characteristics for our purposes here.
- It means that someone else, and not the software pro, is making the strategic decisions (i.e. “we’ve put together all the requirements and design specs and need you to code ‘em up”).
- It puts the software pro firmly on the hook for execution.
Significantly, the software pro’s charter looks a lot like the line-level developer’s charter. After all, architects and team leads make strategic decisions, and managers supervise delivery rather than owning it. The grunt coders on the team, by contrast, faithfully execute the strategic visions of others. So if we map the consultant taxonomy to familiar team roles, consultants are roughly like managers, specialists are roughly like architects, and software pros are basically developers.





