C++ Software Engineer (BE-CSS-DSP-2026-90-GRAP)

CERN
Geneva, Switzerland
3 days ago

Role details

Contract type
Temporary to permanent
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Geneva, Switzerland

Tech stack

Unix
C++
CSS
Linux
DevOps
Object-Oriented Software Development
Systems Development Life Cycle
Real-Time Operating Systems
Software Systems
Software Quality Assurance (SQA)
Real Time Systems

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.

Apply for this position