Terrible Habits of the Solo Developer

The Pragmatic Embedded Podcast · 16 Dec 2025 · 53m

What this episode covers

Jeff Gable and Luca Jani, both solo embedded software consultants, discuss the unique challenges of working alone, such as multitasking pressure and wearing multiple hats. They identify five bad habits: skipping documentation, avoiding code reviews, making poor architectural decisions, neglecting simulators, and failing to make code easy for others to take over. The hosts propose solutions including hiring third-party reviewers, using LLMs for low-level checks, forming mastermind groups, and enforcing self-imposed processes to maintain quality and sanity.

Mentioned

Also
Jeff Gable, Luca Jani, FDA, EUMDR, QP framework, Mirosamic, Zephyr, Embedded Summit, Adelenbedded Academy

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 01m

    489: Constructive Cat

    Elecia White and Christopher White discuss strategies for solo developers to conduct effective code reviews, such as using Git branches, PR templates, and automated static analysis to gain distance from their own code. They then provide a detailed technical explanation of GDB (GNU Debugger), covering the compilation process, debug symbols, and the architecture of cross-debugging via GDB servers and hardware programmers like J-Link and ST-Link. The episode also features Elecia White discussing her origami art installation at the Aptos Public Library and her Python-based pattern generation tools.

  • 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 · 1h 08m

    413: Puppy-Like Glee

    Elecia White and Christopher White discuss the psychology of self-directed learning, using Christopher's drum practice and Elecia's embedded systems teaching as parallel examples. They debate the practical application of software quality practices, arguing that compiler warnings and linters are essential for catching errors, while unit tests and complexity metrics must be applied with context and risk assessment. The conversation concludes with advice on managing unmotivated team members, emphasizing empathy, communication, and understanding external constraints over assuming incompetence or malice.

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

  • Embedded.fm · 1h 01m

    38: Blame the Monkey

    Elecia White and producer Chris White discuss strategies for debugging 'insurmountable' problems in embedded systems, ranging from race conditions and stack overflows to non-reproducible hardware issues. They advocate for methodical approaches such as drawing system diagrams, writing detailed emails to clarify thoughts, and using the scientific method to isolate variables. The conversation also covers the importance of logging, reverting to known good code, and knowing when to walk away or accept a bug as a feature.

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.