Network Engineer
Job summary
Excited by building, delivering, and enhancing the networks that power bp’s operations? Digital Engineering are a team of technology and software specialists providing innovative, custom-built or customized software and technical platforms to bp colleagues and external users.We’re looking for curious minds who are excited by the opportunity to create and deliver an exciting suite of digital products and services to advance the global energy transition. You will need to solve complex business challenges whilst collaborating and co-innovating globally, backed by a culture that encourages creativity and curiosity, and a team that cares brings out the best in each other.Role SynopsisThe Site Engineering – Edge team and service fall within the Site Engineering portfolio in Connectivity Platforms. The team develops and supports enterprise networking products for Company’s office locations globally, employing Agile working techniques to undertake technology POCs and launch & support products and services in support of frictionless business user connectivity and productivity experiences globally.We are seeking technologists with specialization in engineering & management of modern enterprise networks, virtualization platforms, and advanced skills in Python and Ansible to drive automation at scale across the network. You will work with our existing portfolio of networking products and services to develop and enhance them to meet growing customer demand for digital connectivity. Your primary activities will include developing, implementing, and supporting our Edge platform, including working with our automation team to develop “day two” operational automations for our portfolio of products, including Versa SDWAN, Riverbed WAN acceleration, and their underlying hardware platforms.Desirable Education
  • Preferably a Bachelor’s (or higher) degree, preferably in Computer Science, MIS/IT, Mathematics or a hard science.
Desirable Experience and CapabilityYears of experience: 5-8 years, with a minimum of 4-5 years of relevant experience.Required Criteria
  • Enterprise Networking: Maintains expert level knowledge of enterprise-grade networking concepts and skills. Proficient with complex routing topologies using BGP and OSPF, with extensive experience working with these at a global scale. Experience with Juniper networking is a big plus.
  • Software-Defined WAN (SDWAN): Has experience deploying, maintaining, and supporting SDWAN infrastructure at a global scale. Experience with Versa is preferred, but experience with any SDWAN vendor will be considered. Understands overlay and underlay networking concepts, routing, traffic steering, QOS, and other core concepts required to support such deployments.
  • Linux Administration: Has experience using Linux-based computing platforms. Proficient in standard systems administration tasks required to support servers and appliances running Linux-based operating systems (RedHat and Ubuntu preferred).
  • Virtualization: Understands modern virtualization techniques and has experience deploying and supporting virtual hosts on KVM or VMware ESXi. Knows the advantages and disadvantages to virtualizing network (and other) functions and can deploy solutions that are fit for purpose in a virtual environment.
  • Ansible: Can write Ansible playbooks using modules to affect change on devices at a small and large scale. Has a propensity to automate tasks instead of executing manually. Familiar with, and a user of Ansible Tower or AWX.
  • Ansible: Can write Ansible playbooks using modules to affect change on devices at a small and large scale. Has a propensity to automate tasks instead of executing manually. Familiar with, and a user of Ansible Tower or AWX.
  • Systems Design: Specifies user/system interfaces and translates logical designs into physical designs taking account of target environment, performance requirements and existing systems. – 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
  • 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.
  • Emerging Technology Management: Maintains awareness of opportunities provided by new technology to address challenges or to enable new ways of working. Within own sphere of influence, works to further organisational goals, by the study and use of emerging technologies and products.
  • Programming / Software 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: Assesses and analyses release components. 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. Ensures release processes and procedures are maintained.
  • 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. Discovers and analyses requirements for fitness for purpose as well as adherence to business objectives and consistency, challenging positively as appropriate. Obtains formal agreement by stakeholders and recipients to scope and requirements and establishes a baseline on which delivery of a solution can commence.
  • Systems Installation and Decommissioning: installs or removes hardware and/or software, using supplied installation instructions and tools including, where appropriate, handover to the client. Conducts tests, corrects malfunctions, and documents results in accordance with agreed procedures. Reports details of all hardware/software items that have been installed and removed so that configuration management records can be updated. Aids users in a professional manner following agreed procedures for further help or escalation. Reviews change requests.
Preferred Criteria
  • Appropriate engineering certifications on platform technologies. (Versa, Juniper, Aruba, Cisco, Ansible, Azure)
  • Python programming and shell scripting experience is highly preferred
  • Confident working with commonly used network equipment in an enterprise environment (such as Versa, Juniper, Aruba, Cisco, Riverbed, Dell, etc.)
  • Exposure to adjacent domains such as platforms, storage, databases, etc. (you know your way around a Linux command line)
  • Good knowledge and understanding of modern development methodologies (Agile using Scrum and/or Kanban)
  • Knowledge of DevOps practices and techniques
  • Experience of modern approaches to source-code management and control through tools such as Azure DevOps and Git/GitHub.
  • Good interpersonal skills including the ability to relate complex topics in simple and accessible language.

To apply for this job please visit