Embedded Software Engineer
Overview
In this role you will design and implement embedded software solutions for complex systems, participating in defining interfaces and validating requirements. You will write and test code for embedded platforms, ensuring reliable performance and integration with hardware. You will work closely with cross-functional teams on technical decisions and code reviews to deliver compliant, high-quality software. This position offers exposure to regulated environments and modern tooling, with a focus on scalable, robust firmware.
ResponsibilitiesDesign and develop software solutions for embedded systemsCode and test (unit/integration) firmwareDefine system/subsystem interfaces and validate requirementsReview and test code; ensure quality and complianceParticipate in SDLC activities and design reviews
Key requirementsBS in Software/Electrical/Computer Engineering or equivalentmin 10 years in embedded software/firmware design and developmentC/C++ programming; strong OOP understandingexperience in medical or highly regulated industries; IEC 62304, FDA guidance preferredRTOS based embedded software; Azure RTOS/ThreadX preferredexperience with hardware peripherals and drivers (SPI, I2C, PWM, ADC, DAC, eMMC, USB, UART)microcontroller experience (STM, NXP)GitHub, CI/CD, VSCode, Docker Dev Containers knowledgewireless tech (Bluetooth, NFC, LTE modem)knowledge of SDLC, design patterns, multithreading; Agile/SAFe preferredcommunication interfaces and network protocols (USB, Ethernet, TCP/IP, UDP, Wi-Fi, Bluetooth, NFC)software/firmware testing methodologies (gtest preferred)C/C++RTOS (Azure RTOS/ThreadX)SPI, I2C, PWM, ADC, DACeMMC, USB, UARTSTM, NXP microcontrollersGitHub, CI/CD, VSCode, Docker Dev Containers