Software Engineer (Industrial Controls)
You've always wanted to be challenged with the exploitation of real time control systems for beam intercepting devices in the CERN accelerators? You want to manage control software projects covering from low level to high level software development? You want to apply your computer engineering knowledge to solve real industrial controls problems? If you relish a challenge, join CERN and discover a whole new world of controls solutions. CERN, take part!
Software engineer within the Engineering Department (EN), Sources, Targets & Interations Group (STI), Equipment Controls and Electronics Section (ECE).
You will join:
Within the Engineering Department, the Sources, Targets & Interactions Group (STI) which is in charge of the design, construction, and operation of the components of the CERN accelerators (LHC, PS, SPS). The Group closely interacts with the beams (Beam Intercepting Devices) and experimental facilities like ISOLDE (Isotope Separation On-Line), n-TOF (Neutron Time of Flight experiment), CTF3, and the PS and SPS experimental areas.
The ECE section is responsible for the design, installation and maintenance of control and measurement systems based on different platforms (PXI, cRIO, PLC, VME) for all the Beam Intercepting Devices in the CERN accelerator complex as well as in several experimental facilities. The section also provides turnkey solutions for measurements, test systems and data analysis applications based on LabView and develops robotic solutions for remote inspection and tele-manipulation interventions in hazardous environments.
As a software engineer in the STI Group, you will follow-up all the development phases of the software to monitor and control Beam Intercepting Devices (BIDs) in the CERN accelerators or data acquisition software for specific instrumentation and/or physics detectors. You will take responsibility for all the software control layers for industrial applications ranging from Data Acquisition, to middleware and multisystem controls, and high end development for Graphical User Interfaces and dynamic web interfaces. Finally, you will be at the forefront of all the developments and events linked to the beam intercepting devices and data acquisition software in the LHC, SPS, injectors and experimental facilities as ISOLDE, nTOF or North Experimental Area.
In particular, you will:
- Discuss with engineers and physicists in charge of the operation of the equipment to define functional specifications and translate them into detailed technical specifications for the control system.
- Design and implement new control systems based on the requirements of new projects and/or take the technical responsibilities of existing projects to be maintained, upgraded and documented.
- Develop low-level real-time software mainly in C++ for the remote monitoring and control of particle accelerator components, in particular BIDs as well as for data acquisition systems, data transfer and communication layer.
- Develop Graphical User Interfaces in Java for the control and supervision of remote units.
- Develop and maintain custom web sites and related databases.
- Write technical specifications and software documentation.
- Supervise a software development team composed of technicians, undergraduates, doctoral or post-doctoral students, for both development projects as well as maintenance and operation activities.
- Define and promote software development best practices, documentation guidelines and testing protocol for both low level control and Java projects.
- Participate in the STI Group stand-by service.
Master's degree or PhD, or equivalent relevant experience in the field of software engineering with specialization in industrial automation, or equivalent.
The experience required for this post is:
- Demonstrated experience of control software and industrial control.
- Demonstrated experience with the development of software projects based on Java, modern web technologies and database schema management.
- Proven experience in design and implementation of supervision, control and acquisition software in C++.
- Demonstrated experience in requirements definition, software documentation and software project management.
- Experience in instrumentation and fieldbuses.
- Experience in PLC programming and design would be an asset.
The technical competencies required for this post are:
- Overall architectural design of large control systems / design of control systems.
- Development and configuration of online software for data acquisition.
- Design of real time control system: in C++ under Linux.
- Programming/Software development: in Java and JavaFX.
- Database/repository design: database design, use and maintenance (Oracle).
- Network control and operation: knowledge of network and field communication protocols.
The behavioural competencies required for this post are:
- Communicating effectively: expressing opinions, ideas and suggestions with conviction and in a logical/structured manner; keeping to the point.
- Solving problems: identifying, defining and assessing problems, taking action to address them.
- Working in teams: working well in groups and readily fitting into a team; participating fully and taking an active role in team activities.
The language competencies required are:
- Spoken and written English or French; ability to understand and speak the other language in professional contexts.
- Ability to draw-up technical specifications and scientific reports and to make oral presentations in one of the two languages.
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 14.01.2018.
By applying here, you allow CERN to consider your application for any position it considers relevant with respect to your profile. Please ensure you update your profile regularly with any relevant information and that you inform the recruitment service if you wish your file to be removed from the database.
We offer a limited-duration contract for a period of 5 years. Limited-duration contracts shall terminate by default on their date of expiry. Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.
These functions require:
- Participation in a regular stand-by duty, including nights, Sundays and public holidays.
- Work during nights, Sundays and public holidays.
- Work in radiation areas.
- Interventions in underground installations.