Here are some of mine coming from a software engineering background:<p>- Symptoms of bugs are treated, not the root cause. This one varies but there is a consistent lack of analysis in understanding the problem.<p>- Architectural mistakes re-occur, but not their solutions. Problems that aren’t/weren’t well understood from past architectures/implementations crop back up.<p>- There is a superficial understanding of the problem that leads architects/managers at the top to make decisions out of fear: "Feature X used EC2 instances. EC2 instances are REALLY expensive. Therefore we shouldn’t use EC2 instances ever." The real problem is not EC2, it is how our company migrated a monolithic application without refactoring with the new environment in mind.
The ratio of people with inane checklists who spend their entire day in meetings to people doing actual work exceeds 1:10.<p>Employees who essentially believe in magic because anything ‘tech’ is beyond them.<p>Willingness to spend ridiculous sums on outside contractors/agencies to ‘speed things up’ without 1) understanding why that doesn’t work and 2) not rewarding employees working their asses off with no raises.<p>Not saying no to shining new things in a desperate attempt to increase revenue. Failure to realistically analyze and kill such shining new things post launch when they drive no revenue, but increase technical burden.<p>Devs constantly hammered as not doing things quickly enough by the same people who don’t do actual work other than above checklists.<p>Failure to recognize that exception handling is critical in things like Ecommerce and you have folks that aren’t going home until all the 1 in 1000 issues are dealt with because a paying customer is actually expecting a product.<p>People calling into meetings from poolside or better yet Hawaii acting like they are working remotely.<p>Thinking that MS Teams is just as good as Slack or anything else.<p>Man, this has been a hard fucking year.
People and the processes not caring about writing knowledge down. From no process documentation to no knowledge management tools, including but going way beyond:<p>* Being OK with useless commit messages.<p>* Disregard for auditable tracking of issue progress, decision making, design flows, etc. E.g. Anyone having to tackle any existing non-trivial issue needing to be forwarded many email threads and random files.<p>* Predictable emergencies needing avoidable crunch mode over and over, no knowledge accrued about how the last fixes went.<p>The more examples I think about, the more it boils down to: any signs of an insatiable gluttony for technical debt should make you think twice. You're likely to be the one paying for it in the end.
Jira. But seriously. The main one is a lack of ownership. When there are 20 different people asking for stuff from engineering and no on managing or prioritizing those requests, I'm out. That's chaos.