> "terrible technical decisions".
Another point worth bringing up is that sometimes, that stuff doesn't matter. I see so many engineers get hopelessly invested in technical debates that are, honestly, just silly: it's often better for the company to get something barely-good-enough done quickly than to flesh out the "optimal" design over the course of weeks or months, and over the dead bodies of people who have a different opinion about vi-versus-emacs.
And even if you accumulate tech debt, it is sometimes a wise decision to pay it back later, when you (hopefully) have more money and time.
So, I'd add "pick your battles wisely" to the list of tips.