EngineeringHafsteinn Runarsson · AI Konsulent28 Apr 2026 · 7 min
Full-stack, literally: one team, one build

Most software projects are relay races. Strategy hands a deck to design, design hands a file to frontend, frontend files tickets against backend, backend negotiates with whoever owns the database. Every handoff drops information, and the dropped information is usually the reason the feature exists.
The database schema and the interface are two ends of the same decision. What you can show users is constrained by what you stored; what you should store is dictated by what users need to see. Split those decisions across teams and you get the classic symptoms: endpoints that return almost the right shape, interfaces that fake data the backend cannot supply, and a month of integration at the end that nobody scoped.
One team, one build means the person modelling the data has also felt the interface, and the person polishing the interaction knows what a query costs. Changes stop being negotiations between departments and become an afternoon in a single codebase.
This is also why we keep teams small and senior. A four-person team that spans product, design and engineering moves faster than a twelve-person team that spans three managers — not because they type faster, but because the conversation that matters happens inside one standup instead of across three backlogs.
Handoffs are sometimes unavoidable. But every one of them should be a deliberate choice with a named cost, not the default shape of the work.