Senior Software Engineer - Rock Physics
Listed on 2026-10-17
-
Software Development
Software Engineer, Software Architect, Senior Developer, Full Stack Developer
This is a hands-on software engineering role. We are looking to recruit an experienced Senior Software Engineer to design, develop, and modernize high-performance Rock Physics desktop and cloud applications. Reporting to the Team Lead and working closely with the Product Owner, you will own the technical direction of production software - writing code daily, reviewing pull requests, and driving architectural decisions.
Key Responsibilities- Design & build software
- Architect, implement, and maintain complex desktop and cloud applications using modern software engineering practices (design patterns, SOLID principles, automated testing, continuous integration/delivery). - Modernize legacy systems
- Lead migration of mature C/C++ codebases to modern languages, runtimes, and UI/UX frameworks while preserving scientific accuracy and performance. - Leverage AI-assisted development
- Actively adopt AI-powered tools (e.g., Copilot, code-generation, automated testing assistants) to accelerate delivery and improve code quality.
Collaborate on architecture
- Partner with the Team Lead and Product Owner to translate requirements into sound, maintainable technical solutions the team can implement and iterate on. - Mentor & lead technically
- Coach junior and mid-level developers through code reviews, pair programming, and knowledge-sharing; foster a culture of engineering excellence.
Communicate clearly - Escalate risks, trade-offs, and progress in a timely, structured manner to technical and non-technical stakeholders.
Stay current - Continuously evaluate and adopt emerging languages, frameworks, cloud services, and AI/ML tooling relevant to the product.
- 5+ years of professional software engineering building and shipping complex, production-grade applications - not solely scripting, prototyping, or research.
Strong proficiency in C#/.NET; and also C/C++; demonstrated ability to work across both languages in a single product ecosystem. Undergraduate (or higher) degree in Computer Science, Software Engineering, or a closely related engineering discipline. - Comfort and curiosity with AI-assisted development tools and a track record of staying ahead of technology trends. Experience with cloud architecture (AWS, Azure, and/or Google Cloud). Proven experience with software engineering fundamentals: object-oriented and component-based design, design patterns, unit/integration testing, version control (Git), and code review workflows. Hands-on CI/CD experience - building, configuring, or maintaining automated build and deployment pipelines.
- Experience modernizing legacy software - migrating codebases from older languages or frameworks to current platforms, including UI/UX modernization.
Self-motivated and collaborative; thrives in a team environment and takes initiative without direction. Excellent analytical, communication, and problem-solving skills.
Job Duties
This is a hands-on software engineering role. We are looking to recruit an experienced Senior Software Engineer to design, develop, and modernize high-performance Rock Physics desktop and cloud applications. Reporting to the Team Lead and working closely with the Product Owner, you will own the technical direction of production software - writing code daily, reviewing pull requests, and driving architectural decisions.
Key Responsibilities- Design & build software
- Architect, implement, and maintain complex desktop and cloud applications using modern software engineering practices (design patterns, SOLID principles, automated testing, continuous integration/delivery). - Modernize legacy systems
- Lead migration of mature C/C++ codebases to modern languages, runtimes, and UI/UX frameworks while preserving scientific accuracy and performance. - Leverage AI-assisted development
- Actively adopt AI-powered tools (e.g., Copilot, code-generation, automated testing assistants) to accelerate delivery and improve code quality.
Collaborate on architecture
- Partner with the Team Lead and Product Owner to translate requirements into sound, maintainable technical solutions the team can implement and iterate on. - Mentor & lead technically
- Coach junior and mid-level developers through code reviews, pair programming, and knowledge-sharing; foster a culture of engineering excellence.
Communicate clearly - Escalate risks, trade-offs, and progress in a timely, structured manner to technical and non-technical stakeholders.
Stay current - Continuously evaluate and adopt emerging languages,…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).