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.
Experience and competencies
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).
- 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 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.
Software Engineer (Industrial Controls) Application Information
Please apply with your CV and cover letter by the 'apply' button below
Remember - you found this opportunity on Qreer.com
Software Engineer (Industrial Controls) Summary
Education Backgrounds: |
Software Engineering |
Specialties: |
Big Data Control systems Industrial Automation Programming
|
Education Level: |
Postgraduate (Masters) Doctorate (PH.D)
|
Experience: |
0 - 2 years 2 - 5 years
|
Languages spoken: |
English French |
Job Location: |
, , Switzerland |
Keywords: |
Software Engineer, CERN, java, PLC |
Apply