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. Find out more on http://home.cern.
Are you passionate about software craftsmanship, do you love acquiring new skills, and exploring learning opportunities? Would you like to design and develop software for one of the world’s most complex technical instruments? We use an original approach based on industrial standards and the latest technologies. Be a part of something bigger; CERN, take part.
Your job will be to take a central role in maintaining and evolving the CERN Industrial Controls Frameworks JCOP and UNICOS, used by a community of more than 1000 users world-wide. The work will focus on the SCADA layer of the Frameworks, which builds on top of WinCC Open Architecture. In particular 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.
You will join:
You will benefit from:
- The opportunity to broaden your knowledge and experience into new areas and discover a domain where excellence is the key driving factor.
- Specific training and support for professional development to foster your skills and develop your talents.
As a Software Engineer, you will join an agile team responsible for designing, maintaining, evolving, and re-engineering CERN’s Industrial Controls Frameworks, aligned with the group's strategy to modernise, replace, and consolidate legacy architectures and business-critical applications. More specifically, you will take on the following responsibilities:
- Develop new features and software components for 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 on the Industrial Controls Frameworks and on their underlying stack of technologies.
- Proactively contribute to the standardization and optimization of industrial control systems; apply quality assurance tools and methods; monitor and analyze the performance of the running systems; propose improvements.
- Participate in, and lead cross-team technical initiatives and deliver proof of concepts demonstrating product feasibility to the clients.
- Maintain and improve group-wide high standards and guidelines of software engineering practices.
- Identify areas of improvement in the technology landscape of the group, and recommend solutions.
- Mentor junior software developers.
Master's degree or equivalent relevant experience in the field of computer science or a related field.
- Demonstrated experience with development, installation, configuration, commissioning and maintenance of large and distributed software systems. Working in agile environments with methodologies, issue tracking systems, Git and CI/CD.
- Experience with object-oriented paradigm (C/C++), design and architectural patterns, and their application.
- Experience with modern software architectures (e.g. MVC) and API design.
- Experience with SQL, database systems.
Each of the following skills would be a plus:
- Experience with Siemens/ETM commercial SCADA package WinCC Open Architecture
- Experience with C++ Qt libraries.
- Experience using industry standard communication protocols (e.g. OPC UA, Modbus, SNMP) and fieldbuses.
- Experience in planning and coordination of technical work, project management and the drafting of technical documents.
- 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.
- Design of databases/repositories: experience with relational databases and database modelling.
- 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 of best practices for developing secure software: would be an advantage.
- Building Relationships: showing appreciation for the ideas and contributions of others and encourages others to express their views, even if controversial Understanding how individual differences bring added value to the Organization; promoting complementarities Being able to put self in the shoes of others in order to understand their needs and interests
- Working in Teams: working well in groups and readily fitting into a team; participating fully and taking an active role in team activities Cooperating constructively with others in the pursuit of team goals; balancing personal goals with team goals. Sharing and letting others participate in own work/project; encouraging team development
- Demonstrating Accountability: working conscientiously and reliably; delivering on promises Taking responsibility for own actions and decisions Readily admitting to mistakes
- Learning and Sharing Knowledge: taking steps to expand knowledge in other areas of expertise beyond own field Questioning traditional assumptions and ways of doing things Learning from own successes and failures
- Communicating Effectively: expressing opinions, ideas and suggestions with conviction and in a logical/structured manner; keeping to the point Successfully changing other people's opinions by persuasive arguments Delivering presentations in a structured and clear way; adjusting style and content to the audience; responding calmly and confidently to questions
Spoken and written English: the ability to draw up technical specifications and to make oral presentations in English. Knowledge of French would be useful, or an undertaking to acquire it rapidly.
Eligibility and closing date:
Diversity has been an integral part of CERN's mission since its foundation and is an established value of the Organization. Employing a diverse workforce is central to our success. We welcome applications from all Member States and Associate Member States.
This vacancy will be filled as soon as possible, and applications should normally reach us no later than 12 midday 28th June 2021.
Contract type: Limited duration contract (5 years). Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.
These functions require:
- A valid driving licence is required.
- Work during nights, Sundays and official holidays, when required by the needs of the Organization.
- Stand-by duty, when required by the needs of the Organization.
Job grade: 6-7
Job reference: BE-ICS-FT-2021-56-LD
Benchmark Job Title: Computing Engineer