A career in technology is not something I planned from an early age. In fact, I initially got into web development because I wanted to build a website to advertise my guitar tutoring business and didn’t want to pay somebody to do it for me!
Before I knew it, coding in HTML became more of a hobby than giving those guitar lessons.
Getting started in technology
It took a couple of years to build up some serious knowledge - and a fair few websites for friends, family and local businesses - but I eventually got to a point where I wanted to look more seriously at career opportunities in technology.
Joining the Digital and Technology Fast Stream
I was working in the Civil Service at the time and was well aware of the need for staff with strong IT skills across all departments. I started looking into internal opportunities and found the Digital and Technology Fast Stream - the goal of which is to develop future IT leaders in government by giving applicants exposure to a range of digital and technical roles across the Civil Service in an intensive 3-year scheme.
I was fortunate enough to make it through the Fast Stream selection process. Once on the scheme and through my first posting, I started to properly understand the scale of the change that government IT was going through. People with cutting-edge skills and knowledge of developing technologies were increasingly in demand.
The Government Digital Service’s championing of agile software development was paying off and an agile approach to building digital services was becoming embedded around government. I knew I wanted to be a part of that change in the longer term, so I began looking for permanent roles in tech teams around government.
A testing role
My second placement was working on the Carer’s Allowance Digital Service, which allows citizens to make claims and report changes in their circumstances online. The project was already in beta when I joined as a junior developer.
I was asked to explore the creation of a functional automation framework for testing.
I programmed in Ruby and used the popular combination of Cucumber and Webdriver to transform software requirements into executable tests. Prior to this the developers decided which tests to run. Now the people writing user stories can actually define tests themselves. This means they know that what they are asking for is what is being tested.
The whole framework takes a Behavioural-Driven Development (BDD) approach, where functional requirements are defined by user behaviour and expectations. The Carer’s Allowance Digital Service has its own dedicated user researcher and we hold regular research sessions where we get a random sample of users to come in and test the service.
The feedback these users provide ends up defining how the service develops. With that approach driving the development of the service, it’s no surprise that the Carer’s Allowance Digital Service has a customer satisfaction rate hovering around the 90% mark.
With a firm appreciation of software testing under my belt I switched roles to become a software developer on the same service, learning to program in Scala (a language I thought was pretty obscure at the time). Java is the more widely used language in DWP, but this project wasn’t afraid to try something new. I was paired with one of the current developers and thrown in the deep end.
I found the level of discipline in the software development process had a massive impact on my knowledge and skills. We run a tight ship here, and I have learned more in the last 6 months than I have in any job I’ve ever had previously.
We take a Test-Driven Development approach, where tests come first and development comes later. It’s a discipline that transforms your thinking about how an application should work. Behaviour-Driven Development gives us reliable tests and user focused requirements, and Test-driven Development ensures we write testable code that meets the requirements.
We have such a robust testing framework and processes that we can experiment freely, but still have absolute confidence in the quality of the code when we release the new version of the service every fortnight. Software releases that might have old-world IT projects working on them for months are bordering on mundane for us.
There is demand for technical talent in DWP, to say nothing of other government departments. We’re building digital public services that matter to millions of people, using development frameworks and methodologies that are industry standard.
Now is an exciting time get on board, when many projects are still in discovery, when we are still scoping the best new technologies to use to build the best possible public services. I’d definitely recommend that anyone looking for a career in technology in government keeps an eye on the Civil Service Jobs website and vacancies in DWP.