Staff Software Engineer

gb BP Energy
London, UK
19 days ago
Apply on www.totaljobs.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours

Tech stack

Clean Code Principles Java (Programming Language) Agile Methodology Amazon Web Services Amazon Elastic Compute Cloud Amazon S3 Automation of Tests Unit Testing Bash Shell Cloud Computing Configuration Management Software Quality
+57 more
Code Review Cyber Security Continuous Delivery Continuous Integration Relational Databases Database Design Software Debugging Software Design Patterns Distributed Systems Amazon DynamoDB Java Platform Enterprise Edition (J2EE) Fault Tolerance Github Hibernate (Java) Identity and Access Management Java Persistence API Junit Python (Programming Language) PostgreSQL NoSQL Object-Oriented Software Development Open Web Application Security Performance Tuning Scrum Methodology Query Optimization Release Management Mockito Prometheus Secure Coding Software Engineering Software Systems SQL Stored Procedures SQL Databases Software Licensing Scripting Test-Driven Development (TDD) ReactJS Grafana Concurrency Spring-boot Indexer Backend Git Cloudformation Git Flow Integration Tests Solid Principles Kubernetes Data Management Front End Software Development Functional Programming Restful APIs Terraform Software Version Control Docker Jenkins Microservices

Job description

Trading operations is integral to the success of BP’s Trading & Shipping organization. The operations team coordinates the safe, efficient, and reliable execution of the physical movements into and out of supply chain networks supporting our refineries, branded customer network, and trading business. We play a vital role in moving product between suppliers, refineries, terminals, and customers across all modes of transportation including pipelines, rail, truck, intra terminal movements, barges, and vessels.

This is a unique opportunity to partner with our commodities trading business, to deliver creative technology solutions, adding commercial value as well as achieving our carbon net-zero goals.

As an engineer on this project, you will collaborate with Product Managers and partners to design, develop and maintain enterprise scale software systems and tools.

As part of a global team working on a global product, you will lead one of the squads. This role offers the opportunity to apply your technical expertise to build new features, enhance existing functionality, and ensure the product remains highly reliable. You will be able to share your technical expertise within and externally to your squad.

We follow an agile methodology. Multiple squads contribute to the product, and we continuously refine and prioritize requirements to deliver the greatest value to our clients as quickly as possible. You will play a pivotal role in shaping the direction of the product and the technology as the products are adopted by new markets over the coming months and years.

As Staff Software Engineer and as a squad Tech Lead, we are technical specialists, who mentor and coach, providing guidance and support to the team, while encouraging a positive and productive work environment. We provide project and squad goals, prioritize and complete initiatives, and deliver results in a product-led, empowered environment. Our ability to lead multiple collaborators, and our software development and engineering experience are important for success in this role.

In This Role You Will

  • Lead a squad that is a part of a wider program with other squads distributed over the globe.
  • Collaborate with the product leads and other technical leads to understand requirements, estimation and help refine roadmap.
  • Raise the technical bar for the team both in code quality as well as testing coverage, monitoring and observability.
  • Deliver customer value iteratively, serve as a technical lead, and own projects end-to-end. Communicating status and changes to partners, designing test automation, and collaborating with internal and external teams to bring new platforms to market are key responsibilities.
  • Maintain and enhance software frameworks, mentor other engineers, participate in code reviews, and resolve platform-related issues.
  • Support and assist during production issues.
  • Support audit teams for security, software licensing, and regulatory audits, and implement new controls and procedures to address compliance gaps or risks.

Requirements

  • Strong experience working on the backend of a technology product.
  • Strong experience in Java, Spring Boot Microservices including: writing unit tests (JUnit/Mockito), working with JPA/Hibernate, and debugging distributed applications.
  • Some experience with React or another modern frontend framework.
  • Solid understanding of SQL and relational database design.
  • Ideally experience with Kubernetes and AWS, including containerised deployment of JEE applications.
  • Experience working within a full stack team using agile delivery practices.
  • Skilled in troubleshooting large-scale distributed production systems.
  • Passionate about mentoring and coaching engineers across both technical and soft skills.
  • Product-centric mentality with the ability to understand business needs and design scalable, resilient systems and solutions.
  • Strong empathy and curiosity to create exceptional user experiences.
  • Self-starter with excellent communication skills, adept at handling ambiguity, navigating uncertainty, and influencing peers through to senior leadership.

