I don‘t accept this generalization. We‘re currently working for a company which developed some really bad R&D code. They recoginzed that they are already selling it to their customers and took us into the project to make sure the code is of proper quality. They recognized that their engineering skills are on the line in the long run with their customers and did something about it. So no, not true.
nostr:npub19mun7qwdyjf7qs3456u8kyxncjn5u2n7klpu4utgy68k4aenzj6synjnft
In the last week I've seen a bunch of code that was procedural, stiff, coupled and glued together, dependant on concretions, with all the responsibility in the world in a single method. Classes with 4 functions, each with 150 lines of code, some of them just with 150 of SQL.
I thought, since I have 20 years of experience, and I'm a fairy decent programmer, and I know quality and what it takes to make code reasonable, I made a presentation to explain to my boss and my colleagues who don't read, don't watch YouTube, don't get formal education and the reason why they are there is because they have degrees in physics and maths and can make the machine do what they want, and my presentation would be a reminder that small modules can really help make changes later on and when combined the potential, the cyclomatic complexity, the accidental complexity remain low and we don't require as much cognitive load to understand and change code.
But I gave up doing the presentation. I'm gonna shut up and have a bad time going through their code and make a fool out of myself, you know why?
I realised it's easier and cheaper to find people with large cognitive capacity and lots of energy than to find and pay someone who is an artisan.
Good code is for your own company if you have one. All they want is ship things at the lowest price and whatever comes next, is someone else's problem.
True?
Discussion
Oh they will all admit their code lacks behind... That's never been a problem. I worked in 15 other companies and all of them with no exception would gladly admit they could improve "tests" and start "TDD" and all of that... But in 3 months they are all exactly the same if not worse.
15 companies. Big and small.