The app for independent voices

Iโ€™ve been writing 99% of my code at Airbnb with LLMs (mostly GPT-5 w/ Codex). If you think this is a bold claim it means youโ€™re doing it wrong ๐Ÿ˜…

When you're building high quality production software, writing code is always the ๐—น๐—ฎ๐˜€๐˜ ๐˜€๐˜๐—ฒ๐—ฝ.

Your first step is to understand the problem that needs to be solved. Then ideate solutions, consider alternatives, explore tradeoffs and refine your exploration into a concrete plan.

Even as you implement the plan task by task you should not be coding a stream of conscious. That leads to bad code design. You should be considering the architecture of the code, abstractions and coming up with a clean way to write it.

Only after all this upfront design and planning work do you then start manually typing code with your fingers.

That last step is not necessary to do manually anymore. Whenever I think of coding, I immediately reach for an LLM because I use it like a power tool.

A carpenter does not leave their power drill on the table when they need to screw in a bolt. Why would you not use an LLM to execute on your plan?

This is not Vibe Coding, you are not relying on the LLM to decide on its own how to implement your solution.

You are in the driver's seat, providing direct technical guidance at every step. ๐—ฌ๐—ผ๐˜‚๐—ฟ ๐—ฒ๐˜…๐—ฝ๐—ฒ๐—ฟ๐—ถ๐—ฒ๐—ป๐—ฐ๐—ฒ ๐—ฎ๐—ป๐—ฑ ๐˜€๐—ธ๐—ถ๐—น๐—น ๐—น๐—ฒ๐˜ƒ๐—ฒ๐—น ๐—ฑ๐—ถ๐—ฟ๐—ฒ๐—ฐ๐˜๐—น๐˜† ๐—ถ๐—บ๐—ฝ๐—ฎ๐—ฐ๐˜ ๐—ต๐—ผ๐˜„ ๐—ด๐—ผ๐—ผ๐—ฑ ๐˜๐—ต๐—ฒ ๐˜€๐—ผ๐—น๐˜‚๐˜๐—ถ๐—ผ๐—ป ๐—ถ๐˜€.

No, this is not slower than doing it without LLMs. You should also use LLMs as power tools for research, planning and architecture. This will get you even higher quality software than without them. It allows you to go far beyond due diligence and truly explore, analyze and refine your design fully before any single line of code is written.

I use the following workflow to naturally research, design and plan the feature I want to build in the form of a conversation which then gets converted to a formal Spec that the LLM can implement task by task:

1. Explain the problem to the LLM.

2. Give it your ideas for the initial solution

3. Tell it explicitly: โ€œPropose an approach first. Show alternatives to my solution, highlight tradeoffs. Do not write code until I approve.โ€

4. Review the proposal, poke holes in it, iterate

5. Tell it to write the plan to disk as a spec so you can hand off to another session later

6. Lastly, let it generate code.

Jan 29
at
7:42 PM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.