A curated overview of embedded systems learning roadmaps and skill frameworks, comparing ACM curriculum guidelines, IEEE SWEBOK, Elecia White's hexagonal skills tree, Meysam Parvizi's GitHub roadmap, Philip Koopman's 'Better Embedded System Software', and Steve Branam's skills checklist. The post argues that embedded systems does have a definable core skill set covering microcontroller peripherals, RTOS, toolchains, hardware basics, and software engineering practices. It recommends picking an unfamiliar area, finding a relevant book or project, and learning deliberately rather than feeling overwhelmed by the breadth of the field.
Table of contents
IntroductionACM Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (2016)Embedded Skills Tree (Elecia White)Embedded Systems Engineering Roadmap (Meysam Parvizi)Better Embedded Systems by Philip KoopmanSoftware Engineering Body of Knowledge (IEEE Computing Society)Software Systems Engineering Programmes: A Capability Approach (Landwehr, et al.)[Added 20 Feb 24] Skills for Embedded Systems Software Developers (Steve Branam)"Embedded systems is too broad; there's no way to create a single list of core skills that every embedded systems engineer is supposed to know!" or "I've been an embedded systems engineer for over 40 years and I've never needed X" and related complaints counterargumentsWrapping Up2 Impressions