The destructive power of Proactive Incompetents
September 1, 2015
Being proactive is nice, most of the times. There’s a harmful way of being productive: when you are incompetent.
On Compufácil we had an external team that was there to “help” the main equip to launch quickly. Since the project was starting they had to decide upon many things. Soon their methods reliably were demonstrated to be ugly and many times we had endless discussions on pull requests.
On time they started doing a module by themselves, but as the time passes, and tasks of that module where given to us, we see how monstrously piece of bad design was there.
Here I have a point to make, we have code reviews, so why the code could be so messy? Well, turns out that our pull requests stayed for hours being reviewed, and the discussions used to go on and on. To the point that we many times we’re called attention upon the length of the PR’s reviews. In these conditions even the most arduous crafter and careful of us may let some “minor things go”.
The perception of the rest of the team about their professionalism was getting worse and worse.
We complain about them but it doesn’t helped much, the perception was that, even they being incompetent, was better with them than without, so we where instructed to give only easy and mechanical tasks to them.
In short: they messed half of the source code.
The parts of the system that stayed with them for long periods smells to the point of throwing all away.
They almost completely demotivated the REST of the group. The pull requests took hours to review.
The requirements always went wrong. And now that they are gone we have to live with their legacy. Now that they are gone we will have to redo all the crap they did, once again, slowly and painfully. I prefer a lazy but mildly competent collogue than an proactive and incompetent one.