Software developer - Government Digital and Data Profession Capability Framework
Cookies on Government Digital and Data Profession Capability Framework
We’d like to use analytics cookies so we can understand how you use the framework and make improvements.
We also use essential cookies to remember if you’ve accepted analytics cookies.
View cookies
Your cookie settings were saved. You can
change your cookie settings
at any time.
Government Digital and Data Profession Capability Framework
Beta
Complete our 3 minute
feedback survey
to help us improve the framework.
Software developer
Find out what a software developer in government does and the skills you need to do the role at each level.
See all updates
Contents
What a software developer does
Software developer role levels
1. Apprentice developer
2. Junior developer
3. Developer
4. Senior developer
5. Senior developer - management
6. Lead developer
7. Lead developer - management
8. Principal developer
9. Principal developer - management
Roles that share software developer skills
Senior Civil Service roles that software developer could lead to
What a software developer does
A software developer designs, runs and improves software that meets user needs.
In this role, you will:
be responsible for writing clean, secure code following a test-driven approach
create code that is open by default and easy for others to reuse
Software developer role levels
There are 9 software developer role levels, from apprentice developer to principal developer - management.
The typical responsibilities and skills for each role level are described in the sections below. You can use this to identify the skills you need to progress in your career, or simply to learn more about each role in the Government Digital and Data profession.
1. Apprentice developer
An apprentice developer attends certified training and develops skills on the job.
At this role level, you will:
spend a substantial portion of time shadowing others
work with other developers to write code and tests
build your knowledge
follow a test-driven approach
write code that is automatically tested
This role level is most often performed at the
Civil Service job grade
of:
AO (Administrative Officer)
EO (Executive Officer)
Skill
Description
Availability and capacity management
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
explain availability and capacity management processes
Information security
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
explain information security and the security controls available to protect solutions and services
Modern development standards
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
explain the importance of using modern development standards
Programming and build (software engineering)
Level: working
Working is the second of 4 ascending skill levels
You can:
design, code, test, correct and document simple programs or scripts under the direction of others
Prototyping
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
explain what prototyping is, and why and when to use it
understand how to work in an open and collaborative environment (by pair working, for example)
Service support
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
help with the investigation and fixing of service faults, completing defined activities under direction
User focus
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
show an awareness or understanding of user experience analysis and its principles
explain the purpose of user stories and the focus on user needs
2. Junior developer
A junior developer learns on the job by delivering software components.
At this role level, you will:
develop skills while working under supervision to deliver stories in a multidisciplinary team
understand and be proficient in different types of testing
be aware of but not responsible for security
coach and mentor more junior colleagues
This role level is most often performed at the
Civil Service job grade
of:
EO (Executive Officer)
HEO (Higher Executive Officer)
Skill
Description
Availability and capacity management
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
explain availability and capacity management processes
Information security
Level: working
Working is the second of 4 ascending skill levels
You can:
use information security practices and available security controls to contribute to protecting solutions and services
Modern development standards
Level: working
Working is the second of 4 ascending skill levels
You can:
explain the most important principles of modern development standards and how they apply to your work
apply modern development standards principles under guidance
Programming and build (software engineering)
Level: working
Working is the second of 4 ascending skill levels
You can:
design, code, test, correct and document simple programs or scripts under the direction of others
Prototyping
Level: working
Working is the second of 4 ascending skill levels
You can:
understand when to use a specific prototyping technique or method
show the value of prototyping to your team
Service support
Level: working
Working is the second of 4 ascending skill levels
You can:
help fix service faults following agreed procedures
carry out maintenance tasks on service support infrastructure
Systems design
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
assist as part of a team in the design of components of larger systems
Systems integration
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
explain the process and principles of integrating systems.
describe challenges of designing, building and testing interfaces between systems
User focus
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
show an awareness or understanding of user experience analysis and its principles
explain the purpose of user stories and the focus on user needs
3. Developer
A developer delivers software components that form part of a product.
At this role level, you will:
develop software to meet user needs
follow best practice guidelines and help to improve those guidelines
write clean, secure and well-tested code
coach and mentor more junior colleagues
operate the services you build and identify issues in production
This role level is most often performed at the
Civil Service job grade
of:
HEO (Higher Executive Officer)
SEO (Senior Executive Officer)
Skill
Description
Availability and capacity management
Level: working
Working is the second of 4 ascending skill levels
You can:
manage service components to ensure they meet business needs and key performance indicators (KPIs)
Development process optimisation
Level: awareness
Awareness is the first of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design solutions and services with security controls included, specifically engineered to mitigate security threats
Modern development standards
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
apply modern development standards and support others in applying them
Programming and build (software engineering)
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: working
Working is the second of 4 ascending skill levels
You can:
help fix service faults following agreed procedures
carry out maintenance tasks on service support infrastructure
Systems design
Level: working
Working is the second of 4 ascending skill levels
You can:
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
Level: working
Working is the second of 4 ascending skill levels
You can:
build and test simple interfaces between systems
work on more complex integration as part of a wider team
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
4. Senior developer
A senior developer delivers and integrates software to form a complete service.
At this role level, you will:
plan and lead development on sets of related stories
have an understanding of the whole system and take responsibility for teaching this to others
work with other disciplines to understand what needs to be built
coach and mentor more junior colleagues
operate the production services you build
find ways to improve system robustness, resilience and stability
There are 2 different roles at this level - a technical role and a management role.
This role level is most often performed at the
Civil Service job grade
of:
SEO (Senior Executive Officer)
G7 (Grade 7)
Skill
Description
Availability and capacity management
Level: working
Working is the second of 4 ascending skill levels
You can:
manage service components to ensure they meet business needs and key performance indicators (KPIs)
Development process optimisation
Level: working
Working is the second of 4 ascending skill levels
You can:
work under guidance to identify process optimisation opportunities
contribute to the implementation of proposed solutions
Information security
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design solutions and services with security controls included, specifically engineered to mitigate security threats
Modern development standards
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
apply modern development standards and support others in applying them
Programming and build (software engineering)
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
identify, locate and fix service faults
Systems design
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design systems characterised by medium levels of risk, impact, and business or technical complexity
select appropriate design standards, methods and tools, and ensure they are applied effectively
review the systems designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology
Systems integration
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
define the integration build
co-ordinate build activities across systems
understand how to undertake and support integration testing activities
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
5. Senior developer - management
A senior developer delivers and integrates software to form a complete service.
At this role level, you will:
plan and lead development on sets of related stories
have an understanding of the whole system and take responsibility for teaching this to others
work with other disciplines to understand what needs to be built
coach and mentor more junior colleagues
operate the production services you build
find ways to improve system robustness, resilience and stability
There are 2 different roles at this level - a technical role and a management role.
Skill
Description
Availability and capacity management
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
ensure the correct implementation of availability and capacity management standards and procedures
identify capacity issues and implement the required changes
initiate remedial action
Development process optimisation
Level: working
Working is the second of 4 ascending skill levels
You can:
work under guidance to identify process optimisation opportunities
contribute to the implementation of proposed solutions
Information security
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design solutions and services with security controls included, specifically engineered to mitigate security threats
Modern development standards
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
apply modern development standards and support others in applying them
Programming and build (software engineering)
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
identify, locate and fix service faults
Systems design
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design systems characterised by medium levels of risk, impact, and business or technical complexity
select appropriate design standards, methods and tools, and ensure they are applied effectively
review the systems designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology
Systems integration
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
define the integration build
co-ordinate build activities across systems
understand how to undertake and support integration testing activities
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
6. Lead developer
A lead developer leads development on one or a small number of related project teams.
At this role level, you will:
guide the ways in which the team works
be proficient in a wide range of technical systems
be involved in identifying appropriate technology and approaches, deciding when software should be written
contribute to the developer community
provide technical leadership, coaching and mentoring your team
promote knowledge sharing and adoption of good practice
There are 2 different roles at this level - a technical role and a management role.
This role level is most often performed at the
Civil Service job grade
of:
G7 (Grade 7)
G6 (Grade 6)
Skill
Description
Availability and capacity management
Level: working
Working is the second of 4 ascending skill levels
You can:
manage service components to ensure they meet business needs and key performance indicators (KPIs)
Development process optimisation
Level: working
Working is the second of 4 ascending skill levels
You can:
work under guidance to identify process optimisation opportunities
contribute to the implementation of proposed solutions
Information security
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design solutions and services with security controls included, specifically engineered to mitigate security threats
Modern development standards
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
identify and apply modern development standards to support complex projects and programmes
lead others in applying modern development standards
Programming and build (software engineering)
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
advise on the right way to apply standards and methods to ensure compliance
maintain technical responsibility for all the stages and iterations of a software development project
provide technical advice to stakeholders and set the team-based standards for programming tools and techniques
Prototyping
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
identify, locate and fix service faults
Systems design
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design systems characterised by medium levels of risk, impact, and business or technical complexity
select appropriate design standards, methods and tools, and ensure they are applied effectively
review the systems designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology
Systems integration
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
define the integration build
co-ordinate build activities across systems
understand how to undertake and support integration testing activities
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
7. Lead developer - management
A lead developer leads development on one or a small number of related project teams.
At this role level, you will:
guide the ways in which the team works
be proficient in a wide range of technical systems
be involved in identifying appropriate technology and approaches, deciding when software should be written
contribute to the developer community
provide technical leadership, coaching and mentoring your team
promote knowledge sharing and adoption of good practice
There are 2 different roles at this level - a technical role and a management role.
Skill
Description
Availability and capacity management
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
ensure the correct implementation of availability and capacity management standards and procedures
identify capacity issues and implement the required changes
initiate remedial action
Development process optimisation
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
analyse current processes
identify and implement opportunities to optimise processes
lead and develop a team of experts to deliver service improvements
help to evaluate and establish requirements for the implementation of changes by setting policy and standards
Information security
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design solutions and services with security controls included, specifically engineered to mitigate security threats
Modern development standards
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
identify and apply modern development standards to support complex projects and programmes
lead others in applying modern development standards
Programming and build (software engineering)
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
identify, locate and fix service faults
Systems design
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
design systems characterised by medium levels of risk, impact, and business or technical complexity
select appropriate design standards, methods and tools, and ensure they are applied effectively
review the systems designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology
Systems integration
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
define the integration build
co-ordinate build activities across systems
understand how to undertake and support integration testing activities
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
8. Principal developer
A principal developer leads and plans development across large or multiple teams.
At this role level, you will:
be an expert in many technical areas or a specialist with very deep knowledge in a particular technical area
use this knowledge, and work with related disciplines, to keep multiple teams working effectively
develop capability by facilitating internal mobility, shaping career paths and recruiting talent, ensuring they collaborate
identify, test and champion the adoption of emerging technologies
There are 2 different roles at this level - a technical role and a management role.
This role level is most often performed at the
Civil Service job grade
of:
G7 (Grade 7)
G6 (Grade 6)
Skill
Description
Availability and capacity management
Level: working
Working is the second of 4 ascending skill levels
You can:
manage service components to ensure they meet business needs and key performance indicators (KPIs)
Development process optimisation
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
analyse current processes
identify and implement opportunities to optimise processes
lead and develop a team of experts to deliver service improvements
help to evaluate and establish requirements for the implementation of changes by setting policy and standards
Information security
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
design, review and quality assure solutions and services, ensuring that they are specifically engineered to mitigate security threats
lead others in using appropriate information security practices
Modern development standards
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
identify and apply modern development standards to support complex projects and programmes
lead others in applying modern development standards
Programming and build (software engineering)
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
advise on the right way to apply standards and methods to ensure compliance
maintain technical responsibility for all the stages and iterations of a software development project
provide technical advice to stakeholders and set the team-based standards for programming tools and techniques
Prototyping
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
use a variety of prototyping methods
share best practice and coach others
look at strategic service design end to end
Service support
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
identify, locate and fix service faults
Systems design
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
design systems characterised by high levels of risk, impact, and business or technical complexity
control system design practice within an enterprise or industry architecture
influence industry-based models for the development of new technology applications
develop effective implementation and procurement strategies, consistent with business needs
ensure adherence to relevant technical strategies, policies, standards and practices
Systems integration
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
define the integration build
co-ordinate build activities across systems
understand how to undertake and support integration testing activities
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
9. Principal developer - management
A principal developer leads and plans development across large or multiple teams.
At this role level, you will:
be an expert in many technical areas or a specialist with very deep knowledge in a particular technical area
use this knowledge, and work with related disciplines, to keep multiple teams working effectively
develop capability by facilitating internal mobility, shaping career paths and recruiting talent, ensuring they collaborate
identify, test and champion the adoption of emerging technologies
There are 2 different roles at this level - a technical role and a management role.
Skill
Description
Availability and capacity management
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
ensure the correct implementation of availability and capacity management standards and procedures
identify capacity issues and implement the required changes
initiate remedial action
Development process optimisation
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
set the strategy and manage resource allocation for solution development programmes
work with client functions to establish business requirements and identify, propose, initiate and lead these programmes
Information security
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
design, review and quality assure solutions and services, ensuring that they are specifically engineered to mitigate security threats
lead others in using appropriate information security practices
Modern development standards
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
identify and apply modern development standards to support complex projects and programmes
lead others in applying modern development standards
Programming and build (software engineering)
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
use a variety of prototyping methods
share best practice and coach others
look at strategic service design end to end
Service support
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
identify, locate and fix service faults
Systems design
Level: expert
Expert is the fourth of 4 ascending skill levels
You can:
design systems characterised by high levels of risk, impact, and business or technical complexity
control system design practice within an enterprise or industry architecture
influence industry-based models for the development of new technology applications
develop effective implementation and procurement strategies, consistent with business needs
ensure adherence to relevant technical strategies, policies, standards and practices
Systems integration
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
define the integration build
co-ordinate build activities across systems
understand how to undertake and support integration testing activities
User focus
Level: practitioner
Practitioner is the third of 4 ascending skill levels
You can:
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
Roles that share software developer skills
Role
Shared skills
Development operations (DevOps) engineer
Prototyping
Service support
Systems design
Systems integration
Availability and capacity management
Information security
Modern development standards
Programming and build (software engineering)
Development process optimisation
User focus
Infrastructure engineer
Information security
Modern development standards
Systems design
Systems integration
Application operations engineer
Availability and capacity management
User focus
Command and control centre manager
Availability and capacity management
User focus
Content strategist
Prototyping
User focus
Senior Civil Service roles that software developer could lead to
Chief technology officer
Updates
Published 7 January 2020
29 August 2025
The most common
Civil Service job grades
for principal developer have been updated from ‘G6’ to ‘G7 and G6’. This change reflects the latest data on the most common grade for jobs at this role level across government.
30 November 2024
The skill 'availability and capacity management' has been updated. The level descriptions were edited to improve clarity and to better meet the definitions for each level.
The management role levels now require 'development process optimisation' instead of 'development process optimisation (management)'. These skills were identical apart from their names.
The skill level descriptions for 'systems integration' have been updated to improve clarity, better meet definitions for skill levels and to ensure consistency across the framework. This allows the skill to be shared with roles previously using the skill 'systems integration (network architect)'.
The 'modern standards approach' skill has been renamed 'modern development standards'. The level descriptions have been updated to improve clarity and to better meet the definitions for skill levels.
The skills 'information security' and 'service support' have been updated. The level descriptions were edited to improve clarity, to ensure consistency across the framework and to better meet the definitions for each level.
31 July 2023
Software developer was moved to the new software development role group.
7 January 2020
First published.
Is this page useful?
Thank you for your feedback
To help improve the framework, we’d like to know more about your visit
today.
Give more feedback on using the framework website