HPC Developer (C++)
Forty-Five Consulting Group is a boutique executive search firm based in Houston, Texas. It was founded on the principle of getting back to basics in recruiting. Our goal is to present our clients with quality talent while providing a positive experience for our candidates.
Please visit www.fortyfivegroup.com for more career opportunities.
We are actively interviewing candidates for an HPC Developers (C++) opportunity.
Summary
The HPC Developer candidates are focused on harnessing computational power to solve complex problems across research and geoscience domains. A software engineer working in this area is expected to have the curiosity and ingenuity required to quickly learn a knowledge domain well enough to interact effectively with ExxonMobil experts in that domain. Our team members have diverse backgrounds in computational sciences. The software engineer will support and develop geoscience applications for the Subsurface Imaging team. The Subsurface Imaging team is within ExxonMobil IT and partners with upstream researchers to deliver advanced seismic imaging solutions. Our technology leverages a world-class High-Performance Computing system and enables geoscientists to gain insights into where to find oil and gas, providing significant competitive advantages.
Primary Job Functions:
-
Work on a scrum team as a software developer to develop and support proprietary applications used for seismic imaging
-
Collaborate closely with researchers to enable their research and to commercialize prototype research code
-
Support internal business partners that are globally distributed
-
Optimize applications to improve HPC system utilization and to increase the throughput of seismic processing projects
-
Collaborate with HPC systems team and geoscientists to influence decisions regarding future hardware/system upgrades
Job 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 that use parallel computing; strong understanding of code complexity and the performance implications of various algorithms
-
OS: Experience in a Linux environment
-
Able to work well in a diverse team environment
-
Strong verbal and written communication skills for effective collaboration and mentoring
-
Self-motivated and driven to learn
-
Safety-oriented mindset – safety and well-being of our employees are our highest priority
Preferred Knowledge/Skills/Abilities:
-
Python, modern C++ (i.e., C++11 and later), Unix shell scripting languages (BASH primarily)
-
Object-oriented design principles
-
Parallel computing technologies (e.g. OpenMP, MPI, CUDA)
-
Source control and work item tracking systems (e.g., Git, TFS)
-
Experience with using third-party APIs
-
Experience following an Agile (Scrum) software development process
-
Experience in the seismic exploration domain