Software Developer - Cabinet Office - SEO

Posted 3 hours 42 minutes ago by Government Digital & Data

£43,760 - £51,690 Annual
Permanent
Full Time
Marketing & PR Jobs
Not Specified, United Kingdom
Job Description
Location

Bristol, Glasgow, Manchester, Newcastle-upon-Tyne, York.

Existing CO staff can work in the their original contractual work location.

Existing Civil Servants working in all other departments can work in Bristol, Glasgow, Manchester, Newcastle & York.

External candidates can work in Bristol, Glasgow, Manchester, Newcastle & York.

About the job Job summary

We're seeking a Software Developer experienced in back end (with focus on data pipelines) as well as wider technologies.

You can code in Python and have experience of ETL systems e.g., Apache Spark or similar. During the interview, it will be beneficial to share and walk the panel through any historic code you have written.

You will work as part of a multidisciplinary team, supporting project in areas such as Artificial Intelligence, Robotic Automation and Data analysis

The ideal candidate will be proactive and collaborative, with a passion for clean, maintainable code and modern development practices. They are familiar with AGILE methodology, but are equally able to take ownership for key deliverables and can deliver autonomously.

Knowledge working with AI solution implementation is advantageous but not essential.

Job description

You will join the Cabinet Office Digital, Data, Insights and AI team as a Software Developer in a multidisciplinary Agile team, delivering services for a large data warehouse and analytics platform (GRID).

As a software engineer, you will initially have a core focus on back-end development.

You will:

  • Lead development of data engineering requirements from requirement through to live support.
  • Complete information assurance activities for data transfers containing sensitive data (e.g., Data Protection Impact Assessments, Privacy Notices).
  • Carry out performance and incident monitoring to ensure the smooth running of data services.
  • Support the wider team with broader priorities, including front-end design.
  • Coach and mentor junior developers, sharing good engineering practices.

The role responsibility may slowly change over time.

Your main focus will be:

  1. Python and Extract, Transform and Load (ETL) processes.

You will require knowledge of:

  • PySpark (AWS Glue) to build scalable data pipelines.
  • AWS Lake Formation to implement Attribute-Based Access Control (ABAC).
  • Apache Iceberg to store data and optimise query performance.

Key broader technologies used by the wider team:

  • Python as the primary programming language for general tasks.
  • TypeScript to design front-end services using React.
  • JavaScript/Node.js for backend services.
  • YAML/JSON (CloudFormation) and Terraform (HCL) for infrastructure as code.
  • Terraform, CodePipeline, and GitHub Actions for infrastructure deployment.
  • Amazon Web Services (AWS) for hosting digital services.
  • Kubernetes and Docker for containerisation.
  • Apache Iceberg, PostgreSQL, SQL Server, and Redis as databases.
  • OpenSearch for vector stores used for storing and querying high-dimensional embeddings.
  • Knowledge graphs, including the use of triplestores for storing and querying RDF data.
  • Amazon Bedrock for hosting LLMs.
  • GOV.UK Design System for interface design.
Person specification

This role is aligned with the Government Digital and Data Profession Capability Framework, Software Developer role:

Availability and capacity management

You can (working knowledge):

  • Manage service components to ensure they meet business needs and key performance indicators (KPIs).

Development process optimisation

You can (awareness):

  • Explain the importance of developing process efficiency and the common ways in which processes are optimised
  • Support specific activities to improve development processes
  • Identify obvious deficiencies.

Information security

You can (practitioner):

  • Design solutions and services with security controls included, specifically engineered to mitigate security threats.

Modern development standards

You can (practitioner):

  • Apply modern development standards and support others in applying them.

Programming and build (software engineering)

You can (practitioner):

  • Collaborate with others when necessary to review specifications
  • Use the agreed specifications to design, code, test and document programs or scripts of medium-to-high complexity, using the right standards and tools.

Prototyping:

You can (practitioner):

  • Approach prototyping as a team activity, actively soliciting prototypes and testing with others
  • Establish design patterns and iterate them
  • Use a variety of prototyping methods and choose the most appropriate.

Service support

You can (working knowledge):

  • Help fix service faults following agreed procedures
  • Carry out maintenance tasks on service support infrastructure.

Systems design

You can (working knowledge):

  • Translate logical designs into physical designs
  • Produce detailed designs
  • Effectively document all work using required standards, methods and tools, including prototyping tools where appropriate
  • Design systems characterised by managed levels of risk, manageable business and technical complexity, and meaningful impact
  • Work with well understood technology and identify appropriate patterns.

Systems integration

You can (working knowledge):

  • Build and test simple interfaces between systems
  • Work on more complex integration as part of a wider team.

User focus

You can (practitioner):

  • Collaborate with user researchers and can represent users internally
  • Explain the difference between user needs and the desires of the user
  • Champion user research to focus on all users
  • Prioritise and define approaches to understand the user story, guiding others in doing so
  • Offer recommendations on the best tools and methods to use.