Is AI Really a Better Developer?
Recently, I saw a tweet from someone who used AI to build a Spotify clone called Spotifast, written in Rust (which is known for building extremely lightweight apps, both in terms of size and RAM usage). And there was a reply to it that got me thinking: “If this app works perfectly fine and reliably, doesn’t that basically prove that AI was better than the developers at Spotify? Even if it has bugs or issues, so does the original Spotify app.” Having written a whole book on why you shouldn’t vibe-code, I was surprised to find myself thinking this way. After thinking about it a bit more, I found my answer and thought it was worth sharing.
People don’t care about the quality of your code until they encounter an error. They don’t care about it until you need months (or thousands of dollars) to add an average feature to the app without breaking it. Software development spans the entire lifetime of the software—as many great developers and books on software engineering have pointed out. You can’t truly compare software with other types of products. Even something as crucial as a logo has much less to it when it comes to scalability and maintainability. You could even argue that there’s almost no “maintainability” involved in logo design. In software design, however, you always have to consider future changes: hours ahead, days ahead, weeks ahead, months ahead, maybe even years ahead.
It’s true that some software doesn’t have to be maintained. There isn’t much to it. You wouldn’t want to scale or maintain it. When I build a tool for myself to edit my YouTube videos more easily, all I care about is whether the tool works right now. I’m not responsible for its future. It’s not going to be scaled or maintained. It just needs to work on my hardware, on my operating system. I don’t need to stress-test it because the only user is me.
The same applies to Spotifast. Its creator doesn’t have the same obligations to users that Spotify does. Even if we compare only the client apps (leaving aside Spotify’s massive backend infrastructure), there’s more to consider than the interface or how much RAM they use. There’s handling unreliable connections, managing offline downloads, supporting different devices and operating systems, providing accessibility, and implementing new features without breaking existing behavior. Those concerns don’t end once the app works; they continue with every update, as the app, the systems it runs on, the design and intents behind it, the requirements and the security threats it faces, and more all change. Spotifast may do some things better, but unless we know how well it handles comparable requirements over time, its current performance doesn’t prove "AI is a better programmer".
I don’t think I need to explain more. I’ve already explained a lot in my book. Thanks for reading, and here’s the link to the book: