I sat down with a consultant our company’s hired the other day and asked about the consultant’s special skill sets. The idea was how they could help mentor/coach my team since just giving them some random coding assignment doesn’t build any lasting capacity.
So I asked about the things we need the most help with first, any experience with unit testing, TDD. Would you be able to sit with my developers and show them via some pairing? I got kinda the deer in the headlights look. Didn’t take long to figure out this consultant had very little experience with unit testing, though luckily they didn’t pretend to know more.
Anyway it turns out the consultant does unit testing. Fire up IBM RAD 6.0, drag and drop some JavaServer Faces components on the page, deploy to a local instance and then manually click and type your way through a unit test.
I can’t say I was surprised, but it’s still kinda sad. This is very much the contractor consultant model where a person jumps from contract to contract typically having some depth on a few newer technologies. They might know the technology pretty well, but the larger context of keeping up with software development practices is not a major concern. In this case the consultant may turn out to know their way around JSF pretty well which will be somewhat useful. Still is it too much to ask that a consultant know how to write unit tests?