Zero-to-one engineering refers to the phase of product development that starts with no existing codebase and ends with a working product in production serving real users. The name is borrowed from Peter Thiel's concept of going from zero to one, creating something genuinely new rather than incrementally improving something that already exists.
This phase is distinct from later-stage engineering in almost every dimension. The primary constraint is not scalability or maintainability but speed of discovery: getting to a working product quickly enough to learn whether the core hypothesis is correct before resources run out. Architecture decisions made in this phase have outsized consequences, both when they are made correctly and when they are not.
Common mistakes in zero-to-one engineering include over-engineering for scale that may never be needed, under-investing in the foundation that will make the second version of the product feasible to build, choosing technology based on team preference rather than the needs of the specific product, and treating the first version as representative of the final architecture rather than as a learning vehicle.
The engineers who do this work well have a specific combination of skills: they can move fast, make defensible architectural decisions with limited information, build things that work reliably without being perfect, and hand off a codebase that a team can understand and extend. This is not a beginner's role, and it is not the same as senior engineering on an established product. It requires both technical judgment and the ability to tolerate uncertainty.