211: 4 weeks, 3 days

Embedded.fm · 17 Aug 2017 · 1h 19m · Episode 211

What this episode covers

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.

Mentioned

Companies
Element Science, Airware, St. Jude Medical, Decca Research
Products
STM32 Discovery boards, Raspberry Pi, Arduino, Test Driven Development in Embedded C, Making Embedded Systems
Tools
Jenkins, Git, SVN, BitBucket, GitHub, Make, Lint, Clang, GCC

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 36m

    Development is Better when it's Test-Driven

    Jeff Gable, an embedded software consultant, explains his practice of Test-Driven Development (TDD) to host Luca Ingianni, arguing that writing failing unit tests before application code forces good architecture and high coverage. Gable details how this discipline decouples embedded application logic from hardware-specific drivers, allowing tests to run on the host machine for rapid feedback rather than slow target flashing. He addresses the common industry resistance to TDD in embedded systems, citing the initial learning curve and the need for coaching, while recommending resources like the 'Throw the Switch' video courses and tools such as Unity, CMock, and Ceedling. The conversation concludes by framing TDD as an artistic craft of storytelling through code, emphasizing that the practice builds confidence and prevents regressions in production-quality software.

  • The Pragmatic Embedded Podcast · 39m

    Christmas Special

    Hosts Jeff Gable and Luca share war stories from their careers in embedded systems, highlighting the pain of manual testing in helicopter avionics, the chaos of managing requirements with Word and Excel in Dropbox for medical devices, and the technical debt of massive #ifdef blocks in legacy machine tool software. They discuss the industry's slow adoption of modern software practices like version control and CI/CD, contrasting embedded development with web development standards. The episode concludes with book recommendations including 'The Phoenix Project' and 'Team Topologies', and reflections on the future of IoT security and agile adoption in hardware.

  • The Pragmatic Embedded Podcast · 36m

    How to Get Started

    Jeff Gable and Luca Ingianni discuss how engineering teams can transition from traditional methods to agile development in embedded systems. They outline a three-layered approach starting with tactical technical practices like version control and continuous integration to establish reliable feedback loops. The conversation emphasizes using these quick wins to build trust and demonstrate value before expanding into project management practices like sprints and user stories, ultimately aiming to improve team culture and product quality.

  • The Amp Hour · 2h 13m

    Embedded Linux with Jay Carlson

    Jay Carlson, an embedded Linux expert and PhD student, discusses his comprehensive guide to building embedded Linux systems, detailing the process of designing and testing 10 different boards to demonstrate the steps. He explains the transition from bare-metal microcontroller development to embedded Linux, emphasizing that Linux development involves reading and configuring source code rather than writing it from scratch, and highlights the importance of using build systems like Buildroot. Carlson advises engineers to start with simple, low-cost processors like the Allwinner A33 or V3S, arguing that modern embedded Linux is accessible to hobbyists and small teams if they leverage existing mainline kernel support and dev configs.

  • The Amp Hour · 1h 19m

    Firmware for Hardware Engineers with Phillip Johnston

    Phillip Johnston of Embedded Artistry explains how hardware engineers can improve firmware quality by adopting software engineering practices like separation of concerns, information hiding, and loose coupling. He details the implementation of Continuous Integration (CI) pipelines using tools like Jenkins and GitHub Actions to automate testing, static analysis, and hardware-in-the-loop checks. Johnston also discusses the strategic shift from bare-metal development to ecosystems like Zephyr RTOS and the importance of designing for change to mitigate supply chain risks.

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