- Develops high-performance technical computing applications in the areas of Oil and Gas exploration techniques.
- Designs new software tools, and refactors existing tools, to take advantage of object-oriented structures and software architecting best practices.
- Develops and implements algorithms that exploit high-performance compute clusters.
- Researches and utilizes AI techniques to solve domain-specific problems.
- Works with department analysts to develop new algorithms and processes to extend tool capabilities.
- Works both independently and on small teams; interacts with program office and global customers.
- Contributes to technical reports, user documentation, regular status reports, and other presentations to disseminate findings, guidance, and technical information to as wide an audience as possible
- Bachelor’s Degree in Computer Science, Computer Engineering, or equivalent combination.
- 0 – 3 years of experience as a Software Engineer.
- High proficiency in C and/or C++ programming language.
- Proficiency in one or more of the popular scripting languages such as Python, Julia, or R.
- Good Knowledge of object-oriented design.
- Good knowledge of version control.
- Deep understanding of software design, programming techniques, and algorithms.
- Excellent communication skills and experience working in a collaborative environment.
- Excellent Command of English written & verbal.
Basic knowledge in one or more of the following:
- Hardware Architecture
- Software Architecture
- High-Performance Computing
- Data Science
Knowledge in one of the following areas is a plus:
- Numerical solvers and/or numerical methods e.g., Finite Difference/Element/Volume Method.
- Proficiency in one or more of the parallel libraries/languages such as MPI, OpenMP, OneAPI, and CUDA.
- Code profiling and optimization.
- Basic knowledge of CI/CD tools.
- Basic knowledge of Containers [Docker].