United Kingdom - South East - London
Are you looking for a career in tech that truly helps make the world a better place? Bp is moving through the biggest transition in its 100+ year history with the goal of becoming one of the world’s largest renewable energy providers and achieving net zero carbon emissions by 2050. To make this transition, we are hiring staff and principal software engineers to power our business end to end, from building new infrastructure and services through to customer facing web and native mobile applications. We build exclusively on the cloud using Azure and AWS, so we can adapt quickly, demonstrate the latest technology, and scale our business globally. We want to be in touch with builders that are comfortable defining their own direction, who can move fast and tackle complex challenges, and who want to work with strong peers and leaders from tech companies like Uber, Google, Facebook, Tesla, and Amazon.
Bp's Innovation & Engineering (I&E) organization is the central organization for all software development. We build all the technology that powers BP’s businesses, from upstream energy production to downstream delivery of energy to our customers. We have a variety of teams depending on your areas of interest, including infrastructure and backend services through to customer-facing web and native applications. We encourage our teams to adapt quickly by using native AWS and Azure services, including serverless, and enable them to pick the best technology for a given problem. This is meant to empower our software engineers while allowing them to learn and develop themselves.
What you will do for us...
- Design sophisticated software components, services, and applications. You’ll write design documents and review them with your software engineering and architecture peers, incorporating and quickly iterating on the feedback.
- Lead multiple squads or organizations of engineers in delivery of your projects to production. You’ll follow best practices including writing high quality code, developing unit, functional, and performance tests, and creating end-to-end deployment pipelines to production to maintain a fast velocity.
- Integrate your software with other distributed systems and shared APIs across bp. You’ll work closely with partner teams to help evolve their systems to make all our services more re-usable and resilient.
- Hire and develop others by mentoring junior software engineers and peers, and proactively sharing your expertise and interests with others.
- Partner closely with multi-functional teams including product management, data science, and UX design.
- At least ten years of experience designing and building complex software systems end-to-end which have been efficiently delivered to production. You’ll have supported these production systems through on-call rotations.
- Expertise in at least one language (C/C++, Java, C#, Python) including object-oriented design. You should be proficient in data structures, algorithms, runtime complexity, API, and database design, as well as unit and functional test methodologies.
- Experience in system design of both new and existing systems. You should understand security and privacy best practices as well as how to properly monitor, log, and alarm for production systems.
- Strong communication skills and ability to communicate with your peers through to senior leaders. To be successful you need to be able to engage and influence others to collect requirements, describe what you’re doing, and work through problems and find productive solutions.
We are an equal opportunity employer and value diversity at our company. We do not discriminate based on race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.