Most of us will work on software for our organization, and we might not want to or care about the end result being great. We do want it to work, and we want clients to find it useful. If we have external customers using our systems, maybe we want it to be great. In most of my experience, people are often proud of their work, sometimes ashamed, but not many people spend a lot of time making their corporate applications great.
Often because we don't have (or aren't allowed) the time to do so.
Basecamp is a popular SaaS project management solution, and Hey is a reimagined email service that many people love. One of the founders of the company wrote an interesting post on software being built that starts with this sentence: "The speed at which a product is developed doesn't inherently make the product better or worse."
It's a bit of a shot at AI, but it also goes into the fact that we often measure our software process in ways that aren't about the output. Most organizations have abandoned lines of code as a metric, but I do see commits or PRs being used, as well as other metrics. Trying to decide if your developers are effective isn't a horrible idea; after all, we should be ensuring that they are getting something done, but none of those metrics necessarily help us make better software.
I see that at Redgate, as we incorporate AI into our work. A lot of the things that make software take time aren't solved with AI. They're solved with deep understanding of the problem space, what your customers need, and what helps them work well. AI accelerates some things, but we still need product people empathizing deeply with customers and designers watching for UX issues that create friction for customers. AI can help speed up the experiments and outputs in some ways, but just adding in chatbots or AI agents that write code isn't necessarily useful.
There are a lot of decisions in building software. What to do, what not to do, what's more important than something else, and of course, what approach to take in the architecture. That's before we even get to performance, which is something that far too often gets ignored, at least for the code being run against databases. Building great software is hard, but it can be done, and AI can help.
You just need talented humans guiding the process.