C++ Software Engineer (BE-CSS-DSP-2026-90-GRAP)
Role details
Job location
Tech stack
Job description
Are you an experienced Software Engineer with a passion for low-level, real-time systems? Join the Timing team in the Controls Software & Services group, to work on real-time software for the largest particle physics laboratory in the world.
ISOLDE , one of CERN's accelerator facilities, is undergoing a major upgrade, including its timing system to rely on the White Rabbit technology. Our team is responsible for designing, developing, and deploying the C++ software that generates the timing pulses used to synchronise accelerator equipment, and you will be involved in all aspects of this project.
Your responsibilities:
- Learn about the White Rabbit timing system, hardware modules and our real-time software framework for equipment control.
- Contribute to the design of the new ISOLDE timing system.
- Develop and commission the timing system.
- Participate in the design of the software which controls the White Rabbit hardware modules used to synchronise equipment.
- Develop the software following the design.
- Contribute to the adaptation of the existing real-time software to the new timing system.
Requirements
- Proven experience in C++ development, in a Linux (or Unix-like) environment, including practical experience developing real-time systems.
- Experience with low-level development, libraries and kernel modules.
- Experience applying software quality assurance techniques and practice with corresponding tools.
Skills:
- Hands-on C++ development.
- Knowledge of Linux, low-level libraries and kernel modules.
- Knowledge of programming techniques and languages on backends and embedded systems.
- Very good knowledge of object-oriented programming principles.
- Knowledge and application of software life-cycle tools and procedures including DevOps.
- Familiarity with testing, diagnosing and optimisation of software.
- Monitoring and troubleshooting of operational software systems.
- Spoken and written English, with a commitment to learn French.
Eligibility criteria:
- You are a national of a CERN Member or Associate Member State .
- You have a professional background in Software Engineer (or a related field) and have either:
- a Master's degree with 2 to 6 years of post-graduation professional experience;
- or a PhD with no more than 3 years of post-graduation professional experience.
- You have never had a CERN fellow or graduate contract before.
Benefits & conditions
- A monthly stipend between 6372-7004 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.
About the company
Imagine taking part in the largest scientific experiment in the world. CERN needs more than physicists and engineers - if you're a student, a graduate, just starting your career or an experienced professional, whatever your field of expertise, CERN could be your next opportunity.