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 senior 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 are hiring 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.
So, what are we doing here at bp?
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 a squad 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 five years of experience designing and building complex software systems end-to-end which have been optimally 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. You should be able to engage and influence others to collect requirements, describe what you’re doing, and work through problems and find productive solutions.
Why join us?
At bp, we support our people to learn and grow in a diverse and challenging environment. We believe that our team is strengthened by diversity. We are committed to fostering an inclusive environment in which everyone is respected and treated fairly.
There are many aspects of our employees’ lives that are meaningful, 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!