Version Control Techniques

The Pragmatic Embedded Podcast · 3 Feb 2023 · 51m

What this episode covers

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.

Mentioned

Companies
AWS, Siemens Healthineers
Tools
GitHub, Bitbucket, GitLab, Jenkins, Git flow, Envy model

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 24m

    250: Yolo Snarf (Repeat)

    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.

  • 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 Amp Hour · 1h 22m

    Prepping For Hoverboards - Gallionic GitHub Gabble

    Chris Gammell of Contextual Electronics and Dave Jones of EEVblog discuss the shift in electronics design from discrete component building to using integrated solutions like the LTC2983, and the importance of iterative, non-linear development workflows. They critique the limitations of rigid project management tools like Gantt charts, advocate for the use of version control systems like Git and GitHub for hardware collaboration, and debate the merits of PCB design software, specifically criticizing Eagle while considering KiCad. The conversation concludes with advice on the importance of professional presentation, such as spelling and grammar in resumes, when applying for engineering jobs.

  • Coredump Sessions · 55m

    #007: AI, Open Source, and the Future of Embedded Development: How Much Code Will We Actually Write?

    François Baldassari, CEO of Memfault, and Thomas Sarlandie, Field CTO of Memfault, host a panel with Jonathan Beri, CEO of Golioth, and Dan Mangum, CTO of Golioth, to discuss the intersection of AI, open source, and embedded development. The group analyzes the maturity of edge AI for audio and video processing, the challenges of integrating LLMs into hardware due to rapid model iteration, and the current state of using AI for firmware development. They conclude that while AI is transforming code generation and review, open source remains critical for training models and providing trusted, complex infrastructure like Zephyr and FreeRTOS.

  • Embedded.fm · 1h 23m

    440: Condemned to Being Perfect

    Elecia White and Chris White host a crossover episode with Jeff Gable and Luca Ingianni of the Agile Embedded podcast to debate the application of Agile principles to embedded systems. The group discusses redefining Agile as 'risk management through feedback loops' rather than rigid Scrum, and explores the challenges of scaling these practices in large enterprises versus small teams. They also tackle specific technical debates, including the role of unit testing, the definition of Minimum Viable Products (MVPs) for hardware, and the necessity of documentation in regulated industries like medical devices.

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.