Principal Embedded Software Engineer
Core
Design, develop, and verify embedded software architectures and applications for next-generation additive manufacturing products, focusing on real-time control, sensing, and communication.
Role type
Principal Embedded Software Engineer (C)
Builds
Embedded software platforms for control, sensing, communication, and real-time processing in additive manufacturing equipment.
Domain
Additive manufacturing / Industrial automation
Deliverable
production ML models | product features | dashboards & analysis | research | client delivery | infrastructure | physical/clinical work
Required skills
C programming, embedded software architecture, real-time systems, microcontroller development, hardware/software integration, system-level design, debugging on target hardware, verification strategies, industrial communication protocols, multi-threaded systems, memory management, state machines, DMA, interrupt-driven architectures
Preferred skills
C++, Python, ARM Cortex-M, FPGA systems, industrial protocols (EtherCAT, Modbus, CANopen, IO-Link), CI/CD workflows, static analysis tools, control systems, signal processing, EMC, safety-conscious development
Technologies
C, C++, Python, ARM Cortex-M, FPGAs, SPI, I²C, UART, CAN, Ethernet, EtherCAT, Modbus, CANopen, IO-Link, Git, Azure DevOps
Responsibilities
Develop embedded software architectures and applications from concept to production; implement low-level drivers, middleware, and application-layer software; optimize software for real-time performance and memory usage; develop robust verification strategies and automated test frameworks; define software architecture roadmaps and influence engineering strategy; collaborate with electronics, FPGA, and mechanical engineering teams; produce technical documentation including architecture specifications and verification reports.
Seniority
Principal, hands-on IC with technical leadership and strategy influence