Weekend Reading #89
Weekend Reading: A weekly roundup of interesting Software Architecture and Programming articles from tech companies. Find fresh ideas and insights every weekend.
This week: a practical guide to 10 ADR anti-patterns with concrete examples showing how to write architecture decisions that actually help your team. Uber shares two infrastructure deep dives — making OpenSearch zone-failure resilient with isolation groups and forced shard allocation awareness, and GitFarm, a Git-as-a-Service platform that delivers full monorepo checkouts in under 500ms. And Dropbox traces the decade-long evolution of Riviera from file preview service to a universal content processing platform now powering AI ingestion at 2.5 billion requests per day.
10 ADR Anti-Patterns and ADR Best Practices for Developers, Tech Leads and Architects
👉 For software architects, tech leads, and developers who write (or should be writing) Architecture Decision Records

A practical guide to 10 common ADR anti-patterns — from not writing ADRs at all to combining multiple decisions into one to hiding tradeoffs to letting AI make the call for you. Each anti-pattern comes with concrete examples showing what bad vs. good ADRs look like, plus a full ADR template and a worked example.
Zone-Failure-Resilient OpenSearch® at Uber
👉 For SREs, platform engineers, and anyone running OpenSearch or Elasticsearch clusters that need to survive full availability zone failures

Uber details how they made OpenSearch zone-failure resilient by combining isolation groups (a balanced abstraction layer over physical zones) with forced shard allocation awareness. The key insight: when a zone goes down, you don't want OpenSearch to aggressively rebalance shards onto surviving nodes — that causes cascading failures. Instead, they let unassigned shards stay unassigned until the zone recovers.
GitFarm: Git® as a Service for Large-Scale Monorepos
👉 For developer platform engineers, DevOps teams, and anyone struggling with Git at monorepo scale

Uber built GitFarm — a platform that provides Git operations as a gRPC API service, eliminating the need for local clones entirely. It uses pre-warmed repository pools and ephemeral sandboxes to give services a full Git checkout in under 500ms. One service dropped from 70+ CPU cores and 600GB memory to 16 cores and 32GB after switching to GitFarm, with startup time going from 15-20 minutes to under 1 minute.
How Our Universal Content Processing Platform Riviera Evolved for AI and Beyond
👉 For platform engineers, infrastructure teams, and anyone building reusable content transformation pipelines — especially for AI ingestion

Dropbox shares the decade-long evolution of Riviera — their content processing platform that started as a file preview service and grew into shared infrastructure powering Search, Sign, Replay, and Dash. The plugin architecture processes 2.5 billion requests daily across 300+ file types, and when AI products like Dash needed document preparation for LLM ingestion, Riviera was already there. The capabilities are now available externally via API and MCP tools.