2 things.
First,
@davefarley77 's latest video has such a wonderful point at 4:00 about code base perception over time. It's qualitative, sure, but mirrors my own personal experiences. Even IF we implement test after, we (all on the project, devs, product, etc) "all hate the code base" after awhile. Twice now I've done TDD on greenfields, and 5 times on code bases that were Test After or No Tests. It DOES make a positive impact. Yes, there's a ramp up. Yes, things will be hard along the way as you/your team learn and it's not a panacea. It's better than the alternatives.
youtube.com/watch?v=h-4i5N89…
Second, there's been an uptick (I guess I blame "The Algorithm®"?) in a lot of CICD, code quality, Agile, and even programming language thought leaders and their replies getting irritated with people saying "management doesn't prioritize tech debt, and we have hard deadlines, thus it's their fault this code is a mess". There is so much to unpack here.
My first irritation is empathy. If CICD, TDD/BDD, low coupling, etc is so easy, everyone would do it. It takes years, more so if you don't have mentors, of figuring out how to be productive with them. Lot's of bad info out there. The whole time you're required to be delivering working code with zero room for error. This includes all the free blogs, books, and tutorial videos out there. Getting mad at people who are clearly asking for help isn't helpful, makes you look like a jerk, and creates the wrong perception around best practices. "Well, if this is what the people who practice the best practices act like, I guess it's not for me". Come on, man... they're human, programmers who want to learn and do better, have some empathy and patience. If you want things to get better, help teach vs. being arrogant.
They come off as tone deaf in this horrible tech market. People have mortgages/rent, bills, and family responsibilities. They're terrified if they don't deliver they'll be next on the chopping block. Angrily raging against management who doesn't yet get it? Hell yeah, Jesse Warden backs you. Saying it's the coder's fault, or management is dumb, or putting the onus on the coder to "push back" against their Tech Lead/Product Owner to build in quality? Dude, you have no idea what horrible advice your peddling. Equip people with actionable, helpful advice, not some destined to fail delusional code quality revolution.
If you're suffering with bad code, or are angry you keep doing projects that end up horrible, you have 2 options that will help you get out of this cycle.
1. Sleep 8 hours. If you look at the data, formal methods TDD well managed diverse team CICD all combined still do not impact quality as much as sleep does. Fix that first.
2. Keep Learning. Follow
@BryanFinster @johncutlefish @davefarley77 @mfeathers @tottinge @KentBeck @d_stepanovic @ghohpe @jbrains @mipsytipsy and read the articles they link too.