No Architecture Is Better Than Bad Architecture
- Kirill Rogovoy tl;dr: "Turns out, architecting code-introducing granular concepts, abstractions, relationships, and giving all those things names, scopes, and responsibilities has a cost. On top of that, undoing such structures is 10 times more costly than building them."featured in #369
Fast Builds, Secure Builds. Choose Two
- Sushain Cherivirala tl;dr: "As our codebase grows in volume and variety, Stripe leverages Bazel to manage our build and test pipelines. Bazel provides a multi-language and multi-platform framework to define rules—recipes for how to build and test code in a specific stack."featured in #365
Building A Resilient System: Our Journey To Observability At Intercom
- Kesha Mykhailov tl;dr: "We define observability as a continuous process of humans asking questions about production, and getting answers." Breaking that down: (1) Continuous process: Observability means folks observe as frequently as possible. (2) Questions about production: We wanted our definition to be wide, generic, and representative of the broad scope of workflows we cater for. (3) Answers: No tool will give you answers, only offer leads to find real answers. You have to use your own mental models of the systems you run.featured in #362
Demystifying Software Architecture Patterns
- Rahul Garg tl;dr: "The 3 most talked about patterns are Clean, Hexagonal, and Onion Architecture... all define a loosely coupled testable system that avoids any direct dependencies in terms of implementation, yet do so using their own terminology and each with specific nuances. They all suggest approaches to make software architectures more manageable and testable." Rahul looks at each as well as key architectural takeaways applicable regardless of approach.featured in #358
What It Took To Scale Spotify’s Marketing Efforts
- James La Broy tl;dr: "More recently, we wanted to run more campaigns throughout the year, perhaps during different holidays like Halloween or Easter. Rather than having one centralised team configuring campaigns across multiple markets, we wanted to create distributed teams local to each individual market responsible for tailoring campaigns to their respective audiences." James discusses the changes that enabled this to happen.featured in #354
Event Driven Architecture - 5 Pitfalls to Avoid
- Natan Silnitsky tl;dr: (1) Write to db and then fire event without atomicity. (2) Using event sourcing everywhere. (3) No context propagation. (4) Publishing events with large payloads. (5) Not handling duplicate events.featured in #347
Under The Hood: How We Built API Versioning For LinkedIn Marketing APIs
- Nihit Purwar tl;dr: "We were releasing breaking changes almost monthly with different sunset dates – making it hard for developers to test and plan their roadmap without a predictable release schedule. Unversioned APIs also blocked customers from accessing the latest features and caused internal challenges with new feature development." Nihit's discusses how his team set out to build API versioning for LinkedIn Marketing APIs.featured in #346
featured in #342
featured in #339
featured in #335