Back to search

DevOps Engineer

BAE Systems

Job Description

Location(s): [[mfield3]]

BAE Systems Digital Intelligence is home to 4,500 digital, cyber and intelligence experts. We work collaboratively across 10 countries to collect, connect and understand complex data, so that governments, nation states, armed forces and commercial businesses can unlock digital advantage in the most demanding environments.

Are you passionate about working with cutting-edge technology and self-motivated to find innovative solutions to complex challenges as part of a team who help keep the UK safe? Join BAE Systems as a DevOps Engineer.

As a DevOps Engineer you provide a bridge between development, testing, network/infrastructure, operations and system administrators to facilitate efficient, continuous and high quality software delivery. The processes and tooling implemented by the DevOps Engineers enables Software Engineers to turn source code and associated artefacts into installation media and/or installed and configured environments.

You will typically combine the skills of coding or scripting and process reengineering with exemplary team working and communication skills. As a DevOps Engineer you should have a good breadth of knowledge across the disciplines of software development and how software is deployed.

You will be working in a multiple disciplined team, and require a broad range of technical and soft skills to enable the team to implement sound DevOps engineering practices and deliver value quickly and continuously. These skill are categorised into the following domains.

  • Automation skills : Automation is a key skill domain for DevOps engineers, they need to be able to design, build and maintain automation solutions for building, testing, deploying application and infrastructure. Specific automation skills are:
    • Continuous Integration - Skilled in the tooling and principles of continually building, testing and integrating the software that developers produce
    • Continuous Deployment - Skilled in the automation of the deployment of the artefacts produced by the CI
    • Orchestration - Deliver solutions to orchestrate the deployment, management scaling and networking of containers
    • Workload Automation - Create solutions to automate the scheduling and scaling of application workloads
    • Cloud Management - Skilled in the design, deployment and management of Public or Private Cloud environments
    • Configuration Management - Practice good configuration and source code control of all artefacts
  • Human skills : Working in a multi-disciplined team DevOps engineers need to have great communication skills.
    • Problem Solving - The DevOps engineer is often the first port of call to diagnose and resolve problems, they need to be able to understand the causes of issues across a number of domains including infrastructure, code, networking and databases with enough knowledge to be able to fault find and identify the root cause
    • Collaboration - Working within a DevOps team it is key that the DevOps engineers collaborate well with the team to ensure they are all working towards the same goal.
    • Knowledge sharing - Effectively shares knowledge within the project team and within the wider organisation.
    • Flexibility - DevOps engineers need to be flexible and quickly adapt to new situations and technology
  • Technical skills : DevOps engineers need a good understanding of a vast number of technical skills, below are some of the key expected skills
    • Cloud Platforms - Should be confident with the configuration of a least one Public or Private Cloud platform
    • Operating Systems - Should be able to configure, harden and maintain at least one flavour of Operating System
    • Programming Languages - Although programming is not the core skill of the DevOps engineer, they still need to be able to program to produce the automation that is required for the role. There will also be times that an understanding of coding is needed to problem solve issues
    • Containerisation - Most DevOps projects make use of containers, DevOps engineers must be experienced with at least one containerisation platform and orchestration tool
    • Application Technologies - Although application development is not the main focus of a DevOps engineer they need a high level understanding of application development technology to enable them to build and deploy
    • Databases - Should be able to deploy and maintain different database management systems and understand enough to fault find issues
    • Legacy Infrastructures - Not all projects will use modern technology exclusively, some may deploy to or integrate with legacy infrastructure. DevOps engineers need to be able to understand the legacy technology
  • Multi-discipline enabling skills : DevOps teams maintain the products they produce from development through to operations, DevOps engineers need an understanding of multiple disciplines to help the team succeed
    • IT Operations - Responsible for managing the on-going BAU support of the platform in operation environments. Including change and incident management, service requests and proactive monitoring and maintenance
    • Security - Ensure security is considered early in the development lifecycle and constantly maintained. DevOps engineers must understand how to secure the infrastructure that they deploy
    • Application Development & Delivery - To effectively work with developers in the team DevOps engineers need a good understanding of application development methods and delivery
    • Architecture - Need to be able to design and document architectures using best practice, patterns and frameworks
  • Process & Framework Knowledge ...

Good luck with your application