Technology at dxw
The technology team is made up of 3 disciplines:
- technical architecture
- development
- technical operations
Technical architects are usually involved early on in projects, figuring out what needs to be done at a high level and thinking about the overall design. Developers take that high level plan and go into detail, all the way down to individual lines of code. Operations engineers get that code public and make sure it stays up regardless of how many people want to access it.
How we do development #
Good code starts with understanding, and is rooted in the real world. We get involved in the research and design to understand the needs of our users and the constraints of the organisations we’re working with.
We aim to ship new code regularly, delivering value to our users as quickly as possible. This is less prone to problems than waiting a while to ship lots of new features at once, and gives us a feeling of progress.
We build for quality and consistency, and think about those who come after us. We use straightforward technology and conventional approaches wherever possible because we’re building for accessibility, security and reliability. We vary from convention only on the domain specific stuff, where it adds the most value.
We write tests to check if our code is doing what we expect, use linters that ensure everyone writes code in the same way, and document our decisions for future reference. We also review each other’s code to learn from one another and to catch errors.
Almost all of our code is stored in public repositories so other developers can learn from what we’ve done and reuse our work. Every change we make to a project’s code has a note attached to it explaining what the change is and why it was made. These records are invaluable as ways of helping us understand each other’s work both in the moment and years later when trying to figure out a past decision.
Why the tech team’s work is important #
dxw builds digital public services, and in practice that usually means a website, either for the public or for civil servants. Websites mean code, and that’s the tech team’s responsibility. Beautiful, reliable, well documented code that implements the vision of our designers in a way that makes good technical sense.
Part of dxw’s mission is also to help government spend less on technology, and this is where our focus on tried and tested technologies and good documentation has a big impact. The services we built often have to be maintained and iterated on by small, and sometimes less experienced, teams in government. Keeping things simple ensures that that is as cheap and painless as possible. The things we build should be set to thrive after we leave.
How tech works with the wider dxw team #
In some organisations designers design and coders code, and there is only limited interaction between the two. In dxw a hugely important part of our approach is that we work in multi-disciplinary teams. We get involved in research and design so that we understand what will need to be built long before we need to write the code. That gives us an opportunity to help our colleagues in other disciplines understand what’s easy to implement and what’s not, and to figure out alternative approaches that will meet the same needs in different ways.
Last updated: 20 March 2024 (history)