CERN Organisation Européenne pour la Recherche Nucléaire
Python Software Engineer (BE-CSS-IDE-2026-114-LD)
📍 Geneva
Rolle und Verantwortlichkeiten
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.
Team / Beschreibung
At CERN, the European Organization for Nuclear Research, physicists and engineers are probing the fundamental structure of the universe. Using the world's largest and most complex scientific instruments, they study the basic constituents of matter - fundamental particles that are made to collide together at close to the speed of light. The process gives physicists clues about how particles interact, and provides insights into the fundamental laws of nature.
Qualifikationen und Fähigkeiten
Master's Degree or equivalent relevant experience in the field of Computer Science or a related field.
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.