Software Engineer, Subsurface Applications (Principal - Advisor) Landmark
Halliburton · Calgary, AB, CA, T2P 3V4 · Canada · On-site
Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.
We are looking for the right people — people who want to innovate, achieve, grow and lead. We attract and retain the best talent by investing in our employees and empowering them to develop themselves and their careers. Experience the challenges, rewards and opportunity of working for one of the world’s largest providers of products and services to the global energy industry.
About Landmark
Landmark, a Halliburton business line, provides the industry’s most comprehensive suite of digital solutions for exploration, drilling, and production optimization. Its software and data platforms empower customers to model subsurface assets, manage drilling risk, and accelerate decision-making through cloud, AI, and advanced analytics.
About the Role
The Principal Java Software Engineer designs and delivers complex engineering software applications supporting Landmark’s subsurface portfolio. This position contributes throughout the software development lifecycle, including technical design, core Java development, desktop application development, automated testing, troubleshooting, security remediation, and technical documentation.
Working under broad direction, the Principal Java Software Engineer independently solves complex technical problems and delivers significant software capabilities. The position collaborates with software engineers, quality professionals, cybersecurity specialists, product stakeholders, and subsurface-domain experts to improve application quality, security, reliability, maintainability, and performance.
Key Responsibilities
Design, develop, test, and maintain complex Java-based engineering software supporting scientific and subsurface workflows.
Develop and enhance desktop application capabilities that translate technical and business requirements into dependable user solutions.
Create automated regression-testing strategies that improve product quality, reliability, and release confidence.
Troubleshoot complex application, performance, integration, and software-quality issues, identify root causes, and implement effective solutions.
Apply secure coding practices throughout the development lifecycle and implement controls that reduce common software vulnerabilities.
Triage reported security issues, evaluate technical impact, and deliver appropriate software fixes and remediation.
Improve software architecture, maintainability, performance, reliability, development processes, and engineering efficiency.
Collaborate with software engineering, quality assurance, cybersecurity, product, and technical-domain teams to deliver dependable applications.
Contribute to technical planning by estimating work, identifying dependencies, defining assignments, and supporting achievable delivery schedules.
Create and maintain clear technical documentation covering software designs, application behavior, testing approaches, and implemented solutions.
Apply sound software engineering judgment to work that…