Engineering
5 essays.
The obvious response to a slipping deadline is more people. Output falls first, because the only people who can train them are the ones already behind — and coordination grows with the square of the team.
Technical debt isn't inherently bad — taking on debt deliberately, with a plan to repay it, is often the right call. The danger is debt nobody remembers taking on.
Every complex system that works turns out to have grown from a simple one that worked. Designing the finished version from scratch doesn't just take longer — it has a startlingly poor success rate.
Most engineering time goes on code that already exists. Once you accept that, the practices that look like fussiness turn out to be straightforward economics.
Software architecture doesn't just reflect a team's intentions. It reflects, almost involuntarily, how that team is organized.