250: Yolo Snarf (Repeat)

Embedded.fm · 8 Apr 2021 · 1h 24m · Episode 250

What this episode covers

Chris Svec, a senior principal software engineer at iRobot, joins the Embedded.fm hosts to discuss the critical importance of version control in professional software development. They use a D&D-style scenario to explain how to evangelize version control to different stakeholders, including interns, managers, and electrical engineers, highlighting benefits like history tracking, rollback capabilities, and release management. The conversation covers practical aspects of using systems like Git and SVN, including branching strategies, commit messages, and the differences between centralized and distributed version control.

Mentioned

Companies
iRobot
Tools
Git, SVN, GitHub, Perforce, Mercurial, Dropbox

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 51m

    Version Control Techniques

    Jeff Gable and Luca engineer discuss version control strategies for complex embedded software, debating the merits of monorepos versus multi-repo architectures and the use of feature flags versus long-running branches for managing product variants. They emphasize the importance of continuous integration, automating build pipelines, and treating documentation and infrastructure as code to manage the inherent complexity of hardware-software coupling. The conversation also covers code review bottlenecks, advocating for pair programming and strict rules to prevent technical debt accumulation.

  • The Pragmatic Embedded Podcast · 28m

    Managing Product Variants and Versions

    Jeff Gable and Luca discuss strategies for managing product variants and versions in embedded software, contrasting trunk-based development with feature flags against the Git-Flow branching model. They highlight the risks of technical and process debt, such as dead code in safety-critical systems and integration hell from long-running branches, using examples like medical prosthetics and consultancy libraries. The hosts advocate for starting with tight integration via trunk-based development and feature flags, only increasing separation into branches or libraries if necessary, to ensure continuous integration and traceability.

  • The Pragmatic Embedded Podcast · 50m

    Git for Hardware Engineers with Valentina Ratner and Kyle Dumont

    Valentina Ratner (CEO) and Kyle Dumont (CTO) of Allspice explain how they adapted Git version control for hardware engineers, addressing the challenges of binary and graphical file formats. They discuss Allspice's platform-agnostic approach supporting Altium, KiCad, and OrCAD, and their strategy for migrating hardware teams from legacy systems like SVN to Git-based workflows. The conversation covers specific pain points such as supply chain volatility, the need for visual diffs, and the importance of traceability in design decisions.

  • 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 · 39m

    Bailey Steinfadt on teaching git to non-developers

    Bailey Steinfadt, owner of Stonepath Engineering, explains how she teaches Git and GitHub to non-software engineers at small manufacturing companies to build trust and visibility. She describes her typical clients, such as makers of in-home theaters and drainage tile, who are adding embedded systems to legacy products and often lack confidence in previous vendor relationships. Steinfadt details her training approach, which starts with GitHub Desktop to avoid command-line complexity, and emphasizes using commit history and issue trackers as communication tools to reassure stakeholders. The episode also covers complementary tools like Miro for visual project mapping and Draw.io for version-controlled diagrams, highlighting how these facilitate collaboration between technical and non-technical team members.

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.