At CERN, the European Organization for Nuclear Research, physicists and engineers are probing the fundamental structure of the universe. They use the world's largest and most complex scientific instruments to study the basic constituents of matter, the fundamental particles. The particles are made to collide together at close to the speed of light. The process gives the physicists clues about how the particles interact, and provides insights into the fundamental laws of nature.
Software Engineer (Industrial Controls) Job Description
Functions
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.
Software Engineer (Industrial Controls) Job Requirements
Qualification required
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.
Software Engineer (Industrial Controls) Application Information
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).
- Programming/software development: web technologies for front end (HTML 5, CSS 3, Bootstrap, Javascript, Jquery, AngularJS) and backend (PHP, Java Servlets, Websockets) .
- Network control and operation: knowledge of network and field communication protocols.
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.
This vacancy will be filled as soon as possible, and applications should normally reach us no later than
14.01.2018.Note on Employment Conditions
We offer a limited-duration contract for a period of 5 years. Limited-duration contracts shall terminate by default on their date of expiry.
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.
NvbQ
Software Engineer (Industrial Controls) Summary
Education Backgrounds: |
Software Engineering |
Specialties: |
Embedded software Programming Software Design
|
Education Level: |
Postgraduate (Masters) Doctorate (PH.D)
|
Experience: |
10 - 15 years 2 - 5 years 5 - 10 Years
|
Languages spoken: |
English |
Job Location: |
, , Switzerland |
Apply