Leveraging LLMs for Software Development: A Personal Workflow for Enhanced Productivity and Quality
The author shares a personal workflow for developing software using Large Language Models (LLMs), highlighting a shift in programming focus from writing code to system architecture. Driven by the capabilities of LLMs like Codex 5.2 and Opus 4.6, the author has experienced a significant increase in productivity and a lower defect rate in software projects. The core benefit is the ability to create complex systems with tens of thousands of lines of code over weeks, maintaining reliability throughout. While LLMs handle code generation, the author emphasizes the continued importance of strong engineering skills in system design and decision-making, noting that projects in unfamiliar technologies still suffer without this architectural understanding. This approach allows for faster, higher-quality software creation, marking a new frontier in development.
The author expresses a newfound enthusiasm for making things, largely attributed to the advancements in Large Language Models (LLMs). The realization is that the joy comes from creation, with programming merely being a means to that end. With LLMs now proficient in programming, the author has been using them continuously to build projects, viewing this as the beginning of an unexplored frontier in software development. Amid ongoing debates about LLMs, the author decided to detail their specific workflow to help others create things more easily, quickly, and with higher quality.
A significant benefit emerged around the release of Codex 5.2 and, more recently, Opus 4.6: the ability to write software with LLMs at a very low defect rate, potentially lower than hand-written code, without sacrificing an understanding of the entire system's workings. Previously, code would quickly become unmaintainable after a few days; however, with LLMs, the author has been working on projects for weeks non-stop, growing them to tens of thousands of useful lines of code, with each subsequent change proving as reliable as the first.
The author also observes a shift, rather than a obsolescence, in engineering skills. The need to meticulously write correct code has diminished. Instead, the importance of understanding how to correctly architect a system and make the right choices for usability has become paramount. This distinction is evident in projects where the author lacks understanding of the underlying technology (e.g., mobile apps), which still tend to devolve into a mess of poor choices, indicating that architectural insight remains crucial.