Python Software Engineer

European Organization for Nuclear Research

Location:
Geneva, Switzerland
Grade:
6
Category:
Professional Staff
Posted May 29, 2026Apply by Jun 28, 2026 (1d left)

As a Python Software Engineer at CERN, you will develop and maintain Python APIs and PyQt6-based desktop applications integral to the accelerator control system. The role involves designing robust client-oriented APIs, building reusable components, and collaborating across teams to support CERN's accelerator operations and engineering.

Responsibilities

  • Design and maintain Python bindings to the accelerator control system, using technologies such as REST, gRPC, event-driven messaging (e.g. ZMQ), and bindings to existing C++ and Java libraries.
  • Build reusable components, widgets, and libraries supporting control application development at CERN.
  • Develop and maintain 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 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.

Requirements

  • 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.

Skills

  • Python Programming
  • Typed Python
  • Asynchronous Programming
  • API Architecture
  • SDK Development
  • Platform Engineering
  • Software Engineering Practices
  • Quality Assurance
  • DevOps Automation
  • Qt
  • PyQt
  • PySide
  • UI Design
  • Usability Engineering
  • Developer Experience

Languages

English, French