Core Technical Skills

  • Java (8+) and JEE - advanced proficiency including concurrency, design patterns, and performance tuning
  • RESTful API design and development
  • Microservices architecture and design
  • PostgreSQL - query optimisation, indexing, schema design, and stored procedures
  • Relational data modelling and database design
  • Unit testing, integration testing, and TDD (JUnit, Mockito)
  • Object-oriented design and SOLID principles
  • Cloud & Infrastructure
  • AWS cloud services - EC2, ECS/EKS, RDS, S3, Lambda, IAM
  • Kubernetes and container orchestration (Docker, Helm)
  • CI/CD pipeline design and management (Jenkins, GitHub Actions, or equivalent)
  • Configuration management and release management
  • Software Engineering Practices
  • Secure development and OWASP best practices
  • Source control and code management (Git, branching strategies)
  • Software design and development (clean code, code reviews)
  • Service operations and resiliency (fault tolerance, circuit breakers, observability)
  • Metrics definition, instrumentation, and monitoring (Prometheus, Grafana, or equivalent)
  • Scripting (Bash, Python - for automation and tooling)
  • Architecture & Solution Design
  • Distributed systems design and architecture
  • Architectural awareness and contribution to solution design
  • Risk identification and technical risk management
  • Emerging technology awareness relevant to trading and data platforms
  • Collaboration & Leadership
  • Mentoring and coaching junior and mid-level engineers
  • Agile and Scrum delivery practices
  • Documentation and knowledge sharing
  • Communication and stakeholder engagement across business and technology
  • Product-centric attitude - translating business needs into scalable technical solutions
  • Self-starter, comfortable navigating ambiguity and influencing across seniority levels
  • Desirable Criteria & Qualifications:
  • Infrastructure as Code (Terraform or CloudFormation - desirable)
  • NoSQL data modelling (desirable - DynamoDB or similar AWS-native services)
  • Domain Knowledge (Desirable)
  • Understanding of physical commodity trading, planning, or scheduling workflows
  • Familiarity with trade lifecycle, contractual obligations, or supply chain operations
  • Experience working in regulated or enterprise financial/energy trading environments, Cloud Platforms, Cloud Platforms, Collaboration, Communication, Configuration management and release, Continuous deployment and release, Creating a high performing team, Database Design, Digital Project Management, Documentation and knowledge sharing, Emerging technology monitoring, Facilitation, Information Security, Mentoring, Metrics definition and instrumentation, NoSql data modelling, Problem Solving, Relational Data Modelling, Risk Management, Scripting, Secure development, Service operations and resiliency, Software Design and Development, Solution Architecture, Source control and code management {+ 5 more}

About the company

At BP, we support our people to grow in a diverse and exciting environment. We believe that our team is strengthened by diversity.

There are many aspects of our employees’ lives that are significant, so we offer benefits to enable your work to fit with your life. These benefits can include flexible working options, a generous paid parental leave policy, excellent retirement benefits, among others.

We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform crucial job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.

Reinvent your career as you help our business meet the challenges of the future.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.totaljobs.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

2:37 min

Comparing traditional SQL tables versus NoSQL non-tabular databases

Stanimira Vlaeva · JS Congress

4:15 min

Refactoring test code dependencies with Maven and JUnit

Benjamin Bischoff Benjamin Bischoff · Europe 2026 Virtual

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

43 sec

Software engineering journey and local Manchester roots

Jonathan Tang · Coffee With Developers

3:16 min

Terminology differences between relational and NoSQL databases

Tim Faulkes · LIVE

Videos

See all

Related articles

See all