Performance Software Engineer (IT-GOV-INN-2024-99-LD)

negotiable / YEAR Expires in 4 weeks

JOB DETAIL

JOB DETAILS:

European Council for Nuclear Research Performance Software Engineer (IT-GOV-INN-2024-99-LD) Switzerland CERN Jobs 2024

European Council for Nuclear Research looking for “Performance Software Engineer (IT-GOV-INN-2024-99-LD)”. Applicants with an Advanced degree may apply on or before 04-Aug-24.

The European Council for Nuclear Research has published a job vacancy announcement on 04/07/2024 for qualified applicants to fill in the vacant post of Performance Software Engineer (IT-GOV-INN-2024-99-LD) to be based in Geneva , Switzerland. For more jobs, please visit https://unjoblink.org

Company Name: European Council for Nuclear Research

Job Title: Performance Software Engineer (IT-GOV-INN-2024-99-LD)

Duty Station: Geneva , Switzerland

Country: Switzerland

Application Deadline: 04-Aug-24

 

Responsibilities:

  • Software development for the cross-community computing projects
  • Research and development of methods/approaches for the effective use of computing accelerators
  • Development of concepts to improve the portability and sustainability of High Energy Physics (HEP) software
  • Contribution to training and dissemination activities related to these areas
  • Supervision of junior team members

As a Software Engineer, you will work on several of the following topics:

  • Contribute to cross-community development projects. In these projects, the team collaborates with the core development teams of the large scientific software packages to improve their performance and adapt them to the changes in the computing infrastructure.
  • Evaluate and apply libraries and frameworks for the abstraction of hardware accelerators. The basis of these studies will be the work with components of the HEP software stack such as event generator codes.
  • Help the community in the process to make efficient use of modern HPC systems. The focus will be to develop strategies based on practical experience.
  • HEP code has a very long lifetime and the code contains contributions of hundreds of scientists, with many of them no longer part of the community. Based on your work with these codes you will suggest approaches and methodologies to improve their portability and sustainability.
  • Prepare training and information material related to your field of expertise and actively communicate the results of your work to the relevant stakeholders in the physics and computing communities.
  • Actively build collaborative relationships with the developer and user communities of HEP software at CERN by participating in workshops, conferences and informal exchange of information.

Master’s degree or PhD or equivalent relevant experience in the field of Theoretical or Experimental Physics or Computer Science or a related field.

Experience:

The ideal candidate should have demonstrated experience in several of the following areas:

  • Extensive experience with modern C++ in a Linux/UNIX environment, including tools for building, debugging, and performance analysis
  • Understanding the principles of High Energy Physics simulation, particularly Monte Carlo event generation, is a plus
  • Significant experience developing code for accelerators, such as GPUs or FPGAs
  • Experience in refactoring or porting large codebases (over 100k source lines of code)
  • Background in supporting scientific code on HPC systems or familiarity with components of the HEP software stack
  • Experience with accelerator abstraction frameworks such as Alpaka, Kokkos, oneAPI, SYCL, OpenCL, or OpenMP

Technical competencies:

  • Development of application software: familiarity with state-of-the-art software development, testing and optimization
  • Re-use, refactoring, integration and porting of existing software
  • Knowledge and application of software life-cycle tools and procedures
  • Understanding of modern computing architectures
  • User relationship management

Behavioural competencies:

  • Achieving results: delivering prompt and efficient service taking into account customer needs
  • Working in teams: understanding when teamwork is required to achieve the best results; including others accordingly and sharing information
  • Solving problems: identifying, defining and assessing problems, taking action to address them Adopting a pragmatic approach; understanding the value of adopting generic rather than ‘gold -plated’ technical solutions
  • Demonstrating flexibility: readily absorbing new techniques and working practices; proposing new or improved ways of working
  • Learning and sharing knowledge: sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer

Language skills:

Spoken and written English: ability to understand and speak the language in professional contexts. Ability to draw-up technical specifications and/or scientific reports and to make oral presentations.

Geneva, Switzerland