NSL - Site Reliability Engineer
Location(s): UK, Europe & Africa : UK : Leeds 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. Job Description Site Reliability Engineering is a rapidly growing concept in industry, with a remit to drive the quality, reliability and performance of essential systems. As a Site Reliability Engineer you'll be part of a team in BAE Systems at the forefront of this. We are in the process of building our teams and tools and with your help will create a culture of continual improvement to revolutionise the way our customers systems are built and supported. You’ll typically possess some degree of blend between software engineering, operational production support and infrastructure engineering (Linux, networking) and be part of a small team, but one which could be working with hundreds of other engineers to drive a step change in the reliability of systems. Key Accountabilities As an SRE, fundamentally you will be doing work that has historically been done by an operations team, but using software and systems engineering expertise to substitute automation for human labour, limiting traditional manual operations work (incident tickets, on-call etc.) to no more than half of the SRE team's time. Core Role Accountabilities Include
- Supporting and maintaining essential service that support core mission applications, proactively enhancing their availability, performance and stability;
- Finding innovative solutions to problems rather than undertaking repetitive work, automating everything you can. You will work alongside product teams, advising them of good practice in how to design and build systems, learning from what you know works well. And you will never be asked to spend more than 50% of your time on support (otherwise the product team supports the excess work until the support work returns to 50% or less);
- You will instrument applications where they don’t have sufficient monitoring in place, and use the output of it to demonstrate the improvements your team are making on a daily basis. You will be well versed in the relationship between software and infrastructure, understanding the characteristics of systems that enable them to be scalable and resilient to failure, and how to get the best out of the infrastructure they are deployed to;
- Participating in the wider DevOps/SRE community within the organisation;
- Typically have experience in the following:
- Software development in Java and web technologies, e.g. JavaScript and HTML
- Familiarisation with database technologies such as Elastic, Mongo
- Know your way around Linux and Windows command lines, e.g. Bash and PowerShell
- Hands on experience with cloud infrastructure such as AWS, Azure or OpenStack
- Use of deployment tools such as chef and puppet
- Expertise in monitoring large systems using technologies such as ELK
- Experience of working in an Agile scrum team, and the tooling that supports it, e.g. Jira
- Diagnosing and troubleshooting application issues resulting in service outages
- Troubleshooting skills across different levels of the stack
- Understanding of ITIL terminology
- Experience with container management and micro-services architectures such as Docker
- Experience extending and improving Open Source Software
- Familiarisation with automation test frameworks such as Selenium
- Awareness and insight into technology trends to adopt new cutting edge tools