Software Engineer
European Organization for Nuclear Research
- Location:
- Geneva, Switzerland
- Grade:
- 6
- Category:
- Professional Staff
Posted Jun 2, 2026Apply by Jun 30, 2026 (3d left)
As a Software Engineer at CERN, you will develop Python applications supporting simulation, automation, and operation of radiofrequency systems across accelerators. You will contribute to the full software lifecycle and collaborate with developers working on C++ real-time control software.
Responsibilities
- Design, develop, and maintain Python-based software applications and tools for configuration, monitoring, automation, commissioning, and analysis of RF systems across CERN’s accelerator complex.
- Collaborate with engineers and physicists to understand operational requirements and deliver reliable, user-focused software solutions integrated with real-time control systems and C++ middleware components.
- Develop automation, testing, and deployment workflows using modern software engineering practices, including CI/CD, containerised environments, and maintainable software architectures.
- Participate in deployment, commissioning, operational support, and continuous improvement of software systems used during accelerator operation, including on-call support activities.
- Contribute to technical documentation, knowledge sharing, and software quality practices within the team and wider controls software community.
Requirements
- Master's degree or equivalent relevant experience in computer science, software engineering, applied physics, electronics engineering or related field.
- Solid Python development skills, ideally including scientific libraries (NumPy, SciPy, Matplotlib) and GUI frameworks (PyQt).
- Understanding of C++ sufficient to read and interface with existing control-system code.
- Knowledge of software engineering processes: version control (Git), testing, CI/CD and containerisation.
- Experience delivering production-quality software in scientific or engineering environments.
- Exposure to radiofrequency or accelerator systems is an advantage but not required.
- Ability to develop application software and software for embedded and real-time systems with/without OS.
- Knowledge and application of software life-cycle tools and procedures.
- Skills in testing, diagnosing and optimization of software.
- Structured and organised approach towards work; able to set priorities and plan tasks with results in mind.
- Adaptability to shifting priorities and requirements.
- Problem identification, definition and assessment skills, with proactive action to address them.
- Ensures documentation of information, procedures and decisions.
- Teamwork skills including sharing information and including others accordingly.
- Spoken and written English, with a commitment to learn French.
- Must obtain medical clearance before contract offer due to occupational health risks associated with radiation exposure.
- Valid driving licence required.
Skills
- Python Development
- NumPy
- SciPy
- Matplotlib
- PyQt
- C/C++ Programming
- Version Control Systems
- Git
- Software Testing
- CI/CD
- Containerisation
- Production-quality Software
- Application Software Development
- Embedded Systems Software
- Real-time Systems Software
- Software Development Life Cycle Management
- Software Optimization
- Software Diagnostics
- Documentation
- Radiofrequency Systems Knowledge
Languages
English