More Code with Jason episodes

291 - Joel Drapper thumbnail

291 - Joel Drapper

Published 1 Jan 2026

Duration: 5001

Abstraction in programming is explored through a discussion on simplifying tasks, its importance in teaching and software development, and strategies for achieving defect-free software.

Episode Description

In this episode I talk with Joel Drapper about defect-free developmentnot just automated testing, but the full spectrum: linting, static typing, datab...

Overview

The podcast explores the content of a physical programming newsletter called "Nonsense Monthly," which combines programming topics with non-programming subjects to promote deeper, more reflective thinking beyond digital media. It covers a range of programming concepts, including object-oriented programming, testing, DevOps, and AI, while also touching on broader areas like philosophy, economics, and history. A key topic is abstraction, discussed through an example provided by Joel Drapper, who uses the simple instruction "tidy your room" to illustrate how abstractions simplify complex tasks by focusing on higher-level concepts. The segment underlines the importance of clear explanations and understanding abstraction in both teaching and software development.

The conversation also examines defect-free software development, discussing strategies such as static typing, testing, and runtime assertions to minimize bugs. It emphasizes the role of conceptual design in software, highlighting the trade-offs between complexity and simplicity, and the long-term benefits of well-structured code and system architecture. Other topics include the value of metaprogramming, the role of minimalism in writing clean code, and the psychological advantages of maintaining high-quality, bug-free software.

Recent Episodes of Code with Jason

1 Jul 2026 323 - David Yanacek on 20 Years of Innovation at AWS

Modern software development practices emphasize TDD and spec-driven methods, address AI code generation challenges with tools like Kero, explore advanced testing techniques, service architectures, and DevOps strategies, stressing automation balance, observability, and tool refinement for reliability.

16 Jun 2026 322 - Joe Masilotti

AI transforms developer and consulting roles by commoditizing coding, pushing focus toward strategic guidance and app optimization, while challenging solo founders and consultants to adapt beyond code delivery, highlighting AI's strengths in execution over design and the growing need for human-centric, opinionated content and personal branding.

3 Jun 2026 321 - Uncle Bob Martin

Explores software modeling complexities, AI's reliance on statistical prediction versus explanatory knowledge, the balance of elegance and accuracy, abstraction's role in managing entropy and disorder, and the evolution of programming principles like test-driven development and object-oriented design.

More Code with Jason episodes