I didn’t say code quality is irrelevant, I said that in large-scale systems, architecture was much more important. And I have to add that with today’s software systems becoming larger and more complex than ever, that principle is more true than ever before. Particularly with today’s software developers throwing out applications that need 500 MB of memory to run, when similar things were written years ago that could produce similar or better results running in 1K words.
Some relevant commentary:
Among people who write about software development, there’s a growing consensus that our apps are getting larger, slower, and more broken, in an age when hardware should enable us to write apps that are faster, smaller, and more robust than ever. DOOM, which came out in 1996, can run on a pregnancy test and a hundred other unexpected devices; meanwhile, chat apps in 2022 use half a gigabyte of RAM (or more) while running in the background and sometimes lock up completely, even on high-end hardware.
…
… Apps are slower than they used to be. And exponentially larger without a corresponding increase in value. At the very least, there are optimization opportunities in almost any modern app. We could make them faster, probably by orders of magnitude. We could remove code. We could write tiny, purpose-built libraries. We could find new ways to compress assets.
Why don’t we?
Prokopov’s answer is “software engineers aren’t taking pride in their work.”
To be clear, the author of the article doesn’t agree with the simplistic “laziness” or “lack of pride” argument, but he does present some reasonable explanations for the decline in software quality. I’m going to throw in my own unconfirmed observation that the Microsoft culture of “good enough” and the development paradigms that they’ve promoted has a lot to do with it.
Sure, consider it done!