Embedded Software Engineer
Core
Design, develop, code, test, and debug system software and embedded firmware for product lines from requirements to commercial deployment.
Role type
Embedded Software Engineer
Builds
Embedded devices and systems
Domain
Embedded systems / Real-time operating systems
Deliverable
production ML models | product features | infrastructure
Required skills
C/C++ programming, preemptive multitasking RTOS design, hardware schematic and data sheet reading, software unit testing, multithreaded/multiprocessor application development, CI/CD pipeline implementation, communication protocols (USB, Ethernet, PCIe, I2C, SPI), Git version control, scripting (Perl, Python, Shell, PowerShell), object-oriented design
Preferred skills
MODBUS protocol knowledge
Technologies
VxWorks, Xenomai, Linux, GitHub Actions, Jenkins, Ansible
Responsibilities
Design and implement embedded software from requirements to production; analyze and enhance efficiency, stability, and scalability of system resources; integrate and validate new product designs; support software QA; provide post-production support; interface with hardware design and development
Seniority
Mid-Senior, hands-on IC