Software and Modelling Engineer - Space Engineering
Role details
Job location
Tech stack
Job description
As part of the On-board Software and Functional Verification (FV) team, you will contribute to the development of software for the ESA Vigil satellite programme, supporting one of Europe's flagship space missions. Working in a Continuous Deployment environment, you will be involved in the design, implementation, integration and verification of on-board software, collaborating closely with multidisciplinary engineering teams to ensure the successful delivery of high-quality software solutions. Your responsibilities will include:
- Designing, developing and maintaining on-board software using C++;
- Developing and maintaining software models and simulation environments;
- Supporting hardware-in-the-loop (HIL) design, integration and testing activities;
- Debugging and troubleshooting real-time software in Linux environments;
- Contributing to Continuous Integration and Continuous Deployment (CI/CD) pipelines;
- Designing and implementing multi-process and multi-threaded software applications;
- Developing and executing software verification activities, including unit and integration testing;
- Applying software engineering best practices, object-oriented design principles and design patterns;
- Producing and maintaining technical documentation in accordance with ECSS standards;
- Working closely with systems, avionics and verification engineers throughout the software development lifecycle;
- Communicating technical concepts effectively to both technical and non-technical stakeholders.
Requirements
You will have the following qualifications and relevant experience:
- University degree in Computer Science, Software Engineering, Aerospace Engineering or a related technical discipline;
- At least 4 years of industrial experience in software engineering (5+ years preferred);
- Strong software design and development experience using C++;
- Good working knowledge of Java (primarily for software testing activities);
- Experience designing and debugging real-time software in Linux (RedHat) environments;
- Experience with Hardware-in-the-Loop (HIL) systems;
- Experience working with Continuous Integration and Continuous Deployment (CI/CD) environments;
- Strong understanding of multi-process and multi-threaded software architectures;
- Experience with software testing methodologies and unit testing frameworks;
- Knowledge of Object-Oriented Analysis and Design (OOAD) using UML or similar modelling techniques;
- Good understanding of the complete Software Development Life Cycle (SDLC);
- Knowledge of software design patterns and modern coding best practices;
- Familiarity with software development frameworks, tools and utilities;
- Experience with machine-to-machine communication protocols;
- Excellent communication and presentation skills in English.
The following experience would be considered a strong advantage:
- Experience with spacecraft avionics systems;
- Knowledge of ECSS software standards, particularly ECSS PUS;
- Experience with SpaceWire, MIL-STD-1553 and CAN Bus communication protocols;
- Previous experience working on ESA or other space programmes.
Benefits & conditions
The position requires full-time onsite presence (4 days per week onsite, 1 day remote).