Software Architecture for Tomorrow: Expert Talk • Sam Newman & Julian Wood • GOTO 2024

Learn key architectural wisdom from industry experts Sam Newman and Julian Wood, covering microservices, ADRs, resilient systems, and team organization patterns for modern software.

Key takeaways
  • Information hiding is a crucial concept for microservices - only expose what consumers actually need, allowing internals to change without affecting interfaces

  • Architectural Decision Records (ADRs) are valuable primarily as forcing functions for team discussions (75%) and secondarily as documentation (25%) - they should document trade-offs and enable future changes

  • Organizations often adopt microservices for organizational reasons (team autonomy, reducing coordination overhead) rather than technical scale needs

  • Asynchronous communication lacks clear definition - better to be specific about needs like non-blocking clients or event-driven architecture rather than using ambiguous terminology

  • Network challenges remain fundamental to distributed systems - developers need to understand timeouts, retries, idempotency and failure modes even with modern abstractions

  • Single page apps were problematic for component-based UI architecture - micro-frontends offer a better path for breaking down complex UIs

  • Critical thinking and understanding trade-offs is more important than specific technical implementations - focus on solving business problems rather than jumping to solutions

  • Resilience engineering concepts from other fields (biological systems, air travel) offer valuable insights for building robust distributed systems

  • Independent deployability requires getting very good at backwards compatibility - this is often underestimated

  • Information hiding boundaries should be stable, with frequently changing code hidden behind them - this enables parallel work and reduces coupling