Building software from scratch means starting from zero, without reusing existing code, rather than evolving an application already in place.
The phrase comes up in two situations. First: a startup writing its first product, which means making every founding choice (language, architecture, hosting). Second: a complete rebuild of an existing system that has become too costly to maintain.
Starting from zero gives freedom and avoids accumulated technical debt. But it is a risky bet on a product already in production: you have to reproduce years of often poorly documented business rules, and keep the old system running in parallel. Many teams prefer a gradual migration, replacing the system piece by piece.
From scratch does not mean without tools: you still rely on frameworks, libraries and cloud services.
Why it matters when hiring
Building from scratch is a strong pitch for attracting senior profiles, but you need candidates who have actually done it. The right signal: having laid the foundations of a product and maintained it afterwards, long enough to live with their own choices. The trap: a developer brilliant on greenfield work who has never been through the maintenance phase. For a rebuild, look instead for someone who has already migrated a system in production.
