Hasty Briefsbeta

Bilingual

Learning Software Architecture

14 hours ago
  • Software design is best learned through hands-on experience, not just formal courses.
  • Conway's Law explains that software architecture mirrors the social structure of the producing organization.
  • Incentive structures (e.g., PhD deadlines) heavily influence the quality and nature of scientific software.
  • One can attempt to change incentive structures (rare but impactful) or adapt to them.
  • The rust-analyzer project shows design decisions to attract both deep contributors and weekend warriors, e.g., by isolating features and using catch_unwind for safety.
  • Recommended resources: Boundaries talk by Gary Bernhardt, How to Test, ØMQ guide, Jamii's blog, Ted Kaminski blog, Software Engineering at Google, and The Philosophy of Software Design.