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.

6m read timeFrom matklad.github.io
Post cover image
1 Comment

Sort: