Go back to all posts

Software Engineering in the UK public sector

What I've learnt from my 2 years as a Front End Engineer in the public sector.

Photo by Tim Mossholder on Unsplash

I joined one of London's councils almost 2 years ago as a Front End Engineer. For most of my career before this, I had worked for several large e-commerce businesses. I wanted to take an opportunity to discuss some of differences I've found in both industries and some of the things I've learnt over these past 2 years.

The one major difference from working in software engineering in the UK Public Sector compared to doing the same job in the e-commerce sector is the huge focus on designing and building products that are accessible for all. Accessibility matters. This was something I knew would be a significant difference before taking the job. Looking back on my time working in e-commerce, I can say that for the businesses I worked for, accessibility was never mentioned at all. One of the reasons I joined the council, was to learn more about how to make a website or application accessible as it was something I had began getting interested in. Prior to my time with the council, I was focused on simply writing semantic code that included all the basic features that help accessibility, those basics like title attributes on links and alt tags on images. Aside from running my websites through Google's Lighthouse, I can't say I ever spent a lot of time building accessibility compliant websites or reading WCAG.

As part of a Product Design team, I now think about the accessibility of a product or feature at the design stage with my product designers. I then think about how this will translate to my code. It can be a difficult job getting it right but it's something we have to do, because as a Government organisation we can be penalised if we don't. At the end of the day, the services a council or other public service offers is meant for everyone and in some cases, people are reliant on them, so you can't exclude anyone. I've really enjoyed learning about accessibility and it's requirements. My team are currently in the process of creating a design system for the council's digital products, so including these considerations in features and components is at the forefront of this. When I write HTML, Javascript or JSX now, I have to ask myself, will an assistive screen reader be able to read it properly? Can a keyboard user navigate a page consistently? Are page elements visible to everyone? Am I excluding anyone I can think of. That's usually a good start. I have attended the last 2 Gov UK Design Systems Days, which is also focused on accessible design, and I've learnt a lot through those.


Another big difference I've found, is how the Product team has to do things on a budget. In the Private Sector, money most of the time, is no object. Though, a lot of council's, my employers included have previously relied on using proprietary software, where they have paid big license fees to have zero control over the code base, because historically they've not had big enough teams to write or manage their own code. Thankfully, for my own employer, they have seen the need for having their own Product team and bringing their tech management in house, otherwise I wouldn't have a job. It takes a little while to untangle themselves from historical tech decisions however, so before you can re-platform to an Open Source CMS like Drupal, you're still maintaining code you've written as a work-around for that licensed CMS with it's locked down code base that you know will overwrite your code in it's latest release. Not good, I can tell you!

This then leads to the other big difference... Open Source. As my employer now has its own Product Team, that design and build its own products, there is a big switch to using Open Source platforms and products. This is good news, as not only is Open Source free, it usually has a community that you can reach out to when needed, or you can fork the code and build your own version on top among other things.


The last difference I've noticed in the Public Sector, is around design. Firstly, the number of different design disciplines. In the Private Sector, I had only ever worked with Product Designers, UX Designers and UI Designers. In the council, you have Product Designers, Content Designers and Service Designers. Service Designers design the public service in digital form, so how a service like paying your council tax, may function online (something like going to a website, signing in to an account and paying via the website etc.) The Content Designer then designs any content for this service, and the tone of voice for it. The Product Designer designs the product itself, (so the website or the account section of the website for paying the council tax). Each of these roles play a significant part and all work together in some way. For example, we plan to include a tone of voice for our design system, because how we speak to our users matters and we want it to be consistent. I don't think this was ever a consideration in the e-commerce businesses I worked at outside of the market voice which never impacted my work.

Secondly, most of the design in Public Service products can seem a little boring. The purpose is function over style much of the time. Eye catching design doesn't always exist and to be honest that is one of the only things that I miss a little from the Private Sector. Occasionally, you get to have both in the form of micro-sites or apps and products not linked to the council's main brand or external users.


That's a brief overview of the differences I've come across in my time as a Front End Engineer in the Public Sector in the UK. If there are other Engineers, Devs or Designers out there that have similar or different experiences I'd love to hear from you. Leave a comment and let me know about them.

Thanks for reading.


This story is also available @ https://www.nmk.dev/post/software-engineering-in-the-uk-public-sector-81afcccca8a7


Software Engineering in the UK public sector was originally published on Medium.com by Niall McKenna

Follow Me

You can find me on the following social channels