For more than half a century, Serco has walked alongside the pioneers of space. Serco has supported over 50 ESA missions where our teams have helped launch satellites, guide spacecraft across the void and turn data into discoveries that reshape our world.
With thousands of specialists contributing across the entire space lifecycle from satellite testing to launch services, LEOP to operations and surveillance, we’ve become a trusted force in national And European space strategies. And now, the next chapter could include you.
We are looking for a highly motivated Full Stack Software Engineer to join a multidisciplinary team supporting ESA scientific missions in the fields of Astronomy, Planetary Science and Heliophysics.
The successful candidate will contribute to the design, development, integration and maintenance of software systems supporting Science Operations Centres (SOC) throughout the complete mission lifecycle, from mission development phases to routine operations.
For missions under development, the engineer will participate in the definition of software architectures, development of new services and applications, system integration activities and validation of mission-specific components. The role includes close collaboration with cross-mission teams to maximise software reuse, promote harmonisation and contribute to common frameworks and services shared across multiple ESA missions.
For operational missions, the engineer will maintain and evolve existing systems, implementing enhancements, bug fixes and corrective maintenance activities based on feedback from operators, scientists, instrument teams and mission stakeholders.
Working within Agile and DevOps environments, the engineer will contribute to the delivery of reliable, maintainable and high-quality software supporting the scientific exploitation of ESA mission data.
Main Responsibilities
- Design, develop and maintain software systems supporting Science Operations Centres.
- Develop backend services, APIs and modern web applications.
- Support software integration, testing, deployment and operational maintenance activities.
- Collaborate with cross-mission teams to promote software reuse and harmonisation.
- Gather and analyse requirements from scientific and operational stakeholders.
- Investigate and resolve software defects, anomalies and performance issues.
- Support software release activities in coordination with Configuration Control and DevOps Engineers.
- Produce and maintain technical documentation throughout the software lifecycle.
- Participate in technical reviews, validation campaigns and mission support activities.
Software Quality Responsibilities
- Work closely with Product Assurance (PA) and Quality Assurance representatives to ensure compliance with mission standards and software engineering best practices.
- Contribute to software verification and validation activities throughout the development lifecycle.
- Perform code reviews and support the adoption of coding standards and development guidelines.
- Monitor software quality using tools such as SonarQube, ensuring adequate test coverage, maintainability and code quality metrics.
- Analyse and resolve security vulnerabilities and dependency-related issues.
- Support the continuous improvement of development processes, testing strategies and quality controls.
- Ensure technical documentation remains consistent with software changes and releases.
Required Skills and Experience
Essential
- Degree in Computer Science, Software Engineering or a related discipline.
- Experience in software development using Java and/or Python.
- Experience with modern frontend development frameworks and technologies.
- Experience with REST APIs and distributed software architectures.
- Experience with software integration and troubleshooting in complex environments.
- Familiarity with Linux environments and Git-based development workflows.
- Experience working within Agile/Scrum teams.
- Understanding of CI/CD practices and DevOps principles.
- Familiarity with software testing methodologies and automated testing frameworks.
- Strong analytical, problem-solving and communication skills.
- Good written and spoken English communication skills.
Desirable
- Spring Boot and/or FastAPI.
- Docker and Kubernetes.
- Jenkins, Harness and CI/CD platforms.
- SonarQube and static code analysis tools.
- PostgreSQL or other relational databases.
- Experience with TypeScript and modern frontend frameworks (Angular preferred).
- Bash and Python scripting.
- Maven, Gradle and Ansible.
- Atlassian tools (Jira, Confluence, Bitbucket).
- Experience with scientific, operational or space mission software systems.
- Knowledge of ESA software engineering and review processes (ECSS).
What We Offer
The position offers the opportunity to work within a challenging and highly collaborative environment supporting multiple ESA scientific missions.
The successful candidate will contribute to both the development of future Science Operations Centres and the evolution of software systems supporting operational missions.
The role provides exposure to a broad range of engineering disciplines, modern technologies and international collaborations, while offering the opportunity to influence software solutions adopted across multiple ESA missions and programmes.