Forsidebilde av showet NO SILVER BULLET

NO SILVER BULLET

Podkast av Three Dots Labs

engelsk

Teknologi og vitenskap

Tidsbegrenset tilbud

2 Måneder for 19 kr

Deretter 99 kr / MånedAvslutt når som helst.

  • 20 timer lydbøker i måneden
  • Eksklusive podkaster
  • Gratis podkaster
Kom i gang

Les mer NO SILVER BULLET

Based on nearly 20 years of working together on various projects, we discuss when it makes sense to move fast rather than aim for perfect code, and how to avoid technical debt that can kill your project. We focus on making mindful engineering decisions instead of blindly following rules like “always do X” or “never do Y”. Different situations need different approaches to code quality.

Alle episoder

15 Episoder

episode How to Know If your Software Is Overcomplicated or Oversimplified? cover

How to Know If your Software Is Overcomplicated or Oversimplified?

Episode notes: https://threedots.tech/episode/overcomplicated-vs-oversimplified-code/ [https://threedots.tech/episode/overcomplicated-vs-oversimplified-code/] Quick takeaways * Complexity comes from two extremes - projects fail both when they’re overcomplicated with unnecessary patterns and when they’re oversimplified for a complex domain * Essential vs accidental complexity - essential complexity comes from the domain itself and can’t be removed, accidental complexity is created by poor implementation choices * “Keep it simple” is lazy advice - achieving simplicity takes effort; closing your eyes to complexity just pushes it elsewhere * Match patterns to the problem - using the same approach everywhere is a red flag; mix simple solutions for simple parts and sophisticated patterns for complex domains * Ship fast and iterate - if you can’t deploy daily and fear making changes, something is wrong regardless of whether it’s over or under-engineered We discuss where complexity in software projects comes from and how to deal with it. There are two common extremes: projects that are overcomplicated because someone applied patterns they saw at a conference without understanding them deeply, and projects that started simple but became a tangled mess as they grew. Both can be equally difficult to work with. The key insight is understanding the difference between essential complexity (inherent to your domain) and accidental complexity (created by your implementation choices). We share diagnostic signals to identify unhealthy projects and practical advice on matching your tools to the actual problem you’re solving. * No Silver Bullet [https://worrydream.com/refs/Brooks_1986_-_No_Silver_Bullet.pdf] paper by Fred Brooks - discusses essential vs accidental complexity * Domain-Driven Design (DDD) [http://localhost:1313/tags/ddd/] - a pattern for tackling complex domains * Clean Architecture [http://localhost:1313/tags/clean-architecture/] - another approach for managing complexity * YAGNI (You Aren’t Gonna Need It) - principle against premature generalization * Defensive programming - validating inputs early to prevent errors propagating * Canary releases and rollbacks - deployment strategies that can add overhead * Three Dots Labs blog [https://threedots.tech/] - articles on Go patterns and architecture * Go with the Domain ebook [https://threedots.tech/go-with-the-domain/] - free ebook about DDD in Go with 60,000+ downloads * Wild Workouts [https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example] example DDD project - complex Go project demonstrating real-world patterns * Microservices architecture - discussed as sometimes adding unnecessary complexity * CRUD applications - simple approach that works for some domains but not others * The Domain Engineer [https://threedots.tech/the-domain-engineer/] training - upcoming training mentioned for early next year

19. des. 2025 - 40 min
episode DDD: A Toolbox, Not a Religion cover

DDD: A Toolbox, Not a Religion

Full episode notes: ⁠https://threedots.tech/episode/ddd-toolbox-not-religion/ [https://threedots.tech/episode/ddd-toolbox-not-religion/] Quick takeaways * Domain complexity matters more than technical complexity - Most projects fail not because of technical challenges, but because they don’t handle the business domain well. * DDD is a toolbox, not a religion - You don’t need to use every pattern from Domain-Driven Design. Pick what solves your actual problems. * Start with the domain model - Understanding how the business works is more important than designing the perfect schema. * Avoid solving imaginary problems - Spending months on frameworks or platforms before building actual features often leads to wasted effort. * Strategic patterns are essential for everyone - Even if you don’t use tactical DDD patterns, thinking about core domains and module boundaries matters in every project. In this episode, we discuss why software projects become legacy code that nobody wants to touch. We talk about how Domain-Driven Design can help, but also why it’s often misunderstood or overused. Instead of treating DDD as an all-or-nothing approach, we suggest to use the ideas pragmatically - picking the patterns that solve real problems in your project. We share stories to show how focusing on domain complexity rather than technical complexity leads to better software.

10. des. 2025 - 54 min
Enkelt å finne frem nye favoritter og lett å navigere seg gjennom innholdet i appen
Enkelt å finne frem nye favoritter og lett å navigere seg gjennom innholdet i appen
Liker at det er både Podcaster (godt utvalg) og lydbøker i samme app, pluss at man kan holde Podcaster og lydbøker atskilt i biblioteket.
Bra app. Oversiktlig og ryddig. MYE bra innhold⭐️⭐️⭐️

Velg abonnementet ditt

Mest populær

Tidsbegrenset tilbud

Premium

20 timer lydbøker

  • Eksklusive podkaster

  • Ingen annonser i Podimo shows

  • Avslutt når som helst

2 Måneder for 19 kr
Deretter 99 kr / Måned

Kom i gang

Premium Plus

100 timer lydbøker

  • Eksklusive podkaster

  • Ingen annonser i Podimo shows

  • Avslutt når som helst

Prøv gratis i 14 dager
Deretter 169 kr / måned

Prøv gratis

Bare på Podimo

Populære lydbøker

Kom i gang

2 Måneder for 19 kr. Deretter 99 kr / Måned. Avslutt når som helst.