On Code Review

Oxide and Friends · 2 Nov 2021 · 1h 30m · Episode 20

What this episode covers

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.

Most relevant to

early-stage companies

Topics

Mentioned

Companies
Sun, HPE
Products
DTrace, ZFS
Tools
GitHub, Gerrit, Loom
Also
Linux

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 42m

    Code Reviews

    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.

  • 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.

  • 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 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.

  • 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 summary, chapters and topics are generated from the episode’s audio by this directory, not written by Oxide and Friends. The episode itself belongs to its publisher.