Thoughts on Technology Leadership

AI Can Start Your App. Engineers Still Have to Fin

Vibe coding is a phrase used to describe writing software by giving AI agents English instructions rather than coding it directly. The idea sounds appealing as it implies that non-technical staff can take their ideas and implement them as working applications, without the expense of software engineers. In practice, the gap between a prototype and real software is where things fall apart. You wouldn’t teach a preschooler to cook by giving them instructions and leaving them alone with a knife and a stove. They need supervision. AI agents are no different when it comes to writing code. AI agents can create functioning applications from instruction. Getting from a working prototype to something suitable for real users is a very different problem. In far less time than it would take me to code it, I had a working ToDo app. It could create tasks, set due dates and priorities, organize lists, and edit existing items. The application worked, but only on the surface. Underneath, there were problems. There was no security. If I had deployed it to the cloud, anyone could have added, edited, or deleted tasks. Moreover, the lack of security extended to not creating a database that separated data by user. When I did ask the AI agent to add security, it suggested using an authentication system that secured access to the server, but enabled anyone launching the web site to have access. In other words, a chocolate teapot of security. It created no tests, so parts of the app didn’t behave as expected. Worse, as I added new requirements, existing functionality broke; the agent didn’t catch it. It put all of the code into one big file. This makes it difficult to maintain the code going forward. It used a simple database, SQLite, that is suitable for testing purposes, but is not suited to production use. All of these issues can be addressed by providing instructions to the AI agent, but only if you know they exist. That requires real experience and knowledge of software engineering. A non-technical user can create a prototype based on their idea, but you still need expertise to create software that will work beyond a single user and their laptop. The agent also struggled with a simple CSS alignment issue, repeatedly making it worse with each attempt. A developer with front-end experience could have fixed it in minutes. Vibe coding is a new way for non-technical people to document their idea in an unambiguous manner. Showing a software engineer a working prototype is less prone to misunderstanding than passing a set of written requirements. Turning a prototype into reliable, secure, production-ready software still requires expertise.

Back