Publié il y a 5 jours
Senior Software Engineer – Computational Algorithms
@ GeoSoftware
Calgary, Alberta
En bref
GeoSoftware is hiring a Senior Software Engineer for its Digital Platform team to modernize numerical geoscience algorithms into headless, testable components. The role combines C++ and Python work, algorithm research and optimization, and prototyping with subject matter experts. The posting states a full-time, remote, multi-time-zone team arrangement with at least 5 years of numerical or performance-critical computing experience required.
Responsabilités :
- Separate established numerical C++ code into headless, testable components
- Investigate and implement substantial algorithm speed-ups
- Prototype with subject matter experts and iterate on the science
- Build regression harnesses comparing parallel output to single-threaded reference
- Expose C++ to Python via pybind11
Résumé des exigences :
- Physics, geoscience, or applied mathematics degree or equivalent
- Minimum 5 years of numerical or performance-critical computing
- Strong modern C++ in a production codebase
- Strong Python including the scientific stack
- Parallel programming and performance optimization experience
- Fluent written and spoken English
Outils et compétences
Source et dates
Site carrière / système de candidatures · bamboohr
- Date publiée par l’employeur
- 2026-11-01
- Première détection par notre source
- 2026-11-02
- Mise à jour du dossier source
- 2026-11-02
Ces dates décrivent le dossier source, pas une vérification en direct du recrutement. Consultez l’offre originale.
Détails du poste
| Niveau | Senior |
| Domaine | Développement logiciel |
| Expérience | 5 an(s) et plus |
| Heures par semaine | 40 (estimé) |
| Déplacements | avion : aucun · route : aucun |
| Milieu de travail | Domicile |
| Position | Surtout assis |
| Exigences physiques | physique faible · ordinateur élevé |
| Langues | English |
| Formation | Baccalauréat (exigé), Maîtrise (préféré) |
| Domaines d’études | Physics, Geophysics, Geoscience, Applied mathematics |
Résumé et détails rédigés par l’IA à partir de l’offre; l’offre de l’employeur fait foi.
GeoSoftware
Profil d’entreprise sauvegardé
Renseignements historiques provenant d’un profil The Jobs API sauvegardé (champs LinkedIn/Crunchbase). Ils ne sont pas vérifiés en temps réel; les chiffres peuvent avoir changé. Les valeurs manquantes restent inconnues.
Global trusted partner for innovative subsurface software technology and consulting services. #ReservoirExperts
Description complète de l’entreprise
GeoSoftware is the global trusted partner for subsurface geoscience software and consulting services. We enable the global energy industry to make the most efficient and accurate decisions that responsibly deliver global energy security. Our solutions include HampsonRussell, Jason, PowerLog, InsightEarth, and Professional Services.
- Abonnés LinkedIn
- 16 570
- Personnes associées sur LinkedIn
- 128
- Bureaux déclarés
- Houston, Texas 77072, US
- Catégories d’activité
- Software
- Enterprise Software
- Autres noms enregistrés
- GeoSoftware
- Spécialités
- Reservoir Characterization
- Petrophysics
- Well Path Planning
- Software
- Oil & Gas
- Exploration
- E&P
- Seismic Inversion
- Geoscience
- Machine Learning
- AI
- subsurface
- geothermal
- wind farm
- ccus
- carbon capture
- new energy
- energy transition
- rock physics
- seismic interpretation
- professional services
- and services
- Le profil indique une agence de recrutement
- Non
GeoSoftware is the global trusted partner for subsurface geoscience software and consulting services. We enable the global energy industry to make the most efficient and accurate decisions that responsibly deliver global energy security. Our solutions include HampsonRussell, Jason, PowerLog, InsightEarth, and Professional Services.
| Champ | Valeur |
|---|---|
| Secteur | Oil and Gas |
| Taille | 51-200 employees |
| Siège social | Houston, Texas |
| Type d’organisation | Public Company |
| Spécialités | Reservoir CharacterizationPetrophysicsWell Path PlanningSoftwareOil & GasExplorationE&PSeismic InversionGeoscienceMachine Learning |
| Offres sur Jobsy | 4 |
| Voir la page |
About GeoSoftware
GeoSoftware is a global leader in Geoscience Software and provides a comprehensive range of software solutions that support our clients to achieve their goals. Our tools help our clients to develop a better understanding of the subsurface, manage exploration and development risks, and quantify reserves more accurately with our advanced geoscience technology.
Working at GeoSoftware is all about passion and sharing our ambition for ongoing technological innovation. We have more than 150 employees, spread over 18 different countries. Our people are our most important asset and developing our talents is a priority. As part of GeoSoftware, you will work with international and diverse teams of experts in an environment of excellence, which will enable you to create your own opportunities and realize your full potential.
Job Summary
We are looking for an experienced computational engineer to join our Digital Platform team.
You would work on the numerical core of our geoscience software: algorithms that have been in production use across the industry for two decades, which we are modernizing into headless, independently testable, independently deployable components that run correctly and quickly across hundreds of cores.
You would write the tests that show an optimized version still gives the same answer.
This is as much a research role as an engineering one. A large part of it is finding the faster way: reading the literature, questioning an algorithm's formulation rather than only its implementation, and knowing when an order-of-magnitude gain is sitting in the mathematics rather than in the loop. The other part is working directly with subject matter experts—building quick prototypes with them, putting something in front of them within days, and iterating on it until the science is right, before any of it is hardened into production code.
We are looking for a physics or geoscience background and strong Python alongside C++.
You would work in a small, senior, distributed team alongside platform and front-end engineers, and with geoscientists who use the results professionally every day.
Duties and Responsibilities
Algorithm Development and Modernization
- Separate established numerical code from the application framework it grew up in, producing headless, testable, independently deployable components
- Work inside a large, mature, sparsely documented C++ codebase and leave it better understood than you found it
- Define each algorithm's interface—its inputs, outputs and parameters—precisely enough that the surrounding platform can validate, present and re-run it without knowing what the algorithm does
- Expose C++ to Python through pybind11, with attention to memory ownership, the GIL and zero-copy array handling
Research, Prototyping, and Optimization
- Investigate how an algorithm can be made substantially faster — reformulation, better numerical methods, exploiting structure in the problem — not only tuning the code that implements it
- Follow the relevant literature, and evaluate published approaches honestly against what we already have
- Build quick prototypes in Python with subject matter experts, iterate with them on the science, and only then decide what deserves to become production C++
- Profile and optimize: vectorization, cache behavior, memory layout, threading and choice of numerical library
- Decompose algorithms for parallel execution, and reason rigorously about what that does to floating-point reproducibility
- Work with the platform engineers on how compute is distributed and on the seam between native code and the execution layer
Verification
- Build the regression harness that validates parallel and distributes output against the single-threaded reference
- Define and justify the acceptance tolerance for each algorithm family
- Write characterization tests before refactoring and regression suites that catch what code review will not
Collaboration and Delivery
- Work in short iterations with continuous integration, code review and acceptance criteria agreed before implementation
- Work with geoscience domain experts to confirm that a result is not only numerically equal but scientifically sound
- Contribute to the technical direction of a small team, and write down the decisions that matter
Skills and Competencies
Skills:
- Strong modern C++ with real numerical computing experience—linear algebra, signal processing, transforms, optimization, or inversion
- Strong Python, including the scientific stack—NumPy, SciPy, and the array-programming idiom—and experience binding native code to it
- A physics, geophysics, or applied mathematics grounding and the ability to read a paper and implement what it describes
- Solid grounding in floating-point behavior, numerical stability, and error analysis
- Parallel programming: threading, SIMD, and the trade-offs of data decomposition
- Ability to work productively inside a large, unfamiliar, poorly documented codebase
- Prototyping speed: able to get something working and demonstrable in front of a domain expert quickly and comfortable throwing it away
- A test-first instinct and the patience to establish a baseline before changing anything
- Strong written English and the habit of documenting asynchronously
Competencies:
- Rigour, and comfort with being held to a numerical standard
- Ownership and self-direction
- Pragmatic judgement about where complexity is worth it
- Collaboration across disciplines
- Technical expertise (numerical and scientific computing)
- Alignment with company interest
Qualifications & Requirements
Required:
- Degree in physics, geophysics, geoscience, applied mathematics, or a closely related quantitative discipline, or demonstrable equivalent depth in a quantitative discipline. A postgraduate degree is welcome but not required
- Minimum 5 years of professional experience in numerical, scientific or performance-critical computing
- Strong Python, including the scientific stack, and experience at the native-to-Python boundary
- Demonstrable modern C++ experience in a production codebase
- Demonstrable experience with parallel programming and performance optimization
- A genuine interest in making algorithms faster and in the research that leads there
- Experience working directly with scientists or other domain experts and prototyping collaboratively with them
- Able to work effectively in a small, remote, multi-time-zone team: writing things down, communicating asynchronously, and operating without close supervision
- Fluent written and spoken English
Desired:
- Geophysics or seismic processing background
- Published research, or a research background in a computational discipline
- Experience with inversion, deconvolution, transforms, or wavelet estimation
- Distributed compute frameworks—Dask, Ray, or MPI—or GPU computing
- Performance work with BLAS, LAPACK, FFTW, or Eigen
- Petrophysics or well-log computation
- Cloud-native, chunked array storage formats
- Experience extracting library code out of a monolithic application
- Fluent with AI coding tools for prototyping, test generation, and refactoring, with the judgement to know where their output must be verified rather than trusted
We value the unique ways in which we differ, and we are committed to equal employment opportunities for all professionals.
Journal
Visible seulement par vous. Conservé sur cet appareil, et dans votre compte une fois connecté.