NO SILVER BULLET

Three Dots Labs
undefined
Dec 19, 2025 • 41min

How to Know If your Software Is Overcomplicated or Oversimplified?

Explore the fine line between overcomplication and oversimplification in software. Discover how unnecessary patterns from conferences can create accidental complexity. Learn the difference between essential and accidental complexity, and why simplistic advice can often be misleading. Hear insights on matching patterns to domain needs and the importance of incremental changes. The discussion also highlights red flags for unhealthy projects, emphasizing the need for a balanced approach to software architecture.
undefined
Dec 10, 2025 • 55min

DDD: A Toolbox, Not a Religion

Explore why most software projects fail due to mismanagement of business domains rather than technical issues. Learn how Domain-Driven Design (DDD) should be treated as a flexible toolbox rather than a strict doctrine. Discover the importance of understanding your domain model deeply and collaborating with domain experts. Hear cautionary tales of over-engineering and how focusing on the right problems can lead to successful outcomes. The discussion emphasizes the value of strategic patterns in projects, even if tactical ones are optional.
undefined
20 snips
Nov 26, 2025 • 1h 6min

Becoming a Product Engineer: First Steps

Discover why software projects often lag in corporate settings compared to side hustles. Hear how developers are sometimes trapped in roles where they lack understanding of the bigger picture. Learn about the frustrating effects of incomplete specs and the 'golden cage' mentality hindering collaboration. Dive into practical techniques like Event Storming to enhance teamwork and communication. Plus, find out why engaging with product decisions can boost your career and how to break away from the 'coding monkey' mindset.
undefined
Nov 25, 2025 • 45sec

Season 2 Trailer

After the summer break, we're back with a new season of No Silver Bullet. New episodes every second Wednesday.
undefined
Jul 3, 2025 • 1h 22min

AMA #1: Go and AI, Clean Architecture, Learning, Event-Driven

Discover how Go is revolutionizing AI development with its concurrency advantages. Learn about Clean Architecture and the philosophy of adding complexity only when necessary. Explore the ease of career transitions within tech and the importance of internal relationships. Dive into Go's duck typing for defining interfaces that enhance code quality. Understand best practices for managing timeouts in distributed systems. Plus, get insights on the evolving landscape of programming languages and the role of high-level knowledge in career advancement.
undefined
Jun 26, 2025 • 1h 28min

How to Create PRs That Get Merged The Same Day

Discover how to transform your pull request process for quick merges! Learn why smaller PRs are essential to avoid review bottlenecks. Unearth the hidden benefits of knowledge sharing during code reviews. Explore practical strategies for breaking down features into manageable pieces for efficient team collaboration. Plus, find out the significance of self-reviewing and fostering a culture that values timely feedback. Say goodbye to lengthy waits and hello to smoother code integration!
undefined
9 snips
Jun 5, 2025 • 1h 25min

Event Driven Architecture: The Hard Parts

Event-driven architecture (EDA) offers scalability, but it’s fraught with challenges. The importance of observability can't be overstated, as debugging without proper tracing is a nightmare. Beware of over-engineering; sometimes a simple synchronous system may suffice. The outbox pattern emerges as a pragmatic solution for data consistency. Designing events carefully is crucial, balancing between specificity and complexity, while robust error handling ensures reliability. The discussion dives deep into managing complexities like message ordering and unprocessable messages.
undefined
May 29, 2025 • 1h 27min

Synchronous vs Asynchronous Architecture

Dive into the fascinating debate between synchronous and asynchronous architecture! Discover why synchronous methods are easier for beginners, while asynchronous options boost scalability and resilience. Learn about the power of message brokers for decoupling systems and enhancing error handling. Explore the complexities of observability in asynchronous environments and the importance of effective design. Plus, get insights on mastering CQRS, simplifying messaging for beginners, and balancing architectural choices to optimize your systems!
undefined
May 15, 2025 • 1h 4min

Watermill: from a hobby project to 8k stars on GitHub

Discover how a side project turned into an open-source success as Watermill gathers 8,000 GitHub stars. Learn why solving real problems is key to project growth and how minimal breaking changes build trust with users. The importance of community engagement and effective promotional strategies, like conferences and blog posts, is emphasized. Also, explore the vital role of real-world examples in documentation and how patience is essential for achieving recognition in the open-source space.
undefined
4 snips
May 1, 2025 • 1h 34min

Unpopular opinions about Go

In this discussion, simplicity in Go is scrutinized, revealing that complex applications demand thoughtful design patterns. The hosts argue that reading the standard library can mislead beginners, and prefer using router libraries for better functionality. They debate the merits of struct-based configuration over the optional pattern, advocating for clear documentation. The conversation also challenges the excessive use of channels and goroutines, emphasizing that concurrency should be applied judiciously. Finally, they explore the practicalities surrounding generics and error handling, highlighting key misconceptions.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app