CERN Organisation Européenne pour la Recherche Nucléaire
Software Engineer for Industrial Control Systems
📍 Geneva
Rolle und Verantwortlichkeiten
Your job will be to take a central role in maintaining and evolving the CERN Industrial Controls Frameworks used by a community of more than 500 users world-wide. The work will focus on the supervisory/monitoring layer of the Frameworks, which builds on top of the WinCC OA SCADA system. You will be designing, developing and supporting the required tools, technologies, and services to implement large distributed control systems for CERN’s accelerators, particle detectors and technical infrastructure. Develop software components spanning across all layers of modern control systems for integration in the CERN Industrial Controls Frameworks including gathering of requirements, design, prototyping, implementation, testing and maintenance. Provide CERN-wide support for the Industrial Controls Frameworks and their underlying stack of technologies, notably for the SCADA layer, including in situ expert assistance and training, dialogue with the control system developers using the Framework. Proactively contribute to the standardisation and optimisation of industrial control systems; apply quality assurance tools and methods; monitor and analyse the performance of the running systems; propose improvements in the technology landscape and recommend solutions. Participate in and lead cross-team technical initiatives, deliver proof of concepts demonstrating product feasibility to the clients. Consolidate, modernise and review the Frameworks to meet evolving needs and assure long-term maintenance and compatibility. Maintain and improve group-wide high standards and guidelines of software engineering practices. Mentor junior software developers.
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 PhD or equivalent relevant experience in the field of Computing / Software Engineering or a related field.
Experience in the design and development of large C/C++ codebases, including GUI and business logic.
Experience with modern software architectures, API design, architectural patterns, and their application.
Demonstrated experience with software lifecycle management (tools and procedures, issue tracking systems, Git, CI/CD).
Any of the following experience would be a plus: Simatic WinCC Open Architecture commercial SCADA package from Siemens/ETM.
Experience with architecture, configuration, deployment, management and operation of large distributed control systems, notably for the High Energy Physics Experiments.
Industry standard communication protocols (e.g. OPC UA).
Knowledge of programming techniques and languages: deep understanding of object-oriented paradigm (preferably C/C++), design and architectural patterns used for modern industrial control systems.
Re-use, refactoring, integration and porting of existing software: working effectively with legacy code through continuous improvement, refactoring, and technology migration. Provide re-usable components that can be shared among multiple controls applications.
Knowledge and application of software life-cycle tools and procedures: including integration, build and test.
Knowledge of best practices for developing secure software.