Senior Developer - GDS - G7
Government Digital & Data -
Location
Bristol, London, Manchester
About the job
Job summary
The Government Digital Service (GDS) is the digital centre of government — we are responsible for setting, leading and delivering the vision for a modern digital government.
Our priorities are to drive a modern digital government, by:
1. joining up public sector services
2. harnessing the power of AI for the public good
3. strengthening and extending our digital and data public infrastructure
4. elevating leadership and investing in talent
5. funding for outcomes and procuring for growth and innovation
6. committing to transparency and driving accountability
We are home to the Incubator for Artificial Intelligence (I.AI), the world-leading GOV.UK and at the forefront of coordinating the UK’s geospatial strategy and activity. We lead the Government Digital and Data function and champion the work of digital teams across government.
We’re part of the Department for Science, Innovation and Technology (DSIT) and employ more than 1,000 people all over the UK, with hubs in Manchester, London and Bristol.
The Government Digital Service is where talent translates into impact. From your first day, you’ll be working with some of the world’s most highly-skilled digital professionals, all contributing their knowledge to make change on a national scale.
Join us for rewarding work that makes a difference across the UK. You'll solve some of the nation’s highest-priority digital challenges, helping millions of people access services they need.
The Cyber and Domains Protection Team provide high quality relevant and actionable vulnerability, incident, threat and dependency information for the protection and resilience of the UK’s Public Sector’s digital services. We protect public sector domain name spaces such as “.gov.uk”, and ensure they remain stable, trusted, well managed and resistant to compromise. The team also helps protect the infrastructure tools and services associated with these domains.
Job description
As a Domains Team Senior Developer you’ll be responsible for working alongside mid-level and junior developers to build and maintain services for identifying and managing vulnerabilities associated with public sector domains. You will be expected to take the lead on individual epics as well as contributing across all of the team’s priorities.
We are designing and maintaining a number of services, including a large data pipeline, two user-facing web applications. We also host various off-the-shelf tools on our infrastructure. Our main tech stack is primarily Python/Django, supported by AWS components such as lambda functions, message queues, analytics/dashboarding, etc. Our services are built almost exclusively using Python, including our infrastructure (using the AWS CDK), with small amounts of HTML/CSS and Javascript used in our frontend and for automated testing.
You will build and maintain a domain vulnerability management toolset, principally in Python, including:
- Adding new, commercially-available or open source data sources to our existing ingestion pipeline
- Designing, building and maintaining additional tools for monitoring for and detecting vulnerabilities with public sector services.
- Extending our existing Django/Postgres-based API to accommodate new classes of vulnerability and enable reporting of these to operational colleagues and external partners.
- Building and extending tools to export vulnerability data to public sector domain owners, as supported by their vulnerability management tooling (MS Sentinel, Splunk etc).
- Maintaining and improving web applications used by our partners for consuming services provided by the Domains Team
- Integrating newly-built and extended components with our existing, AWS-based infrastructure using the Python CDK.
- Extending our existing reporting tooling (based on AWS Quicksight), and build new tools as required, to provide stakeholders with an overall picture of the range and scale of vulnerabilities discovered by our service.
- Clearly communicating ideas with the rest of the development team, service owners, and other colleagues; receive feedback and build consensus for proposed solutions.
- Sharing responsibility for establishing development standards and good practice, and ensuring that the development team works to them.
- Ensuring the product is built according to the needs of users, including an operations team, a communications team, national security stakeholders and other apex domain holders.
The above list of job duties is not exhaustive and a willingness to work flexibly as priorities change is an essential requirement of the role.
Person specification
We are looking for people who have:
- A high level of expertise in Python and Python web frameworks, ideally Django.
- Strong working knowledge of modern development tools, including Docker, git and GitHub
- A good working knowledge of Amazon Web Services, in particular deploying containerised applications
- An ability to build and maintain CI/CD tooling, ideally using GitHub Actions and AWS CodeBuild/CodePipeline
- Strong expertise building applications which integrate, transform and organise data from a range of sources
- The ability to investigate problems with running applications, including interrogating AWS logs, responding to errors raised in Sentry (or similar tools) and applying fixes
- Experience of deploying applications and infrastructure using either the Python CDK or other infrastructure as code products
- A good working knowledge of Linux/UNIX, including system administration and shell scripting
- The ability to secure applications and cloud environments in line with industry best practice
- Leading work within an Agile environment, including leading and supporting more junior developers