What you'll do
This role focuses on improving and evolving software developed in the EP-SFT group such as Geant4 and ROOT, two core software frameworks used for particle physics simulation and data analysis at CERN and laboratories worldwide. The position involves optimising and redesigning key components to run efficiently on modern high-performance computing systems, with a strong emphasis on GPU acceleration and large-scale parallel processing. Responsibilities include contributing to next-generation technologies such as AdePT for GPU-based particle transport, enhancing performance for exabyte-scale data processing, and developing tools for profiling, testing, and validation. Working at the intersection of HPC, C++ software engineering, and experimental physics, the role directly supports future research initiatives including the High-Luminosity LHC and the Future Circular Collider.
Your responsibilities
- Devise Performance Strategy: Define and execute the performance roadmap for Geant4 and ROOT, also focusing on GPU architectures (CUDA, SYCL) and the exploitation of advanced features of programming languages, such as C++.
- Hands-on Development: Implement and refactor critical hot loops, memory layouts, and kernel launches. Use state-of-the-art tools to identify and eliminate bottlenecks.
- Take part in the overall organisation of data simulation, processing, and analysis activities within the EP-SFT group.
- Projects, including work planning, the organisation of workshops and trainings, and representing the projects and their vision.
- Engage with the projects’ user communities, foster collaboration within the SFT group, the EP department, and CERN, and encourage external contributions from laboratories, universities, and other partners.
- Supervise team members and coordinate activities related to the EP-SFT data simulation, processing, and analysis projects.
Still here? Let's make a quick check about
Your profile
- Demonstrated experience in high-performance computing, including GPU programming and C++ (template metaprogramming, SIMD, cache-aware design).
- A proven track record of optimising large (100k+ line) scientific or data-intensive software projects.
- Solid experience with performance profiling tools (e.g., Nsight, VTune, perf, Valgrind), debugging tools (GDB, LLDB), and continuous integration performance regression testing.
- Familiarity with Geant4, ROOT, or other high-energy physics simulation and analysis frameworks would be an advantage.
- Experience contributing to LLVM/Clang or compiler-level optimisation work is considered an asset.
- Knowledge of Monte Carlo particle transport algorithms or statistical data analysis is advantageous.
- A publication record or invited talks at major conferences (e.g., Supercomputing, CHEP, IEEE/ACM performance workshops) is considered a plus.
- Experience in supervising and coordinating external contributors would be desirable.
- Master's degree or PhD or equivalent relevant experience in the field of Computer Science, Physics or a related field.
Your skills
- Development of application software: advanced C++ and Python.
- Testing, diagnosing and optimisation of software: GPU profiling, memory optimisation, parallel debugging.
- Knowledge of programming techniques and languages, parallel programming techniques such as CUDA, std::thread, TBB, or MPI. Experience with the usage of Clang and LLVM would be considered an advantage.
- Knowledge and application of software life-cycle tools and procedures (GitLab CI, JIRA, CMake, Spack) would be considered an advantage.
- Has a structured and organised approach towards work; is able to set priorities and plan tasks with results in mind.
- Finds the information needed to solve problems; makes objective judgements based on all the facts available.
- Expresses opinions, ideas and suggestions with conviction and in a logical/structured manner; keeps to the point.
- Shares knowledge and expertise freely and willingly with others; coaches others to ensure knowledge transfer.
- Adapts quickly and resourcefully to shifting priorities and requirements.
- Spoken and written English, with a commitment to learn French.
Employment conditions
- Work during nights, Sundays and official holidays, when required by the needs of the Organization.
Global Benefits at CERN
Let's get you ready
Be sure to meet the eligibility criteria
- You are a national of a CERN Member State or Associate Member State. Currently, we cannot consider applications from Pakistani and Lithuanian nationals for positions with a 2026 start date, as the ceiling defined under Article II.5 of the Associate Membership Agreement has been reached.
- You have relevant qualifications and professional experience.
- If you have previously held a Staff contract at CERN, you will not be eligible for these positions.
- Please pay attention to the additional criteria and requirements for this specific position and mentioned above.
You will need these documents to complete your application
- Your CV (English or French)
- Any document you consider relevant to your application