Code Reviews

The Pragmatic Embedded Podcast · 26 Jul 2024 · 42m

What this episode covers

Jeff Gable and Luca discuss the purpose, process, and culture of code reviews in embedded software development. They argue that reviews are primarily for knowledge transfer, shared understanding, and mentoring rather than just bug detection, warning against 'bike shedding' on trivial syntax issues. The hosts advocate for early design reviews, small atomic commits, and empathetic communication to maintain team cohesion and prevent bottlenecks.

Most relevant to

established companies

Topics

Mentioned

Companies
Agile Embedded Academy, IBM
Products
Embedded AI Podcast
Also
Extreme Programming, Kent Beck

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 10m

    488: Two Slices of Complimentary Bread

    Adrienne Braganza Tacke, author of 'Looks Good To Me: Constructive Code Reviews,' explains why code reviews are often dreaded and how to make them effective. She advocates for creating a Team Working Agreement to make implicit expectations explicit, using comment signals to prioritize feedback, and employing the 'triple R pattern' (request, rationale, result) to write objective comments. The discussion covers the impact of tools like GitHub PRs versus email, the time required for thorough reviews, and the importance of catching design issues before coding begins.

  • Oxide and Friends · 1h 30m

    On Code Review

    Bryan Cantrill, Adam Leventhal, and Kendall Morgan discuss the nuances of code review, contrasting modern digital tools with historical in-person practices at Sun Microsystems. They share specific war stories, including a DTrace integration bug caused by removing a single interrupt line and an n^3 algorithm in SCSI target code, to illustrate the importance of context and scale. The group debates the value of empathy, tooling choices like GitHub and Gerrit, and strategies for introducing code review cultures in organizations that resist them.

    8 chapters
  • Embedded.fm · 1h 08m

    183: Robots Having Nervous Breakdowns

    Professor Philip Koopman of Carnegie Mellon University and co-founder of Edge Case Research discusses the critical importance of formal peer reviews in embedded software development. He argues that while informal reviews are insufficient, structured Fagan-style inspections find the majority of bugs for a fraction of the total project cost, effectively making high quality 'free' by preventing expensive late-stage fixes. Koopman explains that cultural resistance often stems from a misunderstanding of progress, where managers equate 'code complete' with actual completion, leading to dangerous shortcuts in safety-critical and mission-critical systems.

  • Embedded.fm · 1h 07m

    78: Happy Cows

    Chris Svec, a senior principal software engineer at iRobot, discusses his concept of 'empathy-driven development' for embedded software teams. He argues that engineers should write code with empathy for future maintainers, new hires, and their own future selves, rather than focusing solely on the 'lone hacker' archetype. Svec highlights how imposter syndrome and the 'rock star' mentality hinder collaboration, and suggests that treating code as readable fiction for multiple audiences can improve team dynamics and product quality.

  • Embedded.fm · 57m

    109: Resurrection of Extreme Programming

    James Grenning, founder of Wingman Software and author of 'TDD for Embedded C', discusses the resurgence of Extreme Programming and Test-Driven Development (TDD) for embedded engineers. He explains how TDD prevents bugs and improves predictability, contrasting it with 'debug later' practices, and details his use of CyberDojo and WebEx to deliver remote training. Grenning also critiques modern Scrum for focusing on management cycles while neglecting technical excellence, advocating for the original engineering-focused practices of Extreme Programming.

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.