At bp, we provide an excellent working environment and employee benefits such as an open and inclusive culture, a great work-life balance, tremendous learning and development opportunities to craft your career path, life and health insurance, medical care package and many others.
About The Role
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 looking for principal software engineer 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 comfortable defining their own direction, who can adapt quickly and address complex challenges, and who want to work with strong peers and leaders from tech companies Bp's Technology 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 encourage 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.
Key Responsibilities
- 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 grow 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.
What We’re Looking For
- An ideal candidate will have at least 18+ years of experience designing and building end-to end complex software systems optimally delivered to production. You’ll have managed and supported these production systems through on-call rotations.
- Expertise in at least one language (C/C++, Java, C#, Python) including object-oriented design. Proficient in data structures, algorithms, runtime complexity, API, and database design, as well as unit and functional test methodologies.
- Proficiency with foundational Platform services such as API integration platforms, event-based message brokers, data-streaming services, observability, monitoring & distributed-tracing tools.
- Excellent understanding of large-scale distributed systems, expertise in building systems for reliability & scalability, sound knowledge of data modelling techniques and API designs.
- Strong communication & articulation skills to connect with your peers and 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.
- Experienced in managing a high-performance team of software engineers from technology mentoring and nurturing perspective.
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 crafting 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, collaboration spaces in a modern office environment, and many others benefits.