Software Engineer (TE-MPE-CB-2026-101-GRAE)
Role details
Job location
Tech stack
Job description
Join the software team in the Machine Protection and Electrical Integrity (MPE) group and help shape the future of the High Luminosity LHC. In this role, you'll contribute to the evolution of the Quench Protection System (QPS) software and its integration within CERN's accelerator controls.
Working with modern technologies (Rust, C++, Python, Java), you'll support a live system already deployed in cutting-edge test facilities. You'll collaborate with experienced engineers, gain hands-on experience, and help improve the reliability, usability, and integration of critical software systems. We welcome curious, motivated graduates who are eager to learn, contribute, and grow in a collaborative and inclusive environment., * Contribute to the maintenance and evolution of the Rust-based data acquisition system and its client libraries (Python and C++).
- Support the development and testing of real-time control software.
- Assist in integrating the software stack within CERN's wider controls ecosystem, including access control systems (RBAC).
- Help document and improve the QPS functional model and its interactions with other systems.
- Participate in the maintenance of the existing QPS data acquisition system currently used in the LHC.
- Collaborate with stakeholders and users to understand requirements and support ongoing operations.
Requirements
- Professional experience in software development.
- Exposure to backend development is an advantage.
- Familiarity with common development tools and practices (e.g. Git, containers, CI/CD) is a plus.
- Experience working in a team environment.
- Basic understanding of Agile methodologies (Scrum/Kanban) is an advantage.
- Interest in working with complex, multi-language codebases.
- Curiosity about low-level systems, networking, and writing high-quality, maintainable code.
Skills:
- Advanced knowledge of Rust and C++.
- Knowledge of Python and Java.
- Knowledge of relational database systems.
- Understanding of concurrency and multithreading.
- Linux system knowledge.
- Networking knowledge.
- Familiarity with DevOps (CI/CD, monitoring).
- 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 or 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.
Benefits & conditions
- A monthly stipend between 5266-5793 Swiss Francs per month (tax free) depending on your degree.
- 30 days of paid leave per year plus 2 weeks annual closure.
- Coverage by CERN's comprehensive health insurance scheme (for yourself, your spouse and children), and membership of the CERN Pension Fund.
- Family, child and infant monthly allowances depending on your individual circumstances.
- A relocation package (installation grant and travel expenses) depending on your individual circumstances.
- Possibility to extend your contract up to 36 months.
- On-the-job and formal training including language classes.