The European Organization for Nuclear Research, known as CERN, is a European research organization that operates the largest particle physics laboratory in the world. Established in 1954, the organization is based in a northwest suburb of Geneva on the Franco–Swiss border, and has 22 member states. Israel is the only non-European country granted full membership. The term CERN is also used to refer to the laboratory, which in 2013 had 2,513 staff members, and hosted some 12,313 fellows, associates, apprentices as well as visiting scientists and engineers representing 608 universities and research facilities.

CERN Geneva, Switzerland
Full time
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 . Job Description Introduction You will join: The Experimental Physics Department (EP), which carries out basic research in the field of experimental physics. It aims to provide a stimulating scientific atmosphere and remains an important reference centre for the European physics community; and contributes to the education and training of young scientists. The Software Development for Experiments (SFT) group ( that develops and provides support for scientific software for the high-energy physics experiment collaborations at CERN and worldwide. In particular, we develop the Geant4 simulation toolkit (; the ROOT analysis toolkit (; and the CernVM-FS software distribution system (, which are 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. The group is currently involved in an innovative programme 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 working on a number of ongoing R&D activities and later a major re-engineering of existing software to be ready for the High-Luminosity LHC. In addition, we need to adapt the software developed by the group, as well as the distribution of this software using CernVM-FS, for use in large HPC centres hosting supercomputers. Your job will be to develop high-performance libraries and frameworks to exploit new processor architectures and accelerators that can be integrated into Geant4 and ROOT. These libraries are typically written in C++ and other specialised languages and extensions for high performance computing. Emphasis will be put on developing portable and versatile libraries that abstract user codes from specific hardware capabilities, such as vector instructions (SIMD) and hardware accelerators. Functions Investigate high-performance computing techniques and their applicability to analysis and simulation codes developed in the SFT group. In particular, investigate the use of hardware accelerators such as GPUs and FPGAs; and the use of task-based parallelism in the group's software. Develop vector libraries in the area of mathematics and data manipulation, as well as libraries to optimally offload computations to accelerators. Investigate ways to speed-up and consolidate software deployment and distribution on HPC resources (supercomputers). Contribute to the maintenance and development of the key software products of the group. Qualifications Master's degree or PhD or equivalent relevant experience in the field of computing engineering or a related field. Experience: Demonstrated experience in collaborative development of C++ code in a large software. projects, with a full stack mindset (development, deployment, interfaces and support). Demonstrated experience with task-based programming. Demonstrated experience in testing, performance profiling and debugging complex software systems. Experience in programming heterogeneous platforms with CPUs and accelerators using, e.g., C++, Cuda, or OpenCL would be an advantage. Technical competencies: Knowledge of programming techniques and languages: proficiency in the C++ programming language; experience in programming high-performance computer architectures would be an advantage. Testing, diagnosing and optimization of software: proficiency with debugging and performance profiling tools for complex systems. Development of application software: knowledge of parallel data organization and programming for highly parallel I/O systems. Knowledge and application of software life-cycle tools and procedures. Re-use, refactoring, integration, and porting of existing software. Behavioural competencies: Solving problems: addressing complex problems by breaking them down into manageable components; producing workable and timely solutions that meet requirements. Achieving results: delivering high quality work on time and fulfilling expectations. 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. Language skills: Spoken and written English: the ability to draw-up technical specifications and scientific reports as well as make oral presentations. 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   15.01.2019 . Employment Conditions Contract type: Limited duration contract (3 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-2018-133-LD Benchmark Job Title: Computing Engineer Please make sure you have all the documents needed to hand as you start your application, as once it is submitted, you will not be able to upload any documents or edit your application further I'm interested