Skip to main content

Teaching civil servants to code

Posted by: , Posted on: - Categories: Defra digital

Over the last six months, a small group of Civil Service Digital, Data and Technology (DDaT) Fast Streamers have been using some of our time to build a prototype learning and development tool for colleagues across the Civil Service. It’s a cross-government effort by a small group of interested volunteers.

It’s called Learn to code, and it’s aimed at civil servants who have never coded anything before. The goal isn’t to turn them into professional developers, but to give them a better understanding of how digital products and services work. That way, they’ll be in a better position to work with collaborative multidisciplinary teams who build things like that every day. I recently showed the prototype to Defra’s joint Chief Digital Officers, Harriet Green and Myra Hunt, and they encouraged me to write a blog post about it. So here goes.

Learn to code image

Why we did this

I’m currently the Digital Strategy Lead in Defra digital. Soon after starting in the Fast Stream, I noticed that there was no training on offer that covered learning to code. I mentioned it to colleagues on the Fast Stream and they agreed.

Fast Streamers are often placed in different teams with varying levels of digital experience and maturity. We soon realised that many of our year’s cohort had limited coding experience. But many of them recognised the value that understanding code could bring to their work.

We also saw the value it could bring to our colleagues’ work: bringing policy and delivery closer together is so much more effective when digital teams and policy teams understand each other’s needs.

From policy professionals to Product Managers and Digital Leaders, we think encouraging civil servants to interact with code can:

  • improve awareness of what working in digital environments is like
  • refine expectations of projects and work
  • allow all disciplines and professions to feel part of the conversation
  • build confidence among generalists working in digital teams

What it covers

Learn to code was built by a small group of Fast Streamers who got together and decided to build something to address what we saw as an unmet need.

Although there are plenty of existing online tutorials that teach people how to code, we wanted to create something new with a specific focus on the needs of civil servants. Learn to code helps them understand:

It’s not just about code, it’s about how code is used to build digital services in government.

The team that built Learn to code are:

  • Chris Dennett, Digital Strategy Lead, Defra
  • Josh Hackett, (Secondment) Samaritans, Product Manager
  • Maxwell Reiss, Government Digital Service, Content Strategist
  • Israel Gichaara, Department for International Trade, Service Designer
  • Nerea Harries, Office for National Statistics, Delivery Manager
  • Victoria Steenson, Department for International Trade, User Researcher

How we’re building it

Learn to code follows a curated path using a combination of existing tools, code examples and written instructions. The service is made up of 6 modules helping beginners develop a product, from initial idea to working prototype. All of our content is designed to meet the government’s Digital Service Standard - teaching users not only how to build things, but build things the civil service way.

It is a completely open-source project, currently hosted on Github. As a remote team this allows us as a team to make changes easier, but also allows us to hear suggestions from people not affiliated with the team.

Learning from alpha

In July we conducted a closed alpha amongst a group of Fast Streamers to hear their thoughts on Learn to code, and look at areas of improvement.

Within 2 months we had a list of areas that did well, some that needed work, and some new things we had not thought about. Perhaps the most surprising thing we learned was not to do with content, but instead that Learn to code is not accessible in every department due to the restrictions some departments place on internet access.

The alpha phase was a very rewarding experience for us. We found that when people committed to the service they were able to build some really interesting projects. For example, one user has started building a library app using the available modules.

Beta and beyond

Learn to code is currently in open beta, and is free for anyone to use. We are currently doing more user research with a new cohort of DDaT Fast Streamers. We don’t yet know what the long-term future of the service will be; we’re exploring ways to get future development funded, and how to get the service a permanent home on GOV.UK. There are a few obstacles we need to overcome first and we are addressing them whilst we work in our respective departments.

We have added some new changes based on feedback. Lessons now include visual aids to help learners understand complex content, and we are exploring adding video elements to some of the modules.

We want Learn to code to be accessible for anyone in the Civil Service to use, and we encourage people to try it out. If you or your team are interested in discussing the service further, feel free to contact us by email at

Sharing and comments

Share this page


  1. Comment by Folayan Jarrett posted on

    A bold and fantastic drive. This is a great effort and one that will offer valuable learning for civil servants in the current digital world.

  2. Comment by Salma Patel posted on

    This is great and I started the course in early April. Are you able to send me the new link please as the existing link does not seem to be working?
    Many thanks,

  3. Comment by Daniel posted on

    This sounds great. I've click the link to the 'learn to code' site but I think the link is broken. Is this project still ongoing??

    • Replies to Daniel>

      Comment by Chris posted on

      Hi! Apologies, it should be up and running now!