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