At CERN, the European Organisation 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.
Webinar Highlight
Ace your application - top tips from Emma at CERN.
To watch the full Gradcracker/CERN webinar, click here.
Job description
You will join the Tools and Services section within the Scientific Information Service, the team responsible for the platforms that power scientific discovery and open access across the High Energy Physics community. Our systems include INSPIRE, the global literature hub for particle physics; SCOAP3, which funds and tracks open access publishing; CERN Analysis Preservation, which safeguards the analyses behind physics results; and a tool facilitating access to CERN's institutional memory.
As a Backend Python Engineer you will design, build and operate the services that ingest, curate, search and expose millions of scientific records to a worldwide audience. You will work on high throughput data pipelines, REST APIs, search infrastructure and the integration of AI driven retrieval into production systems. Your code will be open source and used daily by researchers across hundreds of institutes.
As part of the Tools and Services team, you will drive the modernisation and evolution of the Scientific Information Service content platform. You will advance the backend services behind INSPIRE, SCOAP3 and CERN Analysis Preservation, expand Model Context Protocol services that open the team's scientific content to AI clients, and evaluate the harmonisation of the INSPIRE backend with the newer backoffice stack. This is a defined project to strengthen the platform's discovery, interoperability and AI driven access.
Your responsibilities
The core responsibility of this position is to drive the modernisation of the INSPIRE backend, expand the team's Model Context Protocol services, and align the digitisation and archival services with the team's technology stack, delivering a large scale migration to the Access to Memory (AtoM) service.
INSPIRE backend and harmonisation:
Review the remaining custom harvests, approximately 1000, and migrate those that should be retained to Apache Airflow, retiring or redesigning the rest.
Work with curators throughout to decide what to keep, and automate the pipeline where evaluation shows it adds value, keeping a human in the loop for decisions that require expert judgement.
Evolve the Apache Airflow ingestion and curation pipelines that process scientific metadata and full text at scale, improving data quality, deduplication, enrichment and source coverage.
AI access and interoperability:
Expand the team's Model Context Protocol services across INSPIRE, the library and other team services, moving them from pilot to a consistent, documented and maintainable interface that opens curated scientific content to external AI clients.
Develop and optimise the search and discovery functionality on OpenSearch that underpins these features, including relevance tuning and indexing strategies.
Digitisation and archival services:
Align the digitisation and archival services with the team's technology stack, modernising them onto common frameworks and deployment tooling.
Deliver and oversee the migration of 35 000 new archival items to the Access to Memory (AtoM) service across 2027, maintaining consistent metadata and data quality throughout.
Develop and automate the connection between the connected services, enabling content to flow reliably across the digitisation and archival systems.
Prepare the ingestion pipelines for new file ingestion, harmonising them with the team's other applications.
Engineering foundations:
Design, document and deliver REST APIs consumed by internal applications, partner institutes and third party tools.
Apply automated testing, code review, monitoring and CI and CD, and support production through containerised deployments and performance tuning.
Contribute the team's outputs back to the open source community to advance Open Science.
Your profile
Demonstrated experience building and operating backend services in Python in a production environment. Solid track record with web frameworks such as Django, Flask or FastAPI and with relational and document databases.
Hands on experience designing REST APIs.
Practical experience with search engines such as OpenSearch, including indexing and relevance tuning.
Familiarity with containerised deployments, version control with Git and CI and CD workflows.
Experience contributing to open source projects and working in a collaborative engineering team is highly valued.
Skills:
Strong proficiency in Python and modern backend development practices, including frameworks such as Django, Flask and FastAPI.
Solid understanding of REST API design, asynchronous programming and software testing.
Experience with SQL data stores such as PostgreSQL and with search technologies such as OpenSearch.
Working knowledge of Docker, Kubernetes and CI and CD pipelines.
Understanding metadata standards and large scale data processing.
Ability to write clean, well documented and maintainable code.
Strong problem solving skills and attention to detail.
Ability to work in a multicultural team and a collaborative, ownership driven mindset.
Spoken and written English, with a commitment to learn French.
Eligibility criteria:
You are a national of a CERN Member or Associate Member State.
You have a professional background in Computer Science (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.
What we offer
A monthly stipend ranging between 6,372-7,004 Swiss Francs (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.
We've signed the Gradcracker feedback pledge.
(This means that we will supply feedback if requested after an interview.)