What you'll do
As a Software Engineer, you will engage in the development, evolution, and long-term maintenance of C++ software solutions running in Linux environments. Working within a collaborative team of software engineers and domain experts, you will contribute to the core control applications that govern more than 5,000 power converters across the accelerator complex.
A central aspect of this role is the ownership and modernisation of a set of software classes that support accelerator operations. You will take responsibility for migrating these classes from the existing FGCDv1 and FESA architectures to the next-generation FGCDv2 framework. This work offers a unique opportunity to combine hands-on software development with framework evolution: as you migrate and modernise your assigned components, you will contribute directly to the refinement and completion of the FGCDv2 framework, helping shape its future direction based on practical experience and operational needs.
Furthermore, you will have the opportunity to gain further experience with:
– GitLab and modern CI/CD workflows.
– Meson build system.
– Static code analysis, sanitisers, and modern development tooling (Clang ecosystem).
– Python development and testing frameworks (pytest, Jinja).
Your responsibilities
- Design, develop, document, and maintain modern C++ control software for power converter systems.
- Take ownership of software components throughout their lifecycle, including the migration of applications to the FGCDv2 framework.
- Contribute to the evolution of the FGCDv2 framework by identifying, implementing, and validating improvements based on practical experience.
- Support software architecture, code quality, and CI/CD practices to ensure reliable, scalable, and maintainable solutions.
- Collaborate closely with software engineers, equipment specialists, and operational teams to deliver robust control applications.
Still here? Let's make a quick check about
Your profile
- Strong proficiency in modern C++ and Linux-based development environments.
- Experience designing, developing, and maintaining medium-to-large software systems, applying software quality practices such as testing, code review, continuous integration, and maintainability.
- Ability to take ownership of technical deliverables, communicate effectively, and collaborate within multidisciplinary teams.
- Interest or experience in hardware-software integration, industrial systems, or control systems would be an asset.
- Your studies focused on Software Engineering or a related field.
Your skills
- Modern C++.
- Linux Software Development.
- Code Quality and Testing Practices.
- Spoken and written English, with a commitment to learn French.
Employment conditions
- Stand-by duty, when required by the needs of the Organization.
Global Benefits at CERN
Let's get you ready
Be sure to meet the eligibility criteria
- You are a national of a CERN Member State or Associate Member State. Currently, we cannot consider applications from Pakistani and Lithuanian nationals for positions with a 2026 start date, as the ceiling defined under Article II.5 of the Associate Membership Agreement has been reached.
- By the application deadline, you have a master’s degree with 2 to 6 years of professional experience since graduation or a PhD with a maximum of 3 years of professional experience since graduation. You are not eligible with only a bachelor’s degree.
- You have never had a CERN fellow or graduate contract before.
- Please pay attention to the additional criteria and requirements for this specific position and mentioned above.
You will need these documents to complete your application
- Your CV (English or French)
- A copy of your most relevant diploma or a certificate of achievement from your school (if you don't yet have your paper diploma)
- Any document you consider relevant to your application