Terra AI is building a new category at the intersection of artificial intelligence, geoscience, and critical resource development.
As global demand for copper, lithium, nickel, rare earth elements, geothermal energy, and other strategic resources accelerates, the mining and subsurface industries face a growing challenge: traditional exploration methods remain slow, expensive, and highly uncertain. Terra AI was founded to help solve this problem by redefining how critical resources are discovered, evaluated, and developed.
By combining advanced machine learning, probabilistic modeling, and deep geoscience expertise, Terra AI helps exploration and mining companies make faster, more informed subsurface decisions with greater confidence and capital efficiency. The company’s platform integrates geological, geophysical, and drilling data into intelligent systems designed to improve targeting accuracy, accelerate discovery timelines, and reduce exploration risk.
Backed by leading investors including Khosla Ventures and working alongside strategic industry partners including Rio Tinto, Ero Copper, and Ramaco Resources, Terra AI is emerging as one of the more closely watched AI-native companies operating within the mining and critical minerals sector.
Terra AI’s mission is to define the new global standard for data-driven critical resource development — breaking the cost and time curve required to support electrification, energy security, and the global energy transition.
The company operates with a strong partnership mentality, combining technical rigor, candid communication, continual learning, and environmental stewardship to help modern exploration teams solve some of the world’s most important resource challenges.
Role
Productionize and extend internal modeling tools used to generate subsurface outputs. You will take software built around scientific workflows and make it robust, maintainable, and easier to run, inspect, and extend. This role is for someone who can bridge product-quality engineering with scientific computing.
This team is building a durable foundation for multiple scientific domains, including geophysics and reservoir simulation. Candidates may lean toward one or the other, but the core engineering shape is the same.
What you’ll do
Collaborate closely with domain experts to translate requirements into software that is correct, usable, and extensible.
Own and improve internal modeling stacks, including:
Refactoring and modularization for clarity and reuse
Testing strategies that match scientific software realities (golden tests, invariants, property-based testing where useful)
Performance profiling and optimization where it matters
Documentation and developer experience improvements
Design and implement APIs and interfaces that turn working examples into maintainable components.
Build configuration management patterns that make runs reproducible and debuggable.
Implement and maintain orchestration pipelines for simulation ensembles and data validation.
Work primarily in Python and Julia.
Integrate with ML-adjacent components and artifacts (inputs, outputs, model wrappers), without being responsible for inventing new ML methods.
Requirements
Strong software engineering fundamentals and proven ability to take ownership of complex codebases.
Production-grade Python skills.
Comfort working in Julia or willingness to go deep quickly.
Experience designing APIs, handling configuration, and building reliable execution paths for complex workflows.
Familiarity with performance profiling and optimization tooling.
Familiarity with ML frameworks at an integration level (PyTorch preferred, TensorFlow or JAX also relevant), including artifacts, I/O, and runtime concerns.
Experience with orchestration or workflow tooling (Flyte, Prefect, Dagster, or similar), or equivalent patterns built in-house.
Nice to have
Geophysics or geomodeling experience, including survey simulation or related tooling (SimPEG or similar).
Reservoir simulation experience (Eclipse, Intersect, JutulDarcy, or similar).
Experience solving PDE-based problems in HPC environments.
Familiarity with Fortran or C++ codebases common in scientific stacks.
Experience in simulation, CAD, CFD, or other engineering/scientific software domains.
Experience supporting scientific users and workflows, where communication and shared language matter.
Experience with batch pipelines and data-intensive systems.