EU remote
Senior Embedded Software Engineer
About this role
Here at The Exploration Company, we are building innovative aerospace technologies that advance the future of space transportation. We are looking for a Senior Embedded Software Engineer with deep expertise in low-level platform bring-up and RT-OS tailoring for embedded real-time applications. You will own the full software stack from bootloader, BSP, OS, and application. You will establish and maintain the toolchain and CI infrastructure that underpins our embedded platforms development.
You are comfortable owning the entire platform software stack independently. You have brought up a (safety critical) MCU from scratch, debugged obscure failures with a debug probe (e.g. JTAG), serial console, logic analyser, or oscilloscope. You instinctively collaborate closely with the hardware team on the platform design and with the application stakeholders on requirements. Key Responsibilities As a Senior Embedded Software Engineer, your role and responsibilities will continuously evolve.
Your initial duties include to: Bring-up the RTOS and develop the BSP for ARM Cortex-M cores, including MPU configuration and inter-core communication Develop, test and maintain an extensive set of MCU drivers to fulfill application's needs (ADC, SPI, Clock and more) Develop complete communication stack, validate its integration in host system Develop drivers for complex ICs Integration test MCU and FPGA interfaces Set-up toolchain and CI for the MCU and wider embedded platform (HiL, automated test equipment control...) Own design documentation and validate requirements Coordinate with all disciplines working on a unit (electronics design engineers, system engineers, test team, EGSE team) Continuous learning: stay current with industry trends, emerging technologies, and advancements in avionics design What we would love to see from you In the role of Senior Embedded Software Developer ideally, you will have the following: Bachelor's or Master's degree in Electrical Engineering, Embedded Systems, Software Engineering, Aerospace Engineering, or a related field Strong background in embedded C / C++ coding RTOS bring-up experience on Cortex-M cores (ThreadX / Azure RTOS, FreeRTOS, Zephyr, or equivalent) Hands-on experience in firmware development and platform bring-up Hands-on experience in various communication protocols/stacks (SPI, I2C, UART, Ethernet IP/TCP).