essays · engineering
How to create high quality software with LLMs
It's actually a lot more straightforward than you might think. Here's a three-step process for writing production quality code using tools like Claude.
Step 1: Spend ten years as a professional engineer
Learn your work in depth. Understand networking, operating systems, databases, and a useful handful of programming languages and their execution environments. Work at product companies, consultancies, and write a lot of software. Work in design patterns, functional programming, frameworks, whatever you can, you need to understand it all and have live-fire practice with as big a slice of your field as you can. Your goal here is to get enough experience that you start to develop taste and good judgement.
Step 2: Learn to articulate your thought process
Keep a decision journal and periodically review your thought process. Now that you have taste and good judgement, you need to be able to put it into words so you can explain it to other people. Your goal here is to develop clarity of thought. The better you are at writing your reasons for doing things, the more sense they will make.
Step 3: Spend a couple of years learning agentic coding tools
Use a good variety of tools and learn to work with context. Agentic coding lives or dies by the right combination of model, harness, context, and task. You'll need to tweak these, and have solid verification systems in place that you're happy with the output you produce. If you don't have a clear idea of the architecture of the software you want to build with LLMs, go back to step 1 or 2.
That's it. That's the whole process. You can try to skip some of the steps but I don't like your chances. Best of luck out there.