I'm being a bit hyperbolic here, but the gist of my point is: not everyone who works hard is worth keeping around, especially if their hard work leads to an un-managable mess in the future.
I'm being a bit hyperbolic here, but the gist of my point is: not everyone who works hard is worth keeping around, especially if their hard work leads to an un-managable mess in the future.
That is, usually these few hard workers are typically the ones responsible for getting a company to profitability precisely because of their GSD attitude. Now that the company has some runway, the architecture and refactoring can proceed.
Managers tend to reward those who complete tasks today as minimally as possible at the expense of the product tomorrow.
I'll remind you that, for every failing 600 line bash script you debug, there are probably 20 others that are sitting there, just working.
Software for automatic trading, dosing radiotherapy, controller for moonshot etc will have different requirements on correctness than ordering of search results.
Ignoring these things can have people killed/ruined and they have.
There is no shortage of software jobs. There are plenty of opportunities to work with a relatively clean codebase, capable and experiences colleagues, unencumbered by the VC runway bullshit.
Many new companies spend too much time perfecting the wrong thing.
But messy code is NOT a requirement to make it.
Messy code, in and of itself, does not help.
Messy code might be a sort of inevitable step on the path to product/market fit. However, it is most certainly not a goal, and dealing with messy code is not a luxury. It is more likely a sign that the early tech people weren't very good.
There's a different sort of hard work involved in achieving deep mastery over something. Reading, researching, building and testing ideas... it takes hard work to become an expert at something, but I guess you're far more likely to see the former type of hard work than this.