Scientific Software Developer (EP-SFT-2023-122-LD)
- Contract
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
You will join the software development for experiments (SFT) group (http://ep-dep-sft.web.cern.ch) which develops and provides support for scientific software for the High Energy Physics experiment collaborations at CERN and worldwide. The group is hosting the team supporting and developing ROOT (https://root.cern), used to store, statistically analyse, and visualise scientific data in High Energy Physics.
This position will ensure the development and maintenance of the statistical and mathematical packages of ROOT, such as RooFit, the ROOT component used heavily by physicists in the LHC experiments for modeling the observed physics event distribution and performing statistical analysis to measure physics parameters. A major reengineering of the existing C++ software code is ongoing in order to be ready for the analysis of the High-Luminosity LHC data. These improvements involve developing new interfaces for easier usability in both C++ and Python, implementing some of the workflows to run on GPU and better making use of new machine learning techniques such as automatic differentiation and probabilistic programming. The position requires regular interaction with physicists, experiments' physics groups, and attendance of related conferences and workshops to disseminate development news and solicit feedback on released and planned features.
Functions
- Drive the support, maintenance, and enhancement of RooFit and the ROOT statistical libraries according to the needs of the stakeholders community, including exploring, validating, and harnessing new technologies which could improve efficiency and ergonomics.
- Improve the usability of ROOT's features from Python.
- Organize the development agenda of the statistical libraries of ROOT, including constant coordination with ROOT's data analytic experts and with the external RooFit developers and with the physicists maintaining the LHC experiment statistical software tools.
- Organize technical meetings within and outside the ROOT project.
- Take part in the overall project organization, such as the plan of work, arranging for workshops, and representing the project and its vision.
- Engage with ROOT’s worldwide user community, foster collaboration and external contributions, and organize support channels.
- Supervise and coordinate tasks relevant to the ROOT project.
Qualifications
PhD or equivalent relevant experience in the field of Particle Physics or a related field.
Experience:
- Demonstrated experience with High Energy Physics data analysis and knowledge of the statistical methods used by the physics experiments.
- Demonstrated experience in high-performance software development including task prioritization, and customer interaction.
- Proven mastering of performance and memory profiling technologies and debugging techniques for both CPU and GPU programming.
- Understanding of machine learning applications for High Energy Physics and probabilistic programming will be considered an advantage.
- Proven track record of scientific publications and high-level communication (for instance through invited conference presentations).
- Experience in supervision and managing of external contributors will be considered an advantage.
Technical competencies:
- Analysis and interpretation of experimental data.
- Knowledge and application of statistical and numerical mathematical methods.
- Knowledge of programming techniques and languages: demonstrated excellent knowledge of C++ and Python.
- Development of application software.
- Testing, diagnosing and optimization of software.
- Conceptualising, designing and developing user experiences and interfaces.
Behavioural competencies:
- Achieving results: having a structured and organised approach towards work; being able to set priorities and plan tasks with results in mind; delivering high quality work on time and fulfilling expectations.
- Solving problems: recognizing what is essential; discriminating between important and peripheral information and being able to see the whole picture; being open to original ideas and creative options by which to address issues; continually driving change by seeking new ways to improve outcomes.
- Learning and sharing knowledge: sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer.
- Demonstrating flexibility: adapting quickly and resourcefully to shifting priorities and requirements.
- Communicating effectively: delivering presentations in a structured and clear way; adjusting style and content to the audience; responding calmly and confidently to questions.
Language skills:
- English: ability to understand and speak the language in professional contexts, draw-up scientific reports and make oral presentations.
- French: basic knowledge would be an asset or willingness to acquire it rapidly.
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 09.10.2023
Employment Conditions
Contract type: Limited duration contract (5 years). Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.
These functions require:
- Work during nights, Sundays and official holidays, when required by the needs of the Organization.
Job grade: 6-7
Job reference: EP-SFT-2023-122-LD
Benchmark Job Title: Applied Physicist