Grade GResponsible for delivering software / platform engineering activities (depending on specialism), using advanced technical capabilities to fully understand user requirements, acting as the lead for the design, development and maintenance of a software system / infrastructure platform, and assisting in creating the vision to maximize value from current and emerging technologies. Specialisms: Software Engineering; Platform Engineering.
You will be part of bp’s You will be part of the Data Hub team, which is the data clearing house for all of bp’s big data and analytics requirements. You will need to manage the consolidation of data lake platform with strategic data hub platform including data virtualization, ingestion pipeline setup for historical data and daily loads, and infrastructure network design implementation.
- Preferably a Bachelor's (or higher) degree, preferably in Computer Science, MIS/IT, Mathematics or a hard science.
- Data Platform Delivery & Management : Delivers, manages and operates data platforms including but not limited to: data hubs, ETL and data ingestion, storage and repository maintenance, data publishing, consumption and the necessary security, devops and dataops control framework are in place
- Capacity Management: Monitors service component capacity and initiates actions to resolve any shortfalls according to agreed procedures. Applies techniques to control the demand upon a particular resource or service
- Programming Development : Designs, codes, tests, corrects and documents complex programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well engineered result. Takes part in reviews of own work and leads reviews of colleagues' work
- Release and Deployment : Provides input to scheduling. Carries out the builds and tests in coordination with testers and component specialists maintaining and administering the tools and methods – manual or automatic - and ensuring, where possible, information exchange with configuration management
- Requirements Definition and Management : Facilitates scoping and business priority-setting for change initiatives of medium size and complexity. Contributes to selection of the most appropriate means of representing business requirements in the context of a specific change initiative, ensuring traceability back to source.
- Systems Design: Produces detailed designs and documents all work using required standards, methods and tools, including prototyping tools, physical data flows, file layouts, common routines and utilities, program specifications or prototypes and backup, recovery and restart procedures where appropriate
- Systems Installation and Decommissioning :Provides assistance to users in a professional manner following agreed procedures for further help or escalation. Reviews change requests
• 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 (Python, Go, Java, C++)
• Experience designing and implementing large-scale distributed systems
• Exposure to adjacent domains such as platforms, storage, databases, etc. You know your way around a command-line.
• Deep knowledge and hands-on experience in technologies across all data lifecycle stages
• Knowledge and experience in development and managing operations of IOT streaming, IOT Edge processing, and Digital Twins is a plus
• Knowledge of graph technologies is a plus
• Good knowledge and understanding of modern development methodologies (Agile using Scrum and/or Kanban)