Critical to achieving bp’s digital ambitions is the delivery of our high value data and analytics initiatives, and the enablement of the technologies and platforms that will support those objectives.
As a Data Engineer you will be developing and maintaining data infrastructure and writing, deploying and maintaining software to build, integrate, manage, maintain, and quality-assure data at bp. You are passionate about planning and building compelling data products and services, in collaboration with business stakeholders, Data Managers, Data Scientists, Software Engineers and Architects in bp.
You will be part of bp’s Data & Analytics Platform organisation, the group responsible for the platforms and services that operate bp’s big data supply chain. The portfolio covers technologies that support the life cycle of critical data products in bp, bringing together data producers and consumers through enablement and industrial scale operations of data ingestion, processing, storage and publishing, including data visualisation, advanced analytics, data science and data discovery platforms.
For this role specifically, you will be in our data platform performance management team, focused on metrics and insights. This will involve designing and delivering the necessary data workflows and pipelines to collect and process data in order to provide visibility and insights to our platform operations and performance, including cost of operations, runtime and system analysis, continuous improvement opportunities, etc. The ultimate objective is to create a data-driven organisation within the Data & Analytics Platform team, and be able to build a ‘mission control’ station that will allow us to detect, anticipate and prevent issues, have insights to improve our operations, and have timely access to data that will allow our data platform engineers to build the necessary automation for a self-healing, etc. Further we want to exploit our data to understand non-technical measures and insights related to adoption and engagement, various measures of utilization, value contribution and delivery, quality assurance related to governance and compliance or identification of technical debt, and other scenarios that our leadership teams or platform engineers may challenge us on.
- Design, implement and maintain reliable and scalable data infrastructure, including design and development of industrial scale data pipelines to capture, store, process and publish platform telemetry for performance and utilisation analytics, and support the development and build the automation of system performance and metrics
- Collaboration with portfolio data platform teams to utilize existing data products, ingestion patterns, or automations to avoid bespoke development while contributing to the enhancement and creation of these shared assets when gaps are identified
- Own the end-to-end technical data lifecycle and corresponding data technology stack for their data domain and to have a deep understanding of the bp technology stack.
- Write, deploy and maintain software to build, integrate, manage, maintain, and quality-assure data, and responsible for deploying secure and well-tested software that meets privacy and compliance requirements; develops, maintains and improves CI / CD pipeline.
- Adhere to and advocate for software engineering best practices (e.g. technical design, technical design review, unit testing, monitoring & alerting, checking in code, code review, documentation).
- Deep and hands-on experience designing, planning, implementing, maintaining and documenting reliable and scalable data infrastructure and data products in complex environments.
- Development experience in one or more object-oriented programming languages (e.g. Python, Go, Java, C++)
- Experience designing and implementing large-scale distributed system
- Data Manipulation: debug and maintain the end-to-end data engineering lifecycle of the data products; design and implementation of the end-to-end data stack, including designing complex data systems, e.g. interoperability across cloud platforms; experience on various types of data (streaming, structured and un-structured) is a plus.
- Coding: contribute to internal and/or external libraries through raising issues, adding documentation and/or contributing new features; write clean, re-usable code in a language that runs in production at bp.
- Software Engineering: hands-on experience with SQL and NoSQL database fundamentals, query structures and design best practices, including scalability, readability, and reliability; you are proficient in at least one object-oriented programming language, e.g. Python [specifically data manipulation packages - Pandas, seaborn, matplotlib], Apache Spark or Scala;
- Scalability, Reliability, Maintenance: proven experience in building scalable and re-usable systems that are used by others; knowledge and experience in automating operations as much as possible and identifying and building for long-term productivity over short-term speed/gains, and execute on those opportunities to improve products or services.
- Data Domain Knowledge: proven understanding of data sources and data and analytics requirements and typical SLAs associated to data provisioning and consumption at enterprise scale, with interest and experience in analysis of data or other enterprise platform operations activities.
- Cloud Engineering– Recent experience utilizing data analytics offerings and services from Azure and AWS