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 Job Description
Job Reference: BE-CO-SRC-2017-225-LD
Publication date: 07/02/2018
Closing date: 26/02/2018
Software Engineer in the BEAMS Department (BE), Controls Group (CO), Software for Real-time and Communication Section (SRC).
As a Software Engineer, you will join:
- The BE Department, responsible for the beam generation, acceleration, diagnostics, controls and performance optimization for the LHC and its injector accelerators.
- The CO Group, responsible for providing and supporting the controls infrastructure used to operate these particle accelerators 24 hours a day.
- The SRC Section, in charge of core software packages and systems required for the real-time control, data acquisition and communication infrastructure used for the on-line operation of the CERN Accelerator complex
As a Software Engineer in the Controls Middleware team you will:
- Take responsibility for project(s) or system(s): discuss and negotiate with stakeholders to understand their needs; propose and specify suitable solutions to fulfil client needs and the evolution of the service/system.
- Develop the communication infrastructure, including several centrally managed services and corresponding software libraries using the software frameworks employed at CERN and according to supplied specifications.
- Maintain and upgrade existing software, in close collaboration with equipment specialists and end-users.
- Assist the users (operators, equipment specialists, physicists...) in the use of the systems, taking on board their feedback in order to further optimise performance.
- Contribute to the improvement of software engineering practices and eventually mentor junior developers.
- Participate in the first line, best effort support of the operational CMW solutions.
Software Engineer Job Requirements
Master's degree or PhD or equivalent relevant experience in the field of computing, computer science, software engineering, or equivalent.
Experience and competencies
The experience required for this post is:
The following are considered as strong assets but not mandatory:
- Demonstrated experience in modern software techniques; knowledge of OO principles and software patterns.
- Demonstrated experience in designing and developing modern, multi-layered, distributed software systems.
- Experience working with a Linux operating system.
The technical competencies required for this post are:
- Experience with low-level system programming.
- Experience with applying Agile methodology in a software development project.
The behavioural competencies required for this post are:
- Requirements definition and management: definition and management of the goals and scope of initiatives.
- Programming/Software development: Excellent knowledge of Java (Java 8 or higher) and the JDK Libraries; Knowledge of the Java Spring framework and the C++ languages and its libraries (STL, Boost) is a plus.
- Application support: investigating and resolving issues; monitoring system performance.
- Testing: experience applying software quality assurance and practice with corresponding tools.
The language competencies required are:
- Achieving results: delivering high quality work on time and fulfilling expectations; driving work / projects along and seeing them through to their conclusion; having a structured and organised approach towards work; being able to set priorities and plan tasks with results in mind.
- Communicating effectively: checking to ensure that the message has been well understood; expressing opinions, ideas and suggestions with conviction and in a logical/structured manner; keeping to the point; listening actively to others and letting others speak.
- Working in teams: building and maintaining constructive and effective work relationships; cooperating constructively with others in the pursuit of team goals; balancing personal goals with team goals; working well in groups and readily fitting into a team; participating fully and taking an active role in team activities.
- Spoken and written English: ability to draw-up technical specifications and/or scientific reports and to make oral presentation. The knowledge of the French language or the willingness to acquire this rapidly would be an advantage.
Software Engineer Application Information
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 21.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.
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. Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.
These functions require:
- Stand-by duty, when required by the needs of the Organization.
- Work during nights, Sundays and official holidays, when required by the needs of the Organization.
Software Engineer Summary
0 - 2 years
2 - 5 years
||software techniques, Linux, computing, computer science, software engineering