Join our team of experienced software engineers in the Controls Software and Services (CSS) group and take an active role in the design and development of two mission-critical systems that keep CERN's accelerators running safely 24/7.
You will contribute to the modernisation of the Technical Infrastructure Monitoring (TIM) system, built upon the C2MON framework. TIM supervises cooling, ventilation, electricity, and cryogenics installations across the CERN complex.
You will also contribute to the consolidation of the LHC Alarm Service (LASER), the centralised alarm platform serving the entire CERN accelerator chain.
Your responsibilities:
- Participate in the full software development lifecycle, from requirements gathering and architecture design through development, testing and deployment, following agile practices.
- Design and develop Java/Spring Boot backend services for: alarm data acquisition from various sources (e.g. OPC-UA, JMS, MQTT), data processing, data routing and long-term data archiving (big data storage).
- Design and develop event streaming pipelines using Apache Kafka to reliably ingest and distribute high-throughput alarm and monitoring data across system components. Design, develop and evolve REST APIs consumed by monitoring dashboards and downstream systems such as expert applications and other microservices.
- Build and maintain CI/CD pipelines, using GitLab CI.
- Write automated unit and integration tests to ensure high software quality.
- Collaborate with accelerator operators and system owners to understand operational needs and translate them into robust software solutions.
More information here.
Your profile:
- Background in backend software development or a closely related role.
- Good understanding of distributed systems, microservices and event-driven architectures (e.g. message brokers).
- Exposure to data processing concepts and streaming frameworks (e.g. Apache Kafka) would be an asset.
Skills:
- Experience in core Java and its ecosystem.
- Hands-on exposure to the Spring Framework, including Spring Boot.
- Knowledge of REST API design and development.
- Familiarity with Git and CI/CD pipelines and tools.
- Familiarity with containerisation and orchestration tools (e.g. Docker/Podman, Kubernetes).
- Experience with SQL-based databases would be an asset.
- Working knowledge of Python and its ecosystem would be an asset.
- Spoken and written English, with a commitment to learn French.
Eligibility criteria:
- You are a national of a CERN Member or Associate Member State.
- By the application deadline, you have a maximum of two years of professional experience since graduation in Computer Science, Software Engineering (or a related field) and your highest educational qualification is either a Bachelor's or Master's degree.
- You have never had a CERN fellow or graduate contract before.
- Applicants without University degree are not eligible.
- Applicants with a PhD are not eligible.