A pattern has emerged recently amongst those interviews that don't result in a job offer - over the last six months, the primary reason clients are rejecting candidates for a software engineering position is not down to money, location, attitude or availability.
It's down to their C coding skills.
We were initially surprised to hear that candidates with extensive experience and outstanding references are failing what several clients have described as "simple" C tests, but we've since figured out what the problem is. It's like driving a car. After you've been doing it for a long time, it's easy to take it for granted. Corners get cut because, even though our technique may not be in line with what we're taught by our driving instructor, we can still get the vehicle from A to B successfully.
However, if somebody with a decade on the road were to take their test again, they would fail because they've found a way that works for them and are now used to "getting by" rather than driving flawlessly and by the book.
That's what these C tests are after - by the book coding. And clients are putting huge value on this at present. In fact, we've seen candidates with vast experience of writing simple character devices, Linux interrupt handlers and code optimization turned away by clients who have ended up hiring less experienced candidates who make up for a lack of complexities with rock solid C programming skills.
The clients' reasoning is that if a candidate has a complete and current mastery of the basics of their trade, they will be able to turn their hand to anything and pick it up quickly. They feel that if the basics are rusty or messy, any work will be built on a weak foundation. If there's a lesson here, it's that the current market demands senior software engineers (as with any type of professional) regularly revisit the basics and maintain an outstanding grasp of the building blocks on which their industry is built.
Even software gurus must not consider themselves too experienced to revisit the basics and must not presume that skills acquired years ago are as sound as ever - after all, without upkeep, even the sharpest knife can become blunted in time.