As part of the software team of the Machine Protection and Electrical Integrity group, you will work on the upgrade of the Beam Interlock System (BIS) and Safe Machine Parameters system (SMP), which are key protection systems for the safe and reliable operation of the whole accelerator chain.
Both systems are undergoing a major overhaul, starting from their components and extending to software elements: data acquisition, control, supervision and monitoring. While each have their own purposes, use-cases and domain specificities, the two systems share the same technical stack: low level C++ real-time controls application, Java data transformation layer, Python and Angular GUIs, and integrations within the wider CERN accelerator controls.
Key aspects of the job include extending the reference model of the SMP system, implementing the real-time controls application integrating with the SMP and BIS hardware elements, as well as the upper software layers (Java, Python, Angular), and facilitating their integration with other software systems and the accelerator controls environment.
Your responsibilities:
-
Contribute to the development, testing, and maintenance of software components for the BIS and SMP systems (real-time control, data processing, and user interfaces).
-
Support the collection of requirements and feedback from users and hardware experts; assist in maintaining and extending the SMP reference model.
-
Participate in deploying and validating software solutions in test environments connected to hardware systems.
-
Collaborate with team members and contribute to documentation and reporting activities.
More information here .
Your profile:
-
Experience in software development.
-
Basic understanding of backend development concepts; willingness to learn.
-
Familiarity with software development tools and practices such as Git; exposure to containers or CI/CD is a plus.
-
Experience working on team projects (academic or professional).
-
Interest in Agile methodologies (Scrum/Kanban) is an advantage.
-
Ability and motivation to learn and navigate complex, multi-language codebases.
-
Attention to code quality and eagerness to follow best practices.
Skills:
-
Proficiency in Java and Python, C++ knowledge a plus.
-
Relational databases knowledge.
-
Proficiency in DevOps technologies and practices (CI/CD, containers, monitoring).
-
Strong willingness to learn, collaborate, and grow within a team environment.
-
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.