Embedded C++ Developer
Role details
Job location
Tech stack
Job description
You will bridge the gap between complex optical payloads and our data infrastructure, playing a critical role in our mission-ready deployments.Key Responsibilities:Firmware Development: Design, develop, and maintain high-performance embedded software in C/C++ for payload control and data handling.Hardware Integration: Collaborate closely with the Optics and Electronics teams to integrate drivers and debug hardware-software interfaces.Real-Time Systems: Implement and optimize RTOS-based or embedded Linux applications to manage concurrent tasks, ensuring low-latency processing of satellite imagery.Testing & Validation: Own the full lifecycle of your code, from unit testing and Hardware-in-the-Loop (HiL) testing to final deployment on flight models.Technical Documentation: Contribute to the Astra Project initiative by maintaining rigorous Architectural Decision Records (ADRs) and API documentation.Cross-Functional Collaboration: Work closely with the Payload, Ground Segment, and Data
Requirements
Infrastructure teams, actively communicating design decisions and implementation details with the rest of the software team to ensure seamless end-to-end data flow.Who you are:Must:Bachelor's degree in Computer Science, Electrical Engineering, or a related field.3+ years of experience in embedded software or firmware development, with strong proficiency in C and modern C++ (C++14/17 or later). Solid understanding of ARM Cortex-M/R/A architectures and hands-on experience with hardware communication protocols (I2C, SPI, UART, CAN, Ethernet). Experience with RTOS (FreeRTOS, Zephyr) or embedded Linux, including POSIX APIs, concurrent/multithreaded applications and kernel modules.Experience with build systems and toolchains (CMake, Make, GCC/Clang, Yocto), version control (Git), and bug-tracking systems (Jira). Experience with debugging tools (GDB, logic analyzers, hardware interfaces such as JTAG/SWD) and hardware-software integration.Strong communication skills and the ability to clearly document and explain technical decisions, implementation details, and system behavior to the rest of the engineering team, fostering knowledge sharing and collaborative decision-making.We are also looking for a junior profile, so if you have 1-2 years of experience in embedded software or firmware development, don't hesitate to apply for the position.Nice to have:Experience in the aerospace, defense, or a similar high-reliability industry.Previous experience in the NewSpace sector.Knowledge of FPGA interfacing (SoC architectures). Experience with Python for automation and scripting test benches.Knowledge of CI/CD pipeline integration and DevSecOps principles.What You'll Gain by Joining Us