Anti-patterns and Malpractices in Modern Software Development (2015)
I cannot disagree more strongly with this article and the attitude behind it. I mean, look at each of his points in turn:<p>1. His first two points, stripped of the irrelevant polemic, are the complaint that software is meant to help the business meet its goals. Well, obviously it is. Very few people are paid to build software as artistic expression; that&#x27;s for personal projects. Software that doesn&#x27;t meet a business goal is bad software, no matter how elegantly designed.<p>2. His third point is that when you&#x27;re in an organization staffed by people with their own personalities and goals, you need to be able to communicate and negotiate and engage in all kinds of human interactions. People who call this &quot;politics&quot; dismissively, as the author does, and think that it is intrinsically bad should never have a job where they have to interact with people; stay a low-level code-wrangler.<p>3. His fourth point is... well, honestly, it&#x27;s that he hates his job. Sorry. Most people don&#x27;t, though. If I were him, I&#x27;d look for a different role.<p>4. His fifth and sixth points are that if you work on a team, you also have to work with teammates, who will have their own personalities and goals and interests, and you&#x27;ll need to be able to communicate and negotiate and engage with them. Um, yeah. If you aren&#x27;t willing to do this, you&#x27;re going to be a terrible teammate, and this guy sounds like he would be one, with all the griping he does about the coworkers he hates.<p>5. His seventh point is about collective code ownership, which is about treating developers as collaborating equals rather than letting one person on a power trip control everything. This upsets him, because he&#x27;s the guy on a power trip and he wants to control everything.<p>6. His eighth point is that management methodologies exist. He seems to think this is self-evidently terrible, rather than considering that changing management methodologies can make a huge difference to the success and happiness of a team, and that agile methodologies are much better than old-school command-and-control waterfall stuff in a ton of ways.<p>7. His ninth point is that you&#x27;re not cynical enough, because you don&#x27;t hate everything already, and he does, and that makes him a better person, and you should also join him in hating everything and everyone.<p>This is literally toxic advice. Do not take it, and if it sounds reasonable to you, it&#x27;s time for some soul-searching.