OBS! Ansökningsperioden för denna annonsen har
passerat.
Arbetsbeskrivning
Company Description
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.
Job Description
Introduction
Are you a skilled and experienced Software Developer? Are you passionate about creating low-level, real-time solutions? Are you experienced with C++ and the Linux operating system? Do you want to contribute to the unique challenge of making all CERN particle accelerators function in a uniform and synchronised manner? Join CERN's Controls Software & Services group, to work on real-time software for the largest particle physics laboratory in the world. Take Part!
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 CSS Group, responsible for providing and supporting the controls software and infrastructure used to operate and maintain these particle accelerators 24 hours a day.
The FST Section, a dynamic and quality-oriented agile team, responsible for mission-critical software frameworks for communication and real-time accelerator control.
Functions
As a Software Developer, you will join a passionate team and take an important role in the evolution of the low-level real-time frameworks used to control accelerator hardware. You will also help bring the Accelerator Timing System to a new technological era, utilizing White Rabbit, a novel, IEEE standard, Ethernet based network with sub-nanosecond accuracy, pioneered by your future colleagues. You will be involved in all aspects of the software life cycle, including user requirements gathering, design, development, testing and production deployment of the new solution, following our agile development process.
In particular, you will:
Communicate with the end-users to understand their needs and help translate these into appropriate solutions.
Shape the evolution and participate in the development of our core C++ frameworks used for real-time control and integration with various equipment types and PLCs.
Engage with the world-class hardware engineers who invented the White Rabbit network and develop low-level software to integrate the White Rabbit hardware into the Timing System.
Participate in the development of the Accelerator Timing software to coordinate the thousands of accelerator devices.
Collaborate and share knowledge and solutions with highly skilled software engineers both inside the CSS group and across the Accelerators & Technology sector.
Investigate, diagnose and resolve operational problems in collaboration with end-users ranging from equipment specialists to operations teams.
Mentor junior developers.
Qualifications
No higher than Bachelor's degree or equivalent relevant experience in the field of Computer Science or a related field.
Experience:
The following are required for this post:
Proven experience in C++ development in a Linux (or Unix-like) environment.
Solid knowledge of object-oriented programming principles.
Experience developing real-time systems.
Experience applying software quality assurance techniques and practice with corresponding tools.
The following are considered assets but are not mandatory:
Experience in Java and/or Python development.
Knowledge of Linux compilation toolchains and build systems.
Experience with communication protocols and networking stacks.
Technical competencies:
Knowledge and application of software life-cycle tools and procedures: including DevOps.
Testing, diagnosing and optimization of software
Development of low-level software for real-time systems
Monitoring and troubleshooting of operational software systems.
Behavioural competencies:
Achieving results: having a structured and organised approach towards work; being able to set priorities and plan tasks with results in mind.
Learning and sharing knowledge: keeping up-to-date with developments in own field of expertise and readily absorbing new information. Sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer. Thinking "out of the box" and proposing fresh ideas, insights and methodologies.
Working in teams: understanding when teamwork is required to achieve the best results; including others accordingly and sharing information. Working well in groups and readily fitting into a team; participating fully and taking an active role in team activities.
Demonstrating flexibility: adapting quickly and resourcefully to shifting priorities and requirements. Instigating and promoting change as an opportunity for organisational development.
Language skills:
Spoken and written English, with the ability to draw-up technical specifications and/or scientific reports, and/or to make oral presentations. The knowledge of the French language or the willingness to acquire this rapidly would be an advantage.
Additional Information
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 midnight CEST July 9th 2023.
Employment Conditions
Contract type: Limited duration contract (5 years). Subject to certain conditions, holders of limited-duration contracts may apply for an extension up to 3 years or an indefinite position.
These functions require:
Stand-by duty, when required by the needs of the Organization.