Software Developer

European Council for Nuclear Research

Geneva, Switzerland

As a Software Developer, you will play a key role in developing and maintaining the real-time software that interfaces with bespoke hardware, ensuring seamless synchronization with CERN’s particle accelerators and user needs. Your work will directly contribute to advancing the precision and reliability of the world’s most powerful scientific instruments. You will have access to training, mentoring, and learning opportunities to deepen your technical expertise.

Responsibilities:
  • Collaborate closely with experts and operators to gather and analyse requirements.
  • Model beam instrumentation systems into CERN’s control system using our in-house C++ framework (FESA).
  • Design, implement, test, and commission new and upgraded real-time software systems.
  • Standardising hardware access code and system APIs.
  • Adapting software to new accelerator timing distribution.
  • Improving performance, maintainability, and reliability through careful redesign and refactoring.
  • Placing a strong emphasis on robust testing and safe recommissioning.
  • Develop intuitive tools and GUIs, primarily with our in-house PyQt framework, modernising existing Java Swing applications to enhance usability and efficiency.
Requirements:
  • Bachelor's degree or equivalent relevant experience in the field of computer science, software engineering or a related field.
  • Demonstrated experience in the field of software engineering with an emphasis on developing deterministic software in a real-time environment using C++ .
  • Basic knowledge of electronics-based digital acquisition hardware.
  • Knowledge and experience of developing GUIs using PyQt, would be an advantage.
  • Spoken and written English or French, with a commitment to learn the other language.