Software Engineer – Rock Physics Applications

Jab Recruitment — United Kingdom · Posted ~4 hours ago

Mid Full-time

Skills

Software architecture Software development High-performance applications Desktop application development Cloud application development Automated testing Continuous integration Continuous delivery Design patterns SOLID principles Desktop applications Cloud CI/CD SOLID

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary ✨ AI‑Generated

Join a specialist software engineering team developing high-performance applications for technically complex, data-intensive workflows. You will design, modernize, and maintain desktop and cloud software while staying close to architecture, coding, testing, and continuous delivery.

Highlights

Hands-on engineering focused on high-performance, data-intensive desktop and cloud applications, with meaningful ownership of architecture, daily coding, modernization, testing, and technical direction.

Description

About the Company Our client is a global energy technology organisation delivering advanced digital and software solutions across the exploration and production sector. Its technology supports geoscience, subsurface characterisation, well planning and wider asset-lifecycle decision-making. The organisation develops highly technical, data-intensive software across both desktop and cloud environments, helping energy companies improve technical insight, collaboration and operational decision-making. The Role We are recruiting Software Engineers and Senior Software Engineers to join a specialist development team responsible for designing, developing and modernising high-performance rock physics applications. These are hands-on individual-contributor positions suited to experienced engineers who enjoy remaining close to software architecture, development and daily coding. Working alongside the Team Lead and Product Owner, you will contribute to the technical direction of established production software while supporting the adoption of modern development practices, cloud technologies and AI-assisted engineering tools. Key Responsibilities Design, develop and maintain complex desktop and cloud-based software applications.Develop high-quality production software using C# and .NET.Apply object-oriented design principles, established design patterns and SOLID principles.Produce scalable, maintainable and well-tested software solutions.Contribute to automated testing, version control, code review and CI/CD processes.Use AI-assisted development tools, including code-generation and automated-testing technologies.Work with the Product Owner and Team Lead to translate business requirements into robust technical solutions.Participate in code reviews, architectural discussions and technical decision-making.Communicate technical risks, trade-offs and development progress clearly.Evaluate emerging technologies, frameworks, cloud services and development tools. Essential Experience Strong professional software engineering experience appropriate to Software Engineer or Senior Software Engineer level.Proven experience developing complex, production-grade applications.Strong C# and .NET development capability.Experience developing desktop applications and/or cloud-based software.Strong knowledge of object-oriented programming and software design patterns.Understanding of automated testing methodologies, version control and code-review practices.Experience working within Agile software development environments.Bachelor's degree or higher in Computer Science, Software Engineering or a related technical discipline. Desirable Experience Modernising legacy software applications.Migrating mature C/C++ codebases while maintaining performance and numerical accuracy.Cloud platforms including AWS, Microsoft Azure or Google Cloud Platform.Building or maintaining CI/CD pipelines.AI-assisted development tools such as GitHub Copilot or similar technologies.Desktop application modernisation, including UI and UX improvements.Scientific, engineering, geoscience, subsurface or other technically complex software environments. About You You will be analytical and methodical with strong problem-solving capability and an interest in technically challenging software development. You should be comfortable taking ownership of individual technical delivery while working collaboratively with engineering, product and business stakeholders. This opportunity will particularly suit someone who wants to continue developing their technical expertise and remain directly involved in software engineering rather than moving into a people-management-focused role. Location Abingdon is the preferred location. Applications can also be considered from suitably experienced candidates based in Aberdeen or London.