Sign up to save your podcastsEmail addressPasswordRegisterOrContinue with GoogleAlready have an account? Log in here.
FAQs about SD Podcast:How many episodes does SD Podcast have?The podcast currently has 20 episodes available.
January 30, 2026EP 20 : Foundations of Software Testing: Mastering ISTQB CertificationThis series provides a comprehensive guide based on the ISTQB Foundation Syllabus v4.0 (2023), specifically designed to help candidates prepare for the Certified Tester Foundation Level (CTFL) qualification. Authored by experts Erik van Veenendaal, Rex Black, and Dorothy Graham, the content explores software testing fundamentals, the Software Development Life Cycle (SDLC), and modern methodologies such as Agile and DevOps. Listeners will learn to apply seven core testing principles, perform static testing through reviews, and utilise various test design techniques, including black-box, white-box, and experience-based approaches. Additionally, the series covers test management strategies like risk-based testing, test planning, and the evaluation of test automation tools. Ultimately, the goal of this resource is to promote testing as an essential software engineering discipline while helping professionals deliver high-quality products...more18minPlay
January 29, 2026EP 19 : Inside the Architecture: Mastering the System Design InterviewThis episode examines the "intimidating" and "vague" world of system design interviews, where processes are often open-ended and lack a single correct answer. Drawing on the expertise of Alex Xu, an experienced software engineer who has worked at Apple and Twitter, the discussion explores how to transform broad technical problems into scalable architectures...more20minPlay
January 28, 2026EP18 : Decoding Complexity: The Strategic Architect’s GuideIn this episode, we explore the core tenets of John Ousterhout’s seminal work, A Philosophy of Software Design. Software engineering is one of the purest creative activities in history, yet its greatest limitation is our ability to understand the systems we create. As programs evolve, complexity accumulates, making it harder and more expensive to maintain them.We break down how to fight this "incremental enemy" by shifting your mindset and refining your technical approach.What you will learn in this overview:• The Strategic Mindset: Why "working code isn't enough" and how to transition from tactical programming (quick fixes) to strategic programming (investing in long-term design).• Deep vs. Shallow Modules: The secret to powerful abstractions. We discuss how the best modules provide significant functionality through simple interfaces, using the Unix I/O and garbage collection as prime examples.• Information Hiding: How to encapsulate design decisions within a module to reduce cognitive load and prevent information leakage across your system.• Defining Errors Out of Existence: A philosophical shift in exception handling. Learn how to design APIs so that special cases are handled naturally by the normal flow, reducing clunky try-catch boilerplate.• Documentation as a Design Tool: Why you should write comments first. We explain how describing an abstraction before coding it acts as a "canary in the coal mine" for complexity.• Precise Naming: Why a single poorly chosen variable name can cause six months of debugging, and how to create a clear mental image for the reader.About the Source: This overview is based on the book A Philosophy of Software Design (2018) by John Ousterhout, a Professor of Computer Science at Stanford University and the creator of the Tcl scripting language...more17minPlay
January 05, 2026EP 17 : Designing Data-Intensive Applications: Building Reliable, Scalable, and Maintainable SystemsIn this episode, we dive into the fundamental principles for building software systems that are reliable, scalable, and maintainable. We move past industry buzzwords to gain a technically precise understanding of the various technologies and trade-offs involved in modern data processing.We explore the transition from compute-intensive to data-intensive applications, where the primary challenges are the quantity, complexity, and speed of change of data. The discussion covers the evolution of data models, comparing the traditional relational model with the more recent document and graph models, and how these choices affect the way we think about the problems we solve.Listeners will gain insights into the internals of storage engines, including the differences between log-structured merge-trees (LSM-trees) and B-trees, as well as the distinction between transactional (OLTP) and analytic (OLAP) workloads. We also address the intricate challenges of distributed data, such as the trade-offs in synchronous versus asynchronous replication, the necessity of partitioning (sharding) for scalability, and the foundational role of consensus in achieving fault tolerance.Finally, we examine how to integrate these systems using batch and stream processing to create derived data, such as search indexes and caches, ensuring your application architecture remains robust as it grows. Understanding these complex systems is like building with a garden hose: while you can screw different segments together to massage data in new ways, you must ensure the underlying plumbing is strong enough to handle the pressure without springing a leak....more9minPlay
December 08, 2025EP 16: Enterprise System Architecture Patterns and TradeoffsThis podcast delves into the fundamental design considerations for Enterprise Applications, which typically involve the display, manipulation, and storage of large amounts of often complex data and the support or automation of business processes. These systems are often characterised by complex data and voluminous records, alongside business rules (or "illogic") resulting from various special cases,. We explore architectural patterns that capture proven design ideas for tackling the inherent complexity of building and maintaining these systems...more16minPlay
December 08, 2025EP 15: Software Architecture: The Hard Parts – Governing Architectural Integrity with ADRs and Fitness FunctionsThis podcast focuses on two indispensable practices for effectively documenting and governing critical architectural decisions: Architectural Decision Records (ADRs) and Architecture Fitness Functions....more16minPlay
January 16, 2025Neural Networks : Google TitansJoin us as we explore the latest advancements, including Google's innovative Titans architecture, designed to handle vast amounts of data and long-range dependencies...more43minPlay
November 24, 2024EP 13 : Containerised .NET Microservices: A Deep DiveThis podcast explores the world of building robust and scalable applications using microservices architecture with .NET and Docker containers. Join us as we:●Unpack the fundamentals of Docker containers and their advantages over traditional virtual machines.123●Compare and contrast .NET 7 and the .NET Framework, guiding you on the ideal choice for your containerised applications.45●Break down the principles of microservices architecture, focusing on defining service boundaries, managing distributed data, and understanding inter-service communication patterns (synchronous vs. asynchronous, REST, event-driven).2678...●Dive into the practical aspects of developing microservices with .NET, including:○Creating simple CRUD microservices using ASP.NET Core.12○Implementing API gateways with Ocelot for secure and manageable access to your services.1314○Tackling complex business logic with Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) patterns.6151617○Leveraging tools like Swagger for API documentation and testing.18○Using message brokers like RabbitMQ for asynchronous communication and event-driven architecture.1920●Discuss strategies for ensuring application resilience, including health checks, logging, and handling partial failures.2122●Address security concerns by implementing authentication and authorization mechanisms in your microservices.2324Whether you're a seasoned developer or just starting your journey with microservices, this podcast provides valuable insights and practical guidance to help you build, deploy, and manage successful containerised .NET applications....more18minPlay
November 15, 2024EP 12 : Scaling Software: Lessons from Google●This podcast explores the unique challenges and solutions involved in building and maintaining software at Google's scale.●Drawing on insights from the book Software Engineering at Google, each episode will cover key aspects of Google's engineering culture, processes, and tools.●Learn how Google engineers tackle issues like time, scale, trade-offs, knowledge sharing, testing, and documentation.●Discover the importance of building sustainable code, fostering strong teams, and embracing diversity and inclusivity in engineering practices.●Whether you're a seasoned software engineer or just starting out, this podcast offers valuable insights into building better software and creating a positive engineering culture...more17minPlay
October 16, 2024EP 11 : From Data Models to Distributed Consensus: A Journey Through Modern Data SystemsThis podcast takes you on a journey through the fascinating world of modern data systems, exploring the key concepts and techniques used to build reliable, scalable, and maintainable applications.- We will start with the fundamentals, such as data models and query languages, and then move on to more advanced topics, such as replication, partitioning, transaction processing, and distributed consensus.- Along the way, we will examine real-world examples and discuss the trade-offs involved in different design decisions...more28minPlay
FAQs about SD Podcast:How many episodes does SD Podcast have?The podcast currently has 20 episodes available.