Software Engineer

Software Engineer

European Organization for Nuclear Research (CERN)

October 31, 2025December 15, 2025GenevaSwitzerland
European Organization for Nuclear Research (CERN) About
At CERN, the European Organization for Nuclear Research, physicists and engineers are probing the fundamental structure of the universe. They use the world's largest and most complex scientific instruments to study the basic constituents of matter – the fundamental particles.
Job Description
Job Posting Organization:
CERN, the European Organisation for Nuclear Research, is a leading scientific research organization established to probe the fundamental structure of the universe. Founded in 1954, CERN employs thousands of physicists and engineers who work collaboratively to explore the basic constituents of matter using the world's largest and most complex scientific instruments. The organization operates in multiple countries and is known for its groundbreaking research in particle physics, contributing significantly to our understanding of the fundamental laws of nature.

Job Overview:
As a Software Engineer at CERN, you will be tasked with working on the C++ real-time frameworks that drive CERN’s accelerators. This role is critical as it involves low-level, high-precision systems where nanoseconds are crucial. You will join a passionate team and play a significant role in evolving the low-level real-time frameworks used to control accelerator hardware, which are developed in C++ and target Linux systems. Your contributions will help usher the Accelerator Timing System into a new technological era, utilizing White Rabbit technology, which is an innovative, IEEE standard, Ethernet-based network that achieves sub-nanosecond accuracy. You will engage in all aspects of the software life cycle, including gathering user requirements, designing, developing, testing, and deploying new solutions, all while adhering to an agile development process.

Duties and Responsibilities:
Your responsibilities will include engaging with end-users to understand their requirements and translating these into effective technical solutions. You will shape and contribute to the evolution of core C++ frameworks for real-time control and integration with various equipment and PLCs. Additionally, you will develop and maintain mission-critical Accelerator Timing software that coordinates thousands of accelerator devices. Collaboration is key, as you will share expertise with highly skilled software engineers within the CSS group and across the Accelerators & Technology sector. You will also investigate, diagnose, and resolve operational issues in close collaboration with end-users, ranging from equipment specialists to operations teams. After an initial learning period, you will take ownership of one or more key systems, planning their evolution through active user engagement and follow-up. Furthermore, you will support team growth by onboarding and mentoring junior developers.

Required Qualifications:
To qualify for this position, you must possess a Master's degree or equivalent relevant experience in Computer Science or a related field. Proven experience in C++ development is essential, along with experience in applying software quality assurance techniques and practices using corresponding tools. Desired qualifications include experience in Java and/or Python development, as well as familiarity with communication protocols and networking stacks. Technical competencies required for this role include the development of software for embedded and real-time systems, knowledge of software life-cycle tools and procedures, and proficiency in programming techniques and languages, particularly object-oriented programming principles. You should also have experience in testing, diagnosing, and optimizing software.

Educational Background:
Candidates must hold a Master's degree or equivalent in Computer Science or a related field. This educational background is crucial as it provides the foundational knowledge necessary for the complex tasks involved in software engineering at CERN.

Experience:
The position requires proven experience in C++ development, which is a critical aspect of the role. Additionally, experience in applying software quality assurance techniques and practices is necessary. While not mandatory, experience in Java and/or Python development, as well as familiarity with communication protocols and networking stacks, is highly desirable. The ideal candidate should have a solid understanding of software development for embedded and real-time systems, particularly in a Linux or Unix-like environment.

Languages:
Fluency in spoken and written English is mandatory, as it is the primary language of communication at CERN. Additionally, there is a commitment to learn French, which is considered beneficial for the role and for integration within the organization.

Additional Notes:
This position is offered as a limited duration contract for 5 years, with the possibility of applying for an indefinite position subject to certain conditions. The working hours are set at 40 hours per week, and the job is fully onsite at CERN. The role may also involve stand-by duty as required by the needs of the organization. The job grade for this position is classified as 6-7, and the job reference is BE-CSS-FST-2025-230-LD, with a focus on Software Engineering and IT.
Apply now
Similar Jobs