Designing Distributed Software With Shared Context

Thomas Johnson and Julian Wood discuss documentation, tracing and team collaboration.

TJThomas JohnsonInvité
Chaîne
GOTO Conferences
Publié
6 juin 2025
Vidéo
44:40
Lecture
2 min
Original
anglais
Ouvrir sur YouTube
En faisant défiler, la vidéo se réduit en bas à droite et continue. Les sous-titres suivent votre langue de lecture.
Langue de lectureDisponible en 2 langues
Cet article n’est pas encore disponible en français ; il s’affiche dans l’original en anglais.
RÉSUMÉ

En 30 secondes

Multiplayer co-founder Thomas Johnson and AWS advocate Julian Wood discuss how teams understand distributed systems, automate documentation, trace problems and review design early. Their product discussion reflects their professional roles.

  1. 1ComplexityServices and dependencies make system knowledge harder to maintain.
  2. 2DocumentationAutomation can help, but generated documentation needs verification.
  3. 3System viewsShared visual views support onboarding and discussion.
  4. 4TracingCorrelated traces can aid cross-service debugging.
  5. 5Early reviewDesign review can happen before the pull request.
  6. 6ReuseUse suitable existing components while considering tradeoffs.
  7. 7Observe usageCustomer usage can reveal unexpected paths.

À retenir

  1. Services and dependencies make system knowledge harder to maintain.
  2. Automation can help, but generated documentation needs verification.
  3. Shared visual views support onboarding and discussion.
  4. Correlated traces can aid cross-service debugging.
  5. Design review can happen before the pull request.
  6. Use suitable existing components while considering tradeoffs.
  7. Customer usage can reveal unexpected paths.
TEXTE INTÉGRAL

Lire le texte remanié, chapitre par chapitre

Transcription seule
01

Understanding distributed systems

Dependencies, documentation and views.

In this GOTO Unscripted interview, AWS developer advocate Julian Wood speaks with Multiplayer co-founder Thomas Johnson about developing and understanding distributed software. Both discuss products and practices connected to their work, and their future predictions are opinions.

Johnson describes how a growing system accumulates services, dependencies and undocumented decisions. The more complex the system, the harder it becomes for a new engineer to understand what exists and why.

The pair discuss documentation generated from code and runtime information. Automation may help keep an architectural view current, but the source data and assumptions still need to be checked.

Johnson argues that visual views of services and dependencies can help teams communicate and onboard. He describes Multiplayer’s approach to building a shared representation from distributed-system data.

02

Tracing and design review

Debugging and early collaboration.

They discuss OpenTelemetry and debugging across service boundaries. Johnson describes correlating traces across a debugging session; sharing operational data between organizations requires appropriate access controls and agreement.

Johnson recommends discussing changes before coding is finished: a design review can involve operations, testing, frontend and backend teams before a pull request becomes the first opportunity for feedback.

03

Building and evolving

Reuse, usage and shared context.

For new systems, they recommend using suitable existing libraries and managed services instead of rebuilding everything, while keeping the design simple enough to evolve. The right boundary depends on cost, control and operational needs.

Wood notes that real usage can differ from architectural expectations. The pair advocate involving customers and partners, observing usage patterns and avoiding premature optimization of the wrong path.

A shared, higher-level workspace can help teams discuss intent and dependencies, but Johnson distinguishes a diagram from the design process itself. The aim is fewer surprises when implementation reaches review.

04

The future of tools

Infrastructure abstraction as a prediction.

Looking ahead, the speakers expect infrastructure to become more abstract and tools to lower the effort of building software. They acknowledge that substantial work remains; this is a forecast, not an established outcome.

Sur la même chaîne

3 diapositives39:12EN
GOTO Conferences· 28 oct. 2026Cate Huston: How Rigour Supports AI-Assisted Development VelocityCate Huston · TwillA two-person team’s experience with release gates, automated checks, prioritization and the cost of shipping faster.Leadership en ingénierie IASoftware engineeringAI agents
4 diapositives22:33EN
GOTO Conferences· 26 oct. 2026William Schor: From Unit Tests to Synthetic Canaries at NetflixWilliam Schor · NetflixHow generated workloads and production-like infrastructure help test a distributed key-value service.Software engineering
5 diapositives34:11EN
GOTO Conferences· 23 oct. 2026Anatoliy Bilenko and Alberto Carretero: Making Database Protocols Reliable with Formal Methods and AIAnatoliy Bilenko, Alberto Carretero · CanonicalCanonical’s database engineers connect executable specifications, model-based tests, failure exploration, and reconstructed execution histories—and explain why none of these techniques proves a real system correct on its own.Workflows de développement et testsCode review & verificationObservabilité et fiabilité+2
28:15EN
GOTO Conferences· 22 oct. 2026Steve Poole on Open-Source Security and AI’s Maintenance ChallengeOlimpiu Pop, Steve PooleWhy faster vulnerability discovery increases pressure on maintainers, dependency users and upgrade processes.Software engineeringAI security
5 diapositives46:36EN
GOTO Conferences· 21 oct. 2026Don Syme: Building Agentic Automation Around Human CollaborationDon Syme · GitHubContinuous AI, repository workflows and the guardrails needed for unattended software maintenance.Agent orchestrationSoftware engineeringAgents de code
28:23EN
GOTO Conferences· 19 oct. 2026Learning Ash: Declarative Elixir Apps, Testing and ExtensibilityChristian Alexander, Rebecca Le, Zach DanielRebecca Le and Zach Daniel explain how their book and the framework evolved together.Software engineering