Position
We are looking for a Java software engineer to join the CDC team and take part in the implementation of ground segment software for European space missions. The successful candidate will work in a small, senior, hands-on team. Responsabilities involve writing production Java, reviewing colleagues' code, taking ownership of components end to end, and have direct contact with the customer and with consortium partners across Europe.
The first assignment, will consist in joining the implementation phase of a demonstrator of a "Cloud Native Ground Segment" for the European Space Operations Center (ESOC). The demonstrator is based on ESOC’s EGOS Data Distribution System (EDDS), which is part of the ESA Ground Operations System (EGOS). EDDS securely retrieves space mission data from Mission Control Systems (MCS) storage and distributes it to authorized users and internal systems of ESA. Its code is Java-based.
The work consists in decomposing EDDS into decoupled functional components and services, enabling scaling and supporting its deployment to a cloud-based environment. On the long term, there is scope to contribute to Yamcs (https://yamcs.org), our open-source mission control system, written in Java and released publicly. Yamcs implements CCSDS and ECSS standards and is undergoing continued evolution towards a fully cloud-native, microservices-based architecture with scalability for constellations. Contributing to Yamcs means your work is visible, used by operators worldwide, and reviewed by an international user community.
Location: Sint-Stevens-Woluwe (Brussels Area)
Start date: As soon as possible
Tasks and Responsibilities
Design, implement, test and document Java software components for ground segment and mission control systems.
Adapt existing applications for containerised, orchestrated deployment; identify and remove obstacles to cloud readiness.
Integrate with third-party and open-source components: PostgreSQL, Kafka, RabbitMQ, Keycloak, object storage, Prometheus/Grafana.
Work within CI/CD pipelines: automated build, test and deployment.
Participate in design reviews, technical notes and customer-facing documentation.
Collaborate with consortium partners in Belgium, Germany and elsewhere in Europe.
Skills and Experience
A master's degree in computer science, engineering, or equivalent practical experience.
A minimum of 3 year of experience developing in Java, including concurrency, I/O and performance-sensitive code.
Docker and Kubernetes; Helm; infrastructure-as-code (Terraform, Ansible).
Comfortable with Linux as a development and deployment environment.
Experience with Git, automated testing and CI/CD.
Working knowledge of relational databases and SQL.
Fluent English, written and spoken.
Considered as Assets
Cloud platforms
Messaging and streaming systems (Kafka, ActiveMQ, RabbitMQ); microservices and REST API design.
Front-end development (TypeScript, Angular or React) for operator-facing web UIs.
Key-value or time-series data stores (RocksDB, Cassandra, InfluxDB).
Prior exposure to space systems: CCSDS/ECSS standards, telemetry and telecommand, EGS-CC, or spacecraft operations in general.
Open-source contribution experience.
French or Dutch.
Our Offer
Working within an exceptional sector with Staff located in Belgium, Germany and the Netherlands
A professional and modern working environment with motivated Administrative Staff, Engineers, Astronaut Training Instructors and Scientists coming from all different horizons and countries with a common passion for space and their own expertise
A full-time position with an indefinite contract of employment
A competitive remuneration package and good working conditions
Working from home in part can be a possibility
An individualised training and development programmes.