Are you an experienced software developer, or a scientist with a masters degree or PhD interested in the challenges offered by computing for scientific fields such as High Energy Physics (HEP)? Do you want to contribute to the software R&D at the heart of LHC data processing and analysis?
Join the EP-SFT group at CERN, responsible for developing and maintaining core software packages used by the LHC experiments and the HEP community at large. You will become a core C++ and Python software developer in the ROOT team (https://root.cern).
In particular, you will:
- Enhance the integration and interoperability of Python and C++ codebases, with a focus on the interaction between the Python interpreter and the C++ interpreter cling (https://cling.readthedocs.io).
- Improve the design of Python interfaces to interact with C++ libraries as commonly done in scientific, performance-oriented Python packages.
- Evolve, simplify and streamline the ROOT plotting interface with a user-centric perspective and result-oriented R&D.
- Contribute to the baseline support and maintenance tasks of the project.
Subscribe for scholarship update!
Be among the first to know whenever new CERN scholarship is going on
CERN Experienced C++ and Python Engineer (EP-SFT-2024-130-GRAP)
Aim and Benefits of CERN Experienced C++ and Python Engineer (EP-SFT-2024-130-GRAP)
We offer
- A monthly stipend ranging between 6212 and 6828 Swiss Francs per month (net of tax).
- Coverage by CERN's comprehensive health scheme (for yourself, your spouse and children), and membership of the CERN Pension Fund.
- Depending on your individual circumstances: installation grant; family, child and infant allowances; payment of travel expenses at the beginning and end of contract.
- 30 days of paid leave per year.
- On-the-job and formal training at CERN as well as in-house language courses for English and/or French.
CERN Experienced C++ and Python Engineer (EP-SFT-2024-130-GRAP) Courses
Requirements for CERN Experienced C++ and Python Engineer (EP-SFT-2024-130-GRAP) Qualification
Your profile
Skills and/or knowledge required for the project
- Experience with software version control (e.g. git) and contributing software to large repositories.
- Advanced C++ knowledge. In particular: STL interfaces and algorithms, parallelism, thread-safety, template metaprogramming, C++17 and onwards standard features.
- Advanced Python knowledge. In particular: CPython API, Integration with C++ and C libraries, packaging and distributing Python projects via conda and/or PyPI.
- Developing plugins for widespread interactive analysis environments (e.g. JupyterLab) - Building graphics on top of common Python visualisation libraries (e.g. matplotlib, seaborn).
Optional but a plus:
- Distributed environments and Python tools to drive distributed applications (e.g. Dask, PySpark, Ray)
- Experience with building frameworks on top of the ROOT data processing tools
- Statistics and statistical treatment of data distributions
- HEP experiments, data lifecycle and analysis workflows
Eligibility criteria:
- You are a national of a CERN Member or Associate Member State.
- You have a professional background in STEM (or a related field) and have either:
- a Master's degree with 2 to 6 years of post-graduation professional experience;
- or a PhD with no more than 3 years of post-graduation professional experience.
- You have never had a CERN fellow or graduate contract before.
Interview date, Process and Venue for CERN Experienced C++ and Python Engineer (EP-SFT-2024-130-GRAP)
Job closing date: September 1 at 23:59 hrs CEST.
Job reference: EP-SFT-2024-130-GRAP
Contract duration: 24 months, with a possible extension up to 36 months maximum.
Target start date: 01-October-2024
Application Deadline
September 1, 2024How to Apply
Interested and qualified? Go to
CERN on jobs.smartrecruiters.com to apply
For more details visit: CERN website.