Senior Software Engineer - Computational Algorithms
GeoSoftware
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 SummaryWe 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 ResponsibilitiesAlgorithm Development and ModernizationSeparate established numerical code from the application framework it grew up in, producing headless, testable, independently deployable componentsWork inside a large, mature, sparsely documented C++ codebase and leave it better understood than you found itDefine 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 doesExpose C++ to Python through pybind11, with attention to memory ownership, the GIL and zero-copy array handling
Research, Prototyping, and OptimizationInvestigate how an algorithm can be made substantially faster - reformulation, better numerical methods, exploiting structure in the problem - not only tuning the code that implements itFollow the relevant literature, and evaluate published approaches honestly against what we already haveBuild 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 libraryDecompose algorithms for parallel execution, and reason rigorously about what that does to floating-point reproducibilityWork with the platform engineers on how compute is distributed and on the seam between native code and the execution layer
VerificationBuild the regression harness that validates parallel and distributes output against the single-threaded referenceDefine and justify the acceptance tolerance for each algorithm familyWrite characterization tests before refactoring and regression suites that catch what code review will not
Collaboration and DeliveryWork in short iterations with continuous integration, code review and acceptance criteria agreed before implementationWork with geoscience domain experts to confirm that a result is not only numerically equal but scientifically soundContribute to the technical direction of a small team, and write down the decisions that matter
Skills and CompetenciesSkills:Strong modern C++ with real numerical computing experience-linear algebra, signal processing, transforms, optimization, or inversionStrong Python, including the scientific stack-NumPy, SciPy, and the array-programming idiom-and experience binding native code to itA physics, geophysics, or applied mathematics grounding and the ability to read a paper and implement what it describesSolid grounding in floating-point behavior, numerical stability, and error analysisParallel programming: threading, SIMD, and the trade-offs of data decompositionAbility to work productively inside a large, unfamiliar, poorly documented codebasePrototyping speed: able to get something working and demonstrable in front of a domain expert quickly and comfortable throwing it awayA test-first instinct and the patience to establish a baseline before changing anythingStrong written English and the habit of documenting asynchronously
Competencies:Rigour, and comfort with being held to a numerical standardOwnership and self-directionPragmatic judgement about where complexity is worth itCollaboration across disciplinesTechnical expertise (numerical and scientific computing)Alignment with company interest
Qualifications & RequirementsRequired: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 requiredMinimum 5 years of professional experience in numerical, scientific or performance-critical computingStrong Python, including the scientific stack, and experience at the native-to-Python boundaryDemonstrable modern C++ experience in a production codebaseDemonstrable experience with parallel programming and performance optimizationA genuine interest in making algorithms faster and in the research that leads thereExperience working directly with scientists or other domain experts and prototyping collaboratively with themAble to work effectively in a small, remote, multi-time-zone team: writing things down, communicating asynchronously, and operating without close supervisionFluent written and spoken English
Desired:Geophysics or seismic processing backgroundPublished research, or a research background in a computational disciplineExperience with inversion, deconvolution, transforms, or wavelet estimationDistributed compute frameworks-Dask, Ray, or MPI-or GPU computingPerformance work with BLAS, LAPACK, FFTW, or EigenPetrophysics or well-log computationCloud-native, chunked array storage formatsExperience extracting library code out of a monolithic applicationFluent 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.
#J-18808-Ljbffr
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 SummaryWe 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 ResponsibilitiesAlgorithm Development and ModernizationSeparate established numerical code from the application framework it grew up in, producing headless, testable, independently deployable componentsWork inside a large, mature, sparsely documented C++ codebase and leave it better understood than you found itDefine 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 doesExpose C++ to Python through pybind11, with attention to memory ownership, the GIL and zero-copy array handling
Research, Prototyping, and OptimizationInvestigate how an algorithm can be made substantially faster - reformulation, better numerical methods, exploiting structure in the problem - not only tuning the code that implements itFollow the relevant literature, and evaluate published approaches honestly against what we already haveBuild 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 libraryDecompose algorithms for parallel execution, and reason rigorously about what that does to floating-point reproducibilityWork with the platform engineers on how compute is distributed and on the seam between native code and the execution layer
VerificationBuild the regression harness that validates parallel and distributes output against the single-threaded referenceDefine and justify the acceptance tolerance for each algorithm familyWrite characterization tests before refactoring and regression suites that catch what code review will not
Collaboration and DeliveryWork in short iterations with continuous integration, code review and acceptance criteria agreed before implementationWork with geoscience domain experts to confirm that a result is not only numerically equal but scientifically soundContribute to the technical direction of a small team, and write down the decisions that matter
Skills and CompetenciesSkills:Strong modern C++ with real numerical computing experience-linear algebra, signal processing, transforms, optimization, or inversionStrong Python, including the scientific stack-NumPy, SciPy, and the array-programming idiom-and experience binding native code to itA physics, geophysics, or applied mathematics grounding and the ability to read a paper and implement what it describesSolid grounding in floating-point behavior, numerical stability, and error analysisParallel programming: threading, SIMD, and the trade-offs of data decompositionAbility to work productively inside a large, unfamiliar, poorly documented codebasePrototyping speed: able to get something working and demonstrable in front of a domain expert quickly and comfortable throwing it awayA test-first instinct and the patience to establish a baseline before changing anythingStrong written English and the habit of documenting asynchronously
Competencies:Rigour, and comfort with being held to a numerical standardOwnership and self-directionPragmatic judgement about where complexity is worth itCollaboration across disciplinesTechnical expertise (numerical and scientific computing)Alignment with company interest
Qualifications & RequirementsRequired: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 requiredMinimum 5 years of professional experience in numerical, scientific or performance-critical computingStrong Python, including the scientific stack, and experience at the native-to-Python boundaryDemonstrable modern C++ experience in a production codebaseDemonstrable experience with parallel programming and performance optimizationA genuine interest in making algorithms faster and in the research that leads thereExperience working directly with scientists or other domain experts and prototyping collaboratively with themAble to work effectively in a small, remote, multi-time-zone team: writing things down, communicating asynchronously, and operating without close supervisionFluent written and spoken English
Desired:Geophysics or seismic processing backgroundPublished research, or a research background in a computational disciplineExperience with inversion, deconvolution, transforms, or wavelet estimationDistributed compute frameworks-Dask, Ray, or MPI-or GPU computingPerformance work with BLAS, LAPACK, FFTW, or EigenPetrophysics or well-log computationCloud-native, chunked array storage formatsExperience extracting library code out of a monolithic applicationFluent 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.
#J-18808-Ljbffr
Vacancy posted 1 hour ago
Similar jobs that could be interesting for youBased on the Senior Software Engineer - Computational Algorithms in Winnipeg, MB vacancy
- Advance numerical algorithms at GeoSoftware with strong Python and modern C++ in a distributed, senior engineering team. Work across geoscience software.As an experienced computational engineer, you will modernize numerical cores into headless, testable, independently deployable...Senior
- Drive innovation as a Software Engineer specializing in evaluation algorithms for autonomous technologies. Leverage your real-world experience in Python and machine... ...excellence Requirements: • Minimum 2 years in computer science or machine learning • Expertise in Python...Suggested
- ...Senior Back End Software Engineer Canada, United Kingdom, United States 1 gün 9 saat 9 dakika önce yayınlandı. Full Time Himalayas - Our software engineers... ...goals. Qualifications Bachelor's degree in Computer Science, Software Engineering, or related field, or equivalent...SeniorFull time
- ...HVDC Design Engineer (Electrical/Computer Engineer) Winnipeg, MB Manitoba Hydro is consistently recognized... ...energy. We are seeking a Senior HVDC Design Engineer to join the Station... ...systems, monitoring systems including software and hardware design experience or related...SeniorHourly payRemplacementLong term contractFor contractorsInternship
- Build critical algorithmic trading software at DRW in Montreal, applying scalable engineering practices to tools used by traders and researchers.As a Software Developer, you... ...for algorithmic strategies. You will work with senior technologists and engage development teammates...Senior
- ...Build AI Inference Networking software at Equinix using SDN, proxying, and open-source engineering expertise. Work within a globally distributed development team. As a Senior SDN Network Software Engineer, you will help develop open-source software for Equinix’s AI Inference...Senior
$209k - $269k per year
...tradeoffs on what matters most. Affirm's engineering team is building a large-scale, highly-... ...incident response and analysis. The Compute Platform team owns the EKS foundation that... ...affirm's needs Qualifications10+ years in software or infrastructure engineering with proven...SeniorWork at officeRemote workFlexible hours- ...automation solutions, is seeking a highly skilled and experienced Senior Computer Vision Engineer to join their innovative team. This role is designed for... ..., developing, and deploying advanced computer vision algorithms and systems that solve real-world problems. The ideal...SeniorRemote workFlexible hours
- Lead Photonic’s software strategy for scalable quantum computing from British Columbia in a hybrid executive role. Shape AI-enabled engineering across complex technical systems.As Vice President of Software Engineering, you will guide software systems, simulations, compilers...
- ## Senior Computer Systems EngineerApply: CA.ON.Mississauga.2285 Speakman Drive: Full time: Posted... ...'s largest private sector nuclear engineering groups. We have been providing a wide range... ...procedures for their use in computer software design, development and verification &...SeniorFull timeInternshipFlexible hours
- Advance computational biology through analytical platforms and data science in a hybrid... ....Agilus by Synergie is recruiting a Senior Bioinformatics Engineer for an experienced professional in... ...computational biology, data science, and software engineering with collaborative...Senior
- Be a key player at Synopsys as a Senior Computational Photonics Engineer, focusing on enhancing simulation technologies for cutting-edge AI products. Drive... ...: • Develop and improve photonic simulation software • Implement efficient simulation methods and workflows •...Senior
- ...for GeoSoftware’s geoscience platform across diverse compute environments.As a Senior HPC and Platform Engineer, you will own execution, deployment, and delivery... ...security, and performance expertise to GeoSoftware’s execution platform for geoscience software. #J-18808-LjbffrSeniorLocal areaRemote work
- ...Canada’s largest private sector nuclear engineering groups. We have been providing a wide range... ...technical guidance and leadership to Computer Systems Engineering staff at lower grade... ...needed for the production of safety critical software. Execute software engineering tasks...SeniorInternshipFlexible hours
$138k - $190k per year
Senior Algorithm Researcher [631]D-Wave Quantum Inc. Burnaby, British Columbia, Canada About this positionD-Wave Quantum Inc. (NASDAQ... ...) is a leader in the development and delivery of quantum computing systems, software, and services. It is the world’s first commercial...SeniorLocal area- ...and running more efficient practices. Role DescriptionAs a Senior Software Engineer at Vylan, you will design, develop, and maintain core... ...in Montreal, QC. Qualifications Strong foundation in Computer Science principles, including data structures, algorithms, and...SeniorFull time
- ...strategies, is seeking an exceptional Senior Quantitative Developer to... ...to work at the forefront of algorithmic trading, designing,... ...proven ability to deliver complex software solutions in a fast-paced, collaborative... ...reliability in a distributed computing environment. Contribute to...SeniorRemote work
$145k - $193k per year
...About the TeamAs part of the Bet Engine team, you will be working... ...resilient, accurate, best‑in‑class software platform to drive sportsbook... ...A solid foundation in computer science, with strong competencies... ..., distributed systems, algorithms, and software design Strong...Senior- ...AI and Machine Learning startup, is seeking an exceptional Senior Software Engineer to join their fully remote team. This is a unique opportunity... ...and data. Requirements Master's or Bachelor's degree in Computer Science, Software Engineering, or a related quantitative field...SeniorRemote workHome office
$140k per year
...they happen. Our systems run in production and are used daily by our clients. The roleWe are looking for a Machine Learning & Algorithms Engineer with a strong mathematical background. You will design the models and algorithms at the core of our systems: optimization,...Remote work- ...OVERVIEWVolatus Aerospace is seeking a Computer Vision Engineer to develop and deploy vision and image... ...positioning. Working with hardware, software, controls, and test teams, the engineer... ...RESPONSIBILITIES Scene recognition: Develop algorithms to recognize operational areas,...Temporary workRemote workMonday to friday
$145k - $191k per year
Overview Join to apply for the Senior Software Engineer - Backend role at DatabricksDatabricks is on a mission to simplify and democratize... ...app builder AI agents.What We Look For BS (or higher) in Computer Science, related technical field or equivalent practical...SeniorSummer workWorldwide- ...role. A well-established quantitative trading firm is seeking Senior Software Engineers to architect and own the core infrastructure that powers... ...quantitative trading. Their engineers build systems that execute algorithmic strategies based on real-time market behavior, achieving a...SeniorWork at officeLocal areaWorldwide
- ...SystemsBentley Systems is a global leader in software solutions for infrastructure engineering. Our technology empowers engineers... ...a talented and experienced Senior Software Developer to join our... ...'s or Master's degree in Computer Science, Software Engineering, or...SeniorApprenticeshipWork at office
$135k - $165k per year
ROLE: SENIOR SOFTWARE ENGINEERTEAM: PRODUCTLOCATION: TORONTO (HYBRID) COMPANY OVERVIEWSalt is... ...ROLE OVERVIEWJoin us as a Senior Software Engineer building the next generation of AI... ...& SKILLS BSc or Bachelor's degree in Computer Science, Statistics, Software Engineering...SeniorLong term contractSeasonal work- ...deliverables. The ideal candidate will be part of a collaborative software engineering team working on Spring Boot, Microservices, Kafka, NoSQL,... ...skills Education: Bachelors or equivalent in computer science or related field is preferred Location(s): Canada...SeniorFlexible hours
$154k - $176k per year
...through AI and machine learning. As an AI-Driven Full Stack Engineer, you'll be part of a team charting new territory -... ...ML systems Deep expertise in AI/ML domains like NLP, computer vision, recommendation engines etc. Proficiency with cloud infrastructure, distributed...SeniorWork at officeRemote workWork from home- ...modular, and API-centric · Provide software design recommendations to the... ...Manager and Chief Software Engineer · Evaluate operational... ...Bachelor's degree or higher in Computer Science, Information Technology... ...Systems, or related STEM field · Senior-level experience deploying microservices...SeniorLong term contractContract workTemporary work
- ...Silicon Valley innovation, industrial engineering, and computer science. With a team of forward-thinkers... ...globally. Ndustrial builds software that helps the world's largest food, cold... ...About the Role: Ndustrial is hiring a Senior Software Engineer to help design and build...SeniorWork at officeLocal areaFlexible hours
$115k - $145k per year
...business results.Your Role at impact.Com: As a Full Stack Software Engineer at impact.Com, you'll work on a global team, building real time... ...solutionsThrives independently and when collaborating within a teamB.S. in Computer Science or equivalent professional experienceTools & Skills...SeniorLong term contractTemporary workLocal areaRemote workHome officeFlexible hours
Do you want to receive more vacancies?
Subscribe and receive similar vacancies to Senior Software Engineer - Computational Algorithms. Be the first to apply!
Related searches
- software engineer part time Winnipeg, MB
- software engineer Winnipeg, MB
- software design engineer Winnipeg, MB
- software engineer - computer Winnipeg, MB
- software developer internship no experience Winnipeg, MB
- ingénieur logiciel Winnipeg, MB
- software engineer co-op Winnipeg, MB
- software development engineer Winnipeg, MB
- software developer Winnipeg, MB
- software engineer - ai machine learning Winnipeg, MB

