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, frameworks, cloud services, and AI/ML tooling relevant to the product.
Required Qualifications
- 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.
We offer
We invest in our employees through competitive compensation plans, health benefits, work-life programs, and reward and incentive plans. We have the right people to develop the right technologies and bring innovative solutions to the industry — and we value those people as an unmatched competitive advantage.