A response to an email about learning software design, written by the creator of rust-analyzer. Key insights include: software architecture is best learned by doing rather than formal study; Conway's Law means organizational incentives shape software quality more than technical knowledge; and adapting to incentive structures (rather than fighting them) is often necessary. The post uses rust-analyzer as a case study — deliberately lowering the bar for feature contributions while maintaining strict quality on the core spine, using catch_unwind to isolate crashes. Concrete resource recommendations include Gary Bernhardt's Boundaries talk, writings by Pieter Hintjens on Conway's Law, and Software Engineering at Google.
1 Comment
Sort: