Developer - Government Digital Service
Role details
Job location
Tech stack
Job description
As a GDS Senior Developer, you'll contribute to the digital transformation of government by building and supporting high-quality digital services. You will play a key role in designing and delivering robust, scalable software solutions that meet user needs while aligning with broader GDS standards and practices.
You'll contribute through hands-on engineering, applying modern development practices and helping build resilient, secure and maintainable services. You'll participate in technical discussions and design decisions, helping ensure solutions are practical, well implemented and aligned with wider architectural approaches.
Senior Developers work closely with other engineers, architects, product managers and multidisciplinary teams. You'll collaborate to solve complex technical problems, contribute to improving engineering practices and help maintain high standards of code quality, reliability and performance. You'll thrive using agile methods and enjoy working collaboratively across teams to deliver meaningful outcomes.
Above all, you'll want to make government services better for users, contributing to the continual improvement of the way teams build, run and evolve digital services., * contribute to improving the way the team works, supporting effective engineering practices, development workflows and collaborative approaches that help the team deliver high-quality software
- be a strong technical contributor within the team, maintaining proficiency across the systems, platforms and tools used to build and operate services
- help the team understand how different parts of the system interact, supporting the investigation and resolution of complex technical issues and enabling the team to work confidently across the broader technical landscape
- collaborate with engineers and architects to explore appropriate technologies, patterns and approaches, contributing to decisions about when new software should be written and helping ensure solutions are pragmatic, maintainable and aligned with organisational standards
- contribute to technical decision-making within the team, helping maintain a high standard of engineering quality through thoughtful design and implementation
- support and mentor other developers, sharing knowledge and helping colleagues build confidence and capability in their technical work
- participate in constructive technical discussions, contributing ideas and respectfully challenging proposals to help the team reach well-reasoned decisions
- share knowledge through collaboration, documentation, code reviews and technical discussions, helping ensure understanding is spread across the team
- apply and advocate for good engineering practices such as testing, code quality, observability, security and maintainability
- contribute to the wider engineering community within the organisation, sharing knowledge, participating in communities of practice and collaborating with other teams
Requirements
- strong experience building and operating serverless services on AWS, using technologies such as Lambda, API Gateway, DynamoDB, SQS, SNS, EventBridge and Step Functions.
- strong TypeScript and Node.js development skills, using modern tooling, testing frameworks and development practices.
- experience working with AWS services such as S3, IAM, VPC networking (ideal), SSM Parameter Store / Secrets Manager and CloudWatch.
- experience developing event-driven and asynchronous systems, integrating services through queues, events and APIs.
- experience implementing and maintaining infrastructure as code, ideally using AWS CDK.
- the ability to build secure, well-tested and maintainable services, following modern engineering practices including automated testing, CI/CD and observability.
- the ability to work across a mixture of product stages - greenfield development, evolving services into operational products, and maintaining established live services
- the ability to bring an operational mindset to development, considering reliability, observability and maintainability from the start
- the ability to work effectively as a senior engineer within a team, contributing to technical discussions and helping shape implementation approaches
- the ability to support and mentor more junior developers, helping to improve team capability and engineering practices
- experience developing and operating large-scale web services
- experience building microservice or serverless applications and/or running applications in the cloud
- the ability to rapidly research and learn new tools, techniques and paradigms to solve technical problems
- the ability to use testing, prototyping and discovery techniques to validate ideas and inform development decisions
- experience working in agile environments and iterating on both software and team processes
- a good understanding of security considerations in operational services from end to end
- experience building robust and accessible systems that work for as many users as possible
- the ability to be comfortable contributing to technical discussions and evaluating technology choices with their team
- the ability to apply and promote engineering practices such as Test Driven Development (TDD), continuous integration, continuous delivery and DevOps methodologies
Working environment