> I think software as a whole suffers greatly from this "well, I got it barely done, technically fulfilling the requirements, so my work is over" attitude.
I disagree. I think employees suffer from an incentive problem. I love doing good work and writing good software, but there's only so much time in the day and I don't love it so much that I'm going to give up my personal interests for business gains I'll never benefit from.
On top of that, mismanagement is the other biggest factor. Any time I start some refactoring, I can reasonably expect that I'll wake up one day to a brand new must-have feature that I need to complete by EOD if possible. No matter how much management agrees that tech debt needs to be addressed, it will only ever be addressed if I pad my estimates and do the refactoring instead of my assigned work.
The plywood starts flatter, is less resistant to warping, is just straight up more dimensionally stable, and as strong if not stronger than some species of wood that are used in carpentry.
Generally speaking, modern management doesn't respect the business, they look at maximizing current P&L before all else. I worked at a place where the entire business was dependent on a true legacy system where 75% of the staff responsible for this core system retired years ago, and the rest literally died at their desks. They considered it their life's work and documented everything and advocated for a variety of sane plans to migrate.
What was the result? They're all dead. The last one was 74. The system remains, and they are paying the legacy vendor 50x and getting minimum viable support and zero enhancement, further increasing complexity. It's a shitshow for the company, but they still haven't moved to fix it. The lesson is, don't get emotionally invested in the company. That dude should have been watching his grandkids grow instead of slinging COBOL and JCL and hoping that someone would wake up and give a shit.