Extensive experience with Python, including typed Python and asynchronous programming patterns.
Advanced knowledge of API and application design, with proven experience designing and evolving client-oriented APIs and SDKs.
Solid grasp of platform engineering principles and modern software engineering practices, including quality assurance and DevOps.
Knowledge of Qt and its Python bindings (PyQt or PySide) is a plus; willingness to learn is equally valued.
Experience in UI design with a strong focus on usability and developer experience is desirable.
Comfortable working across a broad and evolving technology landscape, with the curiosity and initiative to develop new expertise as the role demands.
Technical competencies:
Knowledge of programming techniques and languages.
Design of databases/repositories.
Architecture and design of ICT systems.
Identification and selection of relevant emerging ICT technologies.
Conceptualising, designing and developing user experiences and interfaces.
Behavioural competencies:
Achieving Results: delivering high quality work on time and fulfilling expectations.
Solving Problems: adopting a pragmatic approach; understanding the value of adopting generic rather than ''gold -plated" technical solutions.
Working in Teams: contributing to promoting a positive atmosphere in the team through an optimistic and constructive attitude; addressing issues.
Demonstrating Accountability: working conscientiously and reliably; delivering on promises.
Demonstrating Flexibility: adapting quickly and resourcefully to shifting priorities and requirements.
Language skills:
Spoken and written English, with a commitment to learn French.
Eligibility and closing date:
Diversity has been an integral part of CERN's mission since its foundation and is an established value of the Organization. Employing a diverse workforce is central to our success. We welcome applications from all Member States and Associate Member States .
This vacancy will be filled as soon as possible, and applications should normally reach us no later than 28.06.2025 at 23:59 CEST.
Employment Conditions:
Contract type: Limited duration contract (5 years). Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.
Working Hours: 40 hours per week
Job Flexibility: Hybrid
Job grade: 6-7
Job reference: BE-CSS-IDE-2026-114-LD
Field of work: Software Engineering and IT
Benchmark Job Title: Computing Engineer
Global Benefits
A competitive salary (tax free), increasing in line with your years of relevant experience.
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 t
Benefits
Health insurance
Additional Information
Introduction:
As a Python Software Engineer with a strong interest in both API development and desktop application engineering (with PyQt6), you will work on tools at the heart of CERN's accelerator complex, used daily across operations, engineering, and physics.
This role spans the Python APIs that interface to the CERN control system, and the PyQt6-based desktop applications built on top of them.
On the API side, you will develop frameworks, libraries, and bindings integrating tightly with backend control system services, with a strong emphasis on developer experience, robustness, and long-term maintenance.
On the UI side, you will work on applications for operating, monitoring, and configuring accelerator systems, ensuring reliable, responsive, and effective user experiences.
You will collaborate with colleagues across the organisation, contributing to design reviews, documentation, training, and technical support, while staying abreast of relevant emerging technologies and playing an active part in shaping the future of CERN's accelerator control system.
Functions:
Design and maintain Python bindings to the accelerator control system, using a range of technologies such as REST, gRPC, event-driven messaging (e.g. ZMQ), as well as bindings to existing C++ and Java libraries.
Build reusable components, widgets, and libraries supporting control application development at CERN.
Develop and maintain a number of PyQt-based control applications used in the CERN Control Centre.
Contribute to the selection and configuration of a coherent DevOps toolchain for Python, covering dependency management, packaging, testing, CI/CD, and deployment monitoring.
Collaborate with user communities to establish and document best practices for developing Python-based control applications.
Contribute relevant developments back to the open source community.
Take ownership of one or more key systems or tools, driving their evolution through active engagement with stakeholders and structured follow-through.
Mentor junior engineers, sharing knowledge and supporting their growth as they contribute to the above areas.
Master's Degree or equivalent relevant experience in the field of Computer Science or a related field.