What are the responsibilities and job description for the C++ Software Engineer - Scientific position at Pantheon?
Responsibilities
- Develop and support seismic imaging applications as part of a Scrum team.
- Work through a shared backlog with engineers in Houston and India.
- Partner with geoscientists and researchers to understand their needs and solve scientific problems.
- Turn prototype research code into reliable production software.
- Tune applications so they make better use of the HPC system and speed up seismic processing projects.
- Support business partners around the world.
- Help the HPC systems team and geoscientists plan future hardware and system upgrades.
Required Qualifications
- 10 years of C/C experience on scientific computing code that runs in parallel
- Modern C (C 11 and later)
- Python and Bash shell scripting in a Linux environment
- Experience building simulation-based software
- Experience working with third-party application programming interfaces (APIs)
- Strong grasp of code complexity and how algorithm choices affect performance
- A degree in computer science, software engineering, engineering, applied mathematics, computational science, or a related field
Preferred Qualifications
- Experience in seismic imaging, geoscience, or oil and gas
- Message Passing Interface (MPI), plus OpenMP or CUDA
- Profiling and performance tuning with tools like Intel VTune, NVIDIA Nsight, or gprof
- Object-oriented design
- Git and Azure DevOps (ADO)
- Experience on an Agile Scrum team
- Clear written and spoken communication, including mentoring others
- You take initiative, enjoy a hard scientific problem, and put safety first.