Over the past few days, Uncle Bob’s Twitter has become a battleground over politics and controversial topics. While I don’t feel I’m capable of discussing most of those matters, one thing caught my attention. Some people seem to be suggesting that Clean Code can be used as a moto for shaming. When I first read it here, I was bothered by it and I’ll try to explain the reasons soon, but minutes after I finished reading the blog post I had some flashback of my younger years, doing something very similar to what the author described.
I confess I did defend clean code in a way that could make people feel embarrassed. There are only a few things I regret in my life, this is certainly one of them. I will always feel sorry to some people that had the unpleasure experience of being my teammates during my darker days, years later I did everything in my power to make up for it and I think I was very successful doing so.
What happened to me is different from what has been described, though. It wasn’t the brand or its owner that drove me into my madness. It was my own ego. It could have happened over anything else, suppose a framework that I thought people should know and they didn’t or some design ideas I disagreed with. There was a point in my career that I felt superior and I couldn’t see how blind I was until I was brought to some views over professionalism and how to be a good teammate. Back in the day, not a lot of people addressed those topics and without a doubt, Uncle Bob himself was one that helped me the most to snap out of that path.
Could there be people at this exact moment trying to shame people for not applying or knowing Clean Code? Of course, just like with everything else. This falls more into the person’s character than the topic itself. Dogmatism can be found at many places. Blaming Clean Code for this feels to me as potentially shooting the wrong target.
To me, a good developer is someone who always questions everything and does what makes sense for the job at hand. You should be equipped with your experience and be willing to hear and learns from others all the time. You learn the most when something completely unexpected is revealed to you and shuffles your own little beliefs, I enjoy that feeling a lot. I don’t necessarily find it problematic when people defend their beliefs with passion. It falls to each and every one of us to draw our own conclusions, accepting that they may change over time and that we shouldn’t extend them to other people by force.
The line has been crossed
And let me tell you, this is very sad. I don’t remember if those discussing technical divergences went this far, but I saw people calling Uncle Bob a “piece of sh*t” on twitter just the other day. Like I said at the beginning, I’m not going to bring up my views over the other topics he was public bashed for because I don’t feel like it’s my place. But if you went this far or if you tried to follow the trend for self-promotion, you should think deeply if what you did is fair and have some empathy.
I don’t know what’s happening to the world these days, it feels to me like we can’t disagree without someone having to bear the burden of being wrong, even if by association or by majority’s decision. If you have to insult someone to get your point across, you’re nothing better than the vision you have in your mind for the person you’re criticizing.
Let’s move on
I don’t know Uncle Bob in person. But I have probably watched over 100 hours of his teachings through his website and other sources and I came to realize that, above many things, he wants to help people avoid making the same mistakes he did. I understand how some of his words can trigger you to feel uncomfortable such as the claim that TDD and professionalism are tightly related if you don’t like these sorts of claims, challenge it with something better. At the end of the day, it’s just like Bruce Lee said: “Adapt what is useful, reject what is useless, and add what is specifically your own.“
I for one, can’t wait to meet him in SC-London this October.