The other programmer on the project I am on is no more (at least, his contract is no more. He is still alive and well, to the best of my knowledge).
He is strange. He is extremely intelligent and a far better programmer than I was at his age. And yet despite all this intelligence, he still managed to make mistakes that put him squarely in “incompetent buffoon” territory. And then kept making them. Despite being a very promising programmer, he didn’t manage to get a single line of code into the repository and did not in any way help us to fulfil any requirements of the project. Not one bit. He was more interested in micro-optimisation and arbitrary style guides, on the rare occasions he did anything at all.
Micro-optimisation! How can you optimise code if you don’t even care what it’s supposed to do?! First rule of optimisation: don’t do it. It never ends well. You always have to make assumptions and 11 times out of 10, those assumptions are wrong, but you’re far too early in the project to know it yet, so you’ll spend all week optimising something that you have to revert in 6 months’ time.
There’s a lesson in here about hiring programmers…