HPC Software Engineer – Advanced

Numerical Algorithms Group
Onsite

About The Position

Computational Scientist candidates are focused on harnessing computational power to solve complex problems across research and geoscience domains. A software engineer in this role is expected to have the curiosity and ingenuity to quickly learn a knowledge domain and interact effectively with subject matter experts. Our team brings together diverse backgrounds in computational sciences. In this role, you will develop and support geoscience applications for a subsurface imaging team, within a central technology organisation, partnering closely with researchers to deliver advanced seismic imaging solutions. Our technology leverages a world-class high-performance computing (HPC) environment to process large-scale seismic data, enabling geoscientists to gain critical insights into subsurface structures and support high-value exploration decisions.

Requirements

  • Degree in Computer Science, Software Engineering, Engineering, Applied Mathematics, Computational Science, or related field
  • Several years of C/C++ experience with scientific computing codes and applications using parallel computing, with a strong understanding of algorithmic complexity and performance implications
  • Experience working in a Linux environment
  • Ability to work effectively in a diverse, cross-functional team
  • Strong verbal and written communication skills for effective collaboration, mentoring, and knowledge sharing
  • Self-motivated and driven to learn and grow
  • Safety-oriented mindset – the safety and well-being of employees is a top priority

Nice To Haves

  • Python, modern C++ (C++11 and later), and Unix shell scripting (primarily BASH)
  • Strong understanding of object-oriented design principles
  • Experience with parallel computing technologies (e.g., OpenMP, MPI, CUDA)
  • Familiarity with source control and work tracking tools (e.g., Git, TFS)
  • Experience integrating or working with third-party APIs
  • Experience working in an Agile (Scrum) software development process
  • Knowledge of simulation software development, particularly in seismic imaging or geoscience domains
  • Experience with performance analysis tools (Intel VTune, NVIDIA Nsight, gprof)

Responsibilities

  • Work within a scrum team as a software developer to develop and support proprietary applications used for seismic imaging
  • Collaborate closely with researchers to support ongoing research and help transition prototype code into production-ready applications
  • Support internal business partners across a globally distributed user base
  • Optimize applications to improve HPC system utilization and increase throughput of seismic processing workloads
  • Collaborate with HPC systems engineers and geoscientists to influence decisions on future hardware and system architecture

Benefits

  • comprehensive benefits package including a competitive salary (dependent on your experience)
  • 401(k) plan with company match up to 5%
  • health, dental, life, short-term and long-term disability insurance
  • 20 vacation days, with an additional 4 days mandatorily taken between Christmas and New Year’s holidays, as well as paid sick days and maternity and paternity leave
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service