Michael Allen Technical Leader

Next available: December 2024

A picture of Michael Allen

An dedicated, flexible, and reliable engineer with experience leading teams and delivering a range of complex digital services over 13 years.

As an engineering leader I value technical excellence, continuous improvement and transparent communication. I exploit my practical platforms engineering background to drive tooling modernisation and automate toil resulting in more reliable delivery, and happier engineers.

My goal is always to balance empowering my team to do meaningful work, whilst prioritising user value and key stakeholder needs.

# Skills

I consider myself a skilled technical leader and T-shaped developer, with hands-on experience in every area of Software Development. I also consider myself tool-agnostic, capable of rapidly becoming effective and productive in any language or toolchain.

# Agile Delivery

  • I have extensive experience working with Product Owners and Business representatives to develop agile, iterative plans
  • I have successfully led teams in a variety of engagement formats including: greenfield product development, legacy system displacement, and digital transformation
  • I work with my teams to build sustainable, predictable delivery through continuous refinement of the plan
  • I have reformed failing projects into successful deliveries by re-running discovery and alpha phases, reducing the scope of an initial release, and releasing early and often
  • I have experience pitching projects both to internal stakeholders and sponsors and to external clients, including preparing pitch packs, presentations, and project forecasts

# People Management

  • I use targeted pair refactoring to work with members of a team to simultaneously clean up areas of the codebase that are in need of refactoring and teach good practices
  • I have implemented 360 degree feedback processes and performance review schedules on teams where existing feedback processes were missing or inadequate
  • I use regular 1 to 1 meetings to provide timely feedback and dive into my team members wants and needs for their role
  • I have deployed organisation wide feedback surveys to gather deeper understanding of team satisfaction and present the data to upper management to feed into organisational change proposals

# Development

    • Typescript
    • Python
    • Node.js
    • Scala
    • Bash
    • Java
    • Ruby
    • CSS
    • HTML
    • C#
    • Objective C
  • I enforce best practice approaches to testing and code quality through code reviews, pair programming, and automated linters
  • I employ living documentation methods such as Architectural Decision Records (ADRs), runbooks, and collaborative policy handbooks to ensure that direction is clearly understood and shared amongst my teams
  • I use system level thinking, such as Wardley Maps and C4 diagrams, to aid in driving out the root cause of technical issues and identify risks during planning

# Infrastructure

    • Kubernetes
    • Circle CI
    • Harness
    • Docker
    • Nginx
    • AWS
    • Drone CI
    • Ansible
    • Puppet
    • Heroku
    • Terraform
    • Azure
  • I encourage my teams to own their code through to live operation, owning their deployment pipeline or collaborating closely with Ops
  • I build tools and systems that empower product teams to self-serve and remove barriers to entry for complex shared systems
  • I look to automate repetitive tasks at every step of development, including automated build, deployment and testing
  • I have real world experience leading teams doing full Continuous Delivery, releasing to production safely multiple times a day
  • I emphasise Devops culture on teams I lead, by supporting developers learning to build infrastructure automation and deployment code

# Tools

  • I work on Ubuntu and Mac OSX
  • I use Docker to create development environments
  • I have used VirtualBox and Vagrant for development environments
  • I am fluent in Bash and Zsh
  • I use Vim as my primary editor, fallback on VSCode if Vim doesn't suit

# Experience

# Collections 2.0

Times Higher Education Aug 2021 - Sep 2024 3 years, 2 months

I joined THE to lead on replacing an aging data capture system, which underpins the company's primary revenue stream. Collections 2.0 would allow the THE Data team to self serve using a WYSIWYG visual editor, reducing the cost of creating new collections, removing inter-team dependencies and handovers, and enabling THE to gather more data each year, driving growth in the Data Products revenue.

As a growth critical project, Collections 2.0 involved senior stakeholders from every side of the business. A significant part of my role was to negotiate for mutually good outcomes between the various, sometimes conflicting, stakeholder needs, our Engineering teams expected quality and operability standards, and the time and cost implications of the project plan.

My hiring was part of the Engineering organisation growth from a handful of scrappy engineers. I was empowered by our CTO to set the base standard for new services and drive changes through the team that would level up every project. In this role I focused on tooling modernisation, taking the our teams away from hand-rolled CI and Auth systems to modern SAAS products, and introducing modern software development practices such as Continuous Delivery and Incident Management.

Through the introduction of automated linters, modernisation of tooling, and DORA metrics gathering, I provided management with the evidence needed to calm fears around Continuous Delivery. As a result our production deployments went from once a month, with weeks of manual QA as a quality gate and a change fail rate above 50%, to multiple times a week with a change fail rate below 0.5%.

    • Typescript
    • React
    • NestJS
    • NextJS
    • Kubernetes
    • Harness

# Parental Leave

Daughter, 9 months old May 2021 - July 2021 3 months

My daughter was born during the second COVID lockdown. Working on a startup during "the event" led me to miss her early moments.

I highly value sharing parental responsibilities and so I left Kantan in April to spend 3 months dedicated to caring for her before starting a new position.

    • Conflict resolution
    • Negotiation
    • Prioritisation of conflicting requirements

# Kantan

Jan 2020 - April 2021 1 year, 4 months

Kantan was a startup aiming to become the "OS for Tradespeople". Funded by the OVO Group, they are a small team helping trade professionals work smarter.

As one of the early hires I took a leadership role in planning and prioritising work, improving code quality and helping our team work smarter. I focused on shaping an inclusive culture and improving our systems and tools to unlock the potential of our small team.

From day 1 I took ownership of hard problems, such as a system for dynamic job sheets, designing our solution and splitting it up into incremental improvements so our team could implement a minimum releasable feature as soon as possible.

I'm very proud of the effort my team and I put in to Kantan, delivering a product that our users love against incredibly tight timescales.

    • React Native
    • Typescript
    • Apollo
    • Graphql
    • Python
    • Django

# Spark

Financial Times Jan 2019 - Jan 2020 1 year

Working as part of a cross-discipline team, I led the creation of a new Content Editor based on the Prosemirror library and React. During initial development I focused on proving the teams main requirements of a simple user interface, interactive components (to allow customisation of content), and multi-user collaboration.

As Prosemirror's interfaces are quite complicated and the library was unknown to the team I built abstractions to integrate Prosemirror with the more familiar world of React. This allowed the team to build powerful interactive components into the editing surface.

After initial implementation and a successful switch of all users to the new Prosemirror editor, I worked on building a powerful version management system that allowed users to track contributions to an article, compare differences between each version and roll back undesired changes.

    • Prosemirror
    • React
    • Node.JS
    • Webpack
    • Heroku

# MyAccount and Core teams

DAZN via 101 Ways Mar 2018 - Dec 2018 10 months

As a Senior React Developer, I worked with a 4 developer team to build the MyAccount section of DAZNs new streaming platform. I took the lead on building a library that integrated MobX with React-router. I treated this library as if it was an open source project, generously documenting it and gathering feedback from users in order to improve it.

Having demonstrated to DAZN that I had a knack for finding and fixing platform level issues I was asked to join the Core team, who are responsible for DAZNs code delivery platform. Here I implemented changes that dramatically reduce integration failures, reduced merge-to-deploy cycle time from 50 mins to 3 mins, and improved developer feedback loops.

    • React
    • Mobx and Mobx-state-tree
    • Node.JS
    • Webpack
    • Drone CI
    • AWS Lambda

# One per Page

HM Courts and Tribunal Service via Digi2al Oct 2017 - Mar 2018 5 months

As Lead Maintainer, I built and released an open source library that makes building the "One question per page" style services easier.

I drew on my previous experience with Apply for Divorce and Register to Vote to solve the hard problems involved with One per Page transactions.

In developing this framework I put a lot of effort in to researching with real users, gathering their feedback to ensure that the interfaces I designed were easy to understand and flexible enough to customise to their need.

# Apply for Divorce

HM Courts and Tribunal Service via Digi2al April 2016 - Aug 2017 1 year, 5 months

As Technical Lead, I led a large team in the development of the Apply for Divorce service from Discovery through to release and iteration of a successful Private Beta. I shaped the technical design and pushed for constantly better software and software delivery.

In order to prevent blocking the team while we hired more Ops staff, I worked with a fellow Tech Lead in advocating for and building a more reliable, automated, Infrastructure. Together we reinvigorated the programme's Ops team and brought more modern release practices to the development pipeline.

# Lighthouse

Defence Science and Technology Laboratory via Digi2al Jan 2016 - Mar 2016 3 months

As Infrastructure Engineer, I built an automated delivery pipeline that could to deploy in to a highly secure environment that we had no access to.

# Sign your Mortgage

Land Registry via Kainos Feb 2014 - Sept 2015 1 year, 8 months

As Technical Lead, I led a 7 person team in the development of the Sign your Mortgage service. The team comprised of a mix of contractors and Civil Servants, who were new to development. We used pair programming and workshops to support them in learning the skills necessary to own the service once complete.

I designed the system architecture iteratively based on discussions with the Product Owner and investigation of the requirements with Land Registry subject matter experts.

# Security Platform

Department for Work and Pensions via Kainos Sept 2014 - Feb 2015 6 months

As Technical Lead, I worked closely with the DWP teams Product Owner and Technical Architects to rebuild their waterfall plan in to an iterative backlog.

# Register to Vote

Government Digital Service via Kainos Feb 2012 - Aug 2014 2 years, 6 months

Through initial Alpha to Beta and Live release, I worked as the primary engineer on the Register to Vote frontend application, designing the component architecture for the Frontend app and implementing a significant amount of the components.

I worked closely with the Designer and Researcher to ensure that the app held to the best experience possible for the user.

# Qualifications

  • Certified Scrum Master — ScrumAlliance
  • Functional Programming in Scala — École polytechnique fédérale de Lausanne
  • Principles of Reactive Programming — École polytechnique fédérale de Lausanne
  • Computer Science, 1st class Masters degree — Queens University Belfast

# Contact