The code stopped running. You checked the logs. The error was clear: missing column.
Adding a new column should never be a bottleneck. Yet in most systems, schema changes trigger downtime, migrations, or slow rollouts. Fast teams know that schema evolution is a feature, not a risk. They plan for it from the start.
A new column can mean an extra feature flag, a new metric, or a richer user profile. At the database level, it’s both simple and dangerous. In relational databases like PostgreSQL or MySQL, ALTER TABLE ADD COLUMN is the basic command. But at scale, the storage engine, indexing strategy, and default values all change the cost.
Best practice: add the column as nullable first, run backfill jobs in small batches, then set constraints or defaults when the data matches your rules. This avoids locking the table for long periods. For frequently accessed tables, test schema changes against replicas before hitting production.