Systems Software Engineer (EP-SFT-2021-25-LD)
- Geneva, Switzerland
You will join the software development for experiments (SFT) group (http://ep-dep-sft.web.cern.ch) that develops and provides support for scientific software for the high-energy physics experiment collaborations at CERN and worldwide. The group is currently involved in an innovative programme of work to improve the performance of the simulation (Geant4) and analysis toolkits (ROOT) by exploiting the parallelism offered by modern CPU architectures and other techniques. This involves work on a number of ongoing R&D activities and later a major reengineering of existing software to be ready for the High-Luminosity LHC and the effective exploitation of Clouds and HPC computing resources.
Your job will be to take a central role in maintaining and evolving the CernVM (http://cernvm.cern.ch) ecosystem, which is used by nearly all high-energy particle physics experiments world-wide as well as in many other domains, such as medical, financial and space applications. In particular you will be designing, developing and to supporting tools, technologies, and services that enable experiments to run scientific applications efficiently on globally distributed resources such as Grids, Clouds, and Supercomputers.
- Support, maintain, and enhance the CernVM software ecosystem according to the needs of the HEP community and at the high standard of quality required for a critical, highly reliable service
- Engage with the CernVM worldwide user community, foster collaboration and external contributions, and organize support channels
- Explore, develop prototypes, and harness new technologies from academia and industry in the field of application delivery and cloud computing
- Provide tools and advice to running and decommissioned experiment collaborations to support data and software preservation efforts
- Supervise students and coordinate tasks in the domains relevant to the CernVM project and maintain effective links with collaborating physics and computing groups inside and outside CERN
Master's degree or PhD or equivalent relevant experience in the field of Computing Science or a science discipline (e.g. Physics) with significant computing content.
- Proven experience in the tools and methods of all phases of modern, collaborative, open-source software development, in particular design, coding, code reviews, and testing.
- Demonstrated experience in the design and implementation of large-scale distributed systems with related concepts such as caching, replication, and failure modes in networked systems.
- Extensive experience in Linux operating system internals, including file system design, container and virtualization technology.
- Demonstrated experience in the construction of large-scale, scientific software stacks, including continuous integration pipelines, multi-architecture builds, and multi-language software stack construction.
- Knowledge of programming techniques and languages: proficiency in the C++ programming language; experience in the Go programming language would be an advantage.
- Architecture and design of ICT systems: especially in operating systems and container technology, file systems, and distributed data transport technologies; knowledge of HPC system design and commercial cloud platforms is an asset.
- Knowledge and application of software life-cycle tools and procedures; and with state-of-the-art software development tools.
- Identification and selection of relevant emerging ICT technologies: especially in distributed storage systems and container technology.
- Solving problems: being open to original ideas and creative options by which to address issues; continually driving change by seeking new ways to improve outcomes; producing workable and timely solutions that meet requirements.
- Working in teams: building and maintaining constructive and effective work relationships; contributing to promoting a positive atmosphere in the team through an optimistic and constructive attitude; addressing issues.
- 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: expressing opinions, ideas and suggestions with conviction and in a logical/structured manner; keeping to the point.
- English: ability to understand and speak the language in professional contexts, draw-up technical specifications and/or scientific reports and make oral presentations.
- French: basic knowledge would be an asset or willingness to acquire it rapidly.
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 24.03.2021 at noon (12:00 pm CET time)
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-2021-25-LD
Benchmark Job Title: Computing Engineer