Comment by felizuno
9 months ago
Clean Code zealots are consistently some of the least likable, least productive, least pragmatic people I have ever worked with. I've had multiple clients where the whole team is threatening to quit unless the CC zealot is fired. And when they are fired guess what - bugs go down, shipped features go up, and meetings become productive. "Idiots who froth at the mouth" is an understatement IMO
This too seems like a fairly hardline stance to take. I think it's not surprising that you'd have a hard time collaborating with people you'd refer to as unlikeable, unproductive, unpragmatic, overzealous, frothy idiots.
It reminds me of the standard joke about veganism: "how do you know someone is vegan? Don't worry they'll tell you"
It's a very ironic joke, because the people I hear talking about veganism the most are non-vegans complaining about veganism. In this thread too. All I see is people complaining about how dogmatic clean code people are, and I see no examples of that in this thread. The only strong and absolute language I see is from those who are complaining about CC people.
Bear in mind, I don't have a dog in this fight. I'm not vegan, my methods are sometimes longer than four lines, and I do occasionally write a comment. But if this thread is anything to go by, the clean code folks seem a lot nicer to work with than the reactionaries.
I'm not seeking these people out to hate on them, but when I encounter them the social and code environments around them always exhibit the same dysfunctions. I've seen it multiple times. When your team is threatening to quit because they can't stand working with you, the problem is _probably_ with you and not them. And when you get fired and bugs go down, velocity goes up, and the morale problems disappear, it's now obvious that the problem was you. It's not a hand wavy theoretical take, it's a consistent pattern from dozens of instances at a variety of companies.
Well I am vegan, and let me tell you, some vegans are completely insufferable. While it's true that the people ranting about vegans outnumber the insufferable vegans, there is a core of truth to it.
I didn't read all 416 comments in this thread, but I've definitely worked with some people who religiously follow Clean Code to the point of toxicity. Perhaps the most bizarre example I encountered was the person who insisted that they're a backend dev, that they should never have to open the UI to test anything as tests should always be sufficient, and would continue pushing bugs in to production because the early "startup days" had produced some pretty crappy code with limited (or no!) tests. It was completely unworkable. The team literally had a party after he left. That was after two people had quit in large part due to this person.
I have also worked with some people who generally liked Clean Code but didn't follow it religiously in spite of what works for this specific project. That's fine: that's just a normal type disagreement like Python vs. Ruby or where to put the braces or whatever: you talk to each other, and reach some solution that reasonably works for everyone.
And the "reactionaries" are mostly just normal folks who want to get stuff done.
On top of that, the argument was "i hate clean code people because they use bad reasoning (read something in a blog)". These are exclusive from each other. The OC basically argued there are no good reasons for clean code.
I prefer readable code, but I wouldn't call myself a "clean code" person.
I am in here taking a strong stance against CC, but I am happy to agree with you and steel-man your point: I think Clean Code is perfectly fine and workable in academic and single-developer software projects.
I think most of this pushback (certainly all of mine) is about it creeping into production environments and exacerbating personality traits that tend to be problematic in team settings, which does not invalidate the abstract idea and should instead be scoped to its practice.
I’ve seen someone take a glance at a codebase, declare it too complex, and suggest reading Clean Code.
The entirety of the complexity was essential and dictated by an external data model used nation-wide for interoperability.
Based on my experience and the OP dialogue, Uncle Bob is a vanity-driven narcissist and an infectious fraud.