Software Test Engineer
Summary
Verify and validate flight software for space missions at a New Space company in Nigrán, Spain: designing V&V plans for embedded FreeRTOS software, building automated test frameworks in CI/CD, and running test campaigns on hardware and simulation environments. Core stack: C, Python, FreeRTOS, Git/GitLab CI or Jenkins, and protocols like SpaceWire, CAN, I2C, SPI, UART.
Key Responsibilities
- Design, develop, and maintain verification and validation plans for embedded software running on FreeRTOS-based platforms.
- Create and execute unit, integration, and system-level test cases.
- Develop and maintain automated test frameworks and integrate them into CI/CD pipelines.
- Verify real-time performance, including task scheduling, interrupt latency, deadlines, memory usage, and synchronization mechanisms.
- Execute test campaigns on target hardware, engineering models, and simulation environments.
- Analyze software failures, perform root cause investigations, and collaborate with developers to resolve issues.
- Measure and report test coverage, requirements traceability, and software quality metrics.
- Conduct robustness and fault-injection testing, including communication failures, memory corruption scenarios, watchdog behavior, and recovery procedures.
- Support compliance with applicable aerospace software engineering and quality standards.
- Contribute to continuous improvement of testing processes, automation tools, and verification methodologies.
- Bachelor's or Master's degree in Computer Engineering, Electronics Engineering, Telecommunications Engineering, Aerospace Engineering, or a related discipline.
- 2–5 years of experience in embedded software development or software testing.
- Hands-on experience with FreeRTOS or another Real-Time Operating System (RTOS).
- Strong programming skills in C and ability to analyze complex embedded software codebases.
- Experience using Python for test automation and tooling development.
- Practical experience with hardware debugging and laboratory instrumentation, including JTAG/SWD, logic analyzers, oscilloscopes, and serial interfaces.
- Experience with Git and CI/CD environments such as GitLab CI, Jenkins, or similar.
- Knowledge of embedded communication protocols including SpaceWire, CAN, I2C, SPI, and UART.
- Professional working proficiency in English.
- Previous experience in flight software, spacecraft systems, propulsion systems, or safety-critical environments.
- Familiarity with ECSS, DO-178C, IEC 61508, or comparable standards.
- Knowledge of static analysis tools and coding standards such as MISRA C, Polyspace, LDRA, cppcheck, or VectorCAST.
- Experience with ARM Cortex-M architectures, memory maps, and Memory Protection Units (MPU).
- Experience with platform emulation, simulation, Hardware-in-the-Loop (HIL), or Software-in-the-Loop (SIL) environments.
- Familiarity with requirements and traceability tools such as DOORS, Polarion, or Jama.
- Previous experience in the space, aerospace, or defense sectors.
- The opportunity to contribute directly to cutting-edge space technologies and real missions.
- A highly technical and collaborative environment where engineers have a direct impact on product and architecture decisions.
- Access to hardware, testing facilities, and end-to-end system development activities.
- Professional growth within a fast-growing New Space company.
- Specialized training in aerospace standards, verification methodologies, and advanced engineering tools.
- The chance to help shape the future of space transportation and in-orbit operations.