John Taylor on the Embedded Systems Cookbook

The Pragmatic Embedded Podcast · 5 Mar 2025 · 44m

What this episode covers

John Taylor, co-author of 'The Embedded Project Cookbook' with Wayne Taylor, discusses his 30+ years of embedded systems experience and the practical 'recipes' in his new book. He contrasts this hands-on project management guide with his previous work, 'Patterns in the Machine', emphasizing the need to establish a critical mass of requirements and software architecture before coding begins. Taylor argues for opinionated, early-stage infrastructure setup—including CI/CD, branching strategies, and Software Development Plans—to make releases predictable and avoid the chaos of late-stage scrambling.

Mentioned

Companies
APress, Amazon, GitHub
Products
The Embedded Project Cookbook, Patterns in the Machine, FreeRTOS
Tools
Teams, ICQ
Also
Wayne Taylor

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 19m

    211: 4 weeks, 3 days

    Dennis Jackson, Director of Firmware at Element Science, discusses how software engineers can transition into embedded systems by building personal projects using low-cost hardware like STM32 Discovery boards. He advises new hires to read James Grenning’s Test Driven Development in Embedded C and Elecia White’s Making Embedded Systems, emphasizing that understanding build systems like Make and continuous integration is as critical as writing drivers. Jackson argues that the distinction between firmware and software is fading, urging engineers to apply general software best practices like unit testing and static analysis to embedded constraints. He shares his interview philosophy, which prioritizes problem-solving and code quality over syntax, and highlights the importance of establishing a reproducible build environment to ensure reliable production releases.

  • Embedded.fm · 1h 19m

    211: 4 weeks, 3 days (Repeat)

    Dennis Jackson, Director of Firmware at Element Science, discusses the career path from software to embedded systems, emphasizing that practical projects and understanding core software principles are more valuable than specific hardware knowledge for entry-level roles. He advises aspiring engineers to start with cheap development boards like STM32 Discovery boards to write simple drivers, rather than relying on high-level abstractions like Arduino. Jackson also stresses the importance of adopting professional software engineering practices, such as command-line builds with Make, continuous integration, and unit testing, to ensure code quality and reliability in production environments.

  • Embedded.fm · 1h 03m

    53: Being a Grownup Engineer

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and long-time embedded industry expert, argues that firmware engineers must adopt disciplined engineering practices rather than relying on 'heroic' hacking. He discusses the necessity of requirements gathering, design reviews, code inspections, and rigorous testing to ensure safety and reliability, citing the Toyota unintended acceleration case as a failure of process. Ganssle advocates for measuring metrics like bug rates and lines of code to benchmark performance, and critiques the misuse of Linux in deeply embedded systems and the confusion between the maker movement and professional engineering.

  • Embedded.fm · 1h 05m

    53: Being a Grownup Engineer (Repeat)

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and 'The Embedded Systems Dictionary', argues that embedded software development has failed to adopt true engineering discipline, relying on 'heroics' rather than process. He cites the Toyota unintended acceleration case, where Michael Barr identified 11,000 global variables, as evidence of the catastrophic costs of poor software practices. Ganssle advocates for rigorous requirements gathering, static analysis tools like LDRA and Spark, and metrics-driven benchmarking to reduce debugging time and improve code quality. He contrasts this disciplined approach with the 'hacker' and 'maker' cultures, emphasizing that safety-critical systems require proven processes rather than ad-hoc coding.

  • Embedded.fm · 53m

    16: Democracy Is the Worst Form of Government

    Curtis Cole, a veteran embedded systems engineer and former VP of Engineering at Leapfrog, argues that Agile methodologies like Scrum and Test-Driven Development (TDD) are effective for embedded software when adapted to hardware constraints. He explains how user stories, sprints, and story points allow teams to manage unknown requirements and deliver incremental, usable prototypes without compromising the final product's stability. Cole emphasizes that Agile is merely a process tool; success depends on hiring skilled engineers who prioritize quality, testing, and modular design over mere speed.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by The Pragmatic Embedded Podcast. The episode itself belongs to its publisher.