Tom Pennington, CV Linkedin, GitHub

Personal Profile

I am an experienced, passionate software engineer based in Warrington and am currently working in Liverpool. I don’t like the term ‘Full Stack’, I consider myself a ’T’ shaped engineer with a skillset predominantly focused on front end technologies such as JavaScript. I am confident and comfortable working on other parts of the tech stack using my skills in .NET Core and Terraform. I love writing clean code, automated testing, infrastructure as code and learning new things.

Education & Qualifications

Edge Hill University 2010-2013

1st Class BSc (Hons) Web Systems Development

Rainford Sixth Form 2008-2010

Product Design (A), ICT ( C ), PE (D)

Rainford High Technology College 2003-2008

GCSE Qualifications

  • ICT (A)
  • Physical Education (A)
  • Resistant Materials (B)
  • Geography (B)
  • Maths ( C )
  • Core Science ( C )
  • Additional Science ( C )
  • English Language ( C )
  • English Literature (D)

Work Experience

Senior Software Engineer

Ditto Music (Jun 2018 - Present)

Working in a small team part remote, I am responsible for the arhicecture of the front end of Ditto’s new systems. Our teams mission is to break down the current monolith PHP system into a series of microservices and deploy them into AWS, striving to deliver customer and business value with each iteration.

To date, we have delivered on the first major piece of work, the new customer sales and royalties area. This is a .NET Core web application with parts of the page componentised using React to enhance the user experience. All the data powering the dashboard is in an AWS managed instane of ElasticSearch with a GraphQL API sitting in front of it. I have used React Apollo on the front end to retreive this data.

Ditto Music Sales Area

While building out Ditto’s new systems, I am also responsible for working with our Head of UX and Design to ensure the user experience is consistent. I have followed the Atomic Design methodology to build up a pattern library filled with reusable components we can use across any of our UI’s at Ditto, whether they are internal systems or customer facing.

Although my main responsibility is the front end architecture, as a software engineer I am also required to work across the tech stack. This has meant that I have been exposed to and worked with several different technologies such as GO CD, Terraform, .NET Core, ElasticSearch, AWS Lambda, GraphQL, Apollo, Redis and React.

Senior Software Engineer

Zuto (Apr 2015 - Jun 2018)

When I joined Zuto as a Software Engineer, I was placed in the acquisition squad. My responsibility was to create seamless interfaces for Zuto’s affiliate partners including AutoTrader, Money Supermarket, Gumtree and AA Cars. To achieve this I generated a web static page for each affiliate, based off a single Handlebars template.

From within the dealer pillar, I worked in a cross functional team on a specific business area. For 18 months I worked on Zuto’s first secure account area for customers. During this project I practiced TDD by writing JavaScript unit tests in Jasmine. I also decided on our tech choice for writing automated acceptance tests in WebDriverIO and running them in PhantomJS.

Another key deliverable I helped develop was a vehicle search tool inside Zuto’s account area. As well as an Angular front end, we integrated vehicles from AutoTrader and several car dealerships. I worked on this feature since the beginning and currently 20% of customers find a vehicle digitally, creating business efficiencies through time saving.

The final big project I worked on before leaving Zuto was a rebuild of their car finance application form. As part of a small squad, I worked to architect and deliver a conversational style application form, using ReactJS and Redux.

On top of my day to day responsibilities, I volunteered to work with another engineer to design and build a new CSS framework, along with a pattern library website. As the front end resources were spread thin at Zuto, I wanted to ensure that the reusable patterns we had established for the front end were implemented across the business. This lead to me setting up Zuto’s first technical guild. I took on responsibility of running sessions for anyone in the business, with the aim of sharing best practices and encouraging everyone to use the styleguide.

In my final 18 months, I became a mentor for Zuto’s first graduate developer. This involved daily pairing and regular one to ones. I also helped him set up a personal development plan which was aligned to Zuto’s competency framework.

Senior Software Engineer

Final Stage (Apr 2017 - Nov 2017)

Outside my role at Zuto, I worked most nights and weekends for a small startup in Manchester, Final Stage. Working alongside their CTO, I was responsible for building out their main website and a large scale front end application, written in Aurelia JS which formed their brand new recruitment platform.

Front End Developer

The Hut Group (Jun 2013 - Apr 2015)

After graduating from university, I started work as a front end web developer at The Hut Group. During my time here I learnt to work fast and to tight deadlines. When I first started at The Hut I was mainly involved in front end development and was responsible for completing BAU tasks, bug fixes and the implementation of new site features on The Hut Group’s ecommerce platform. I also worked on implementing redesigns of two major sites and the build of a completely new site. I optimised the JavaScript on The Hut Group’s mobile sites, using RequireJS, and also wrote a small library of SASS mixins, to apply styles to a common template for widgets used across the ecommerce platform.

In April 2014 I was chosen to work on a new team that had been specifically put together to develop a new templating engine and RESTful API layer, to interface with the existing legacy systems. Whilst working on this new team I was exposed to several technologies that I hadn’t worked with before such as NodeJS, Java, Gradle, Selenium WebDriver and GO. This was a great opportunity for me to broaden my knowledge of how the backend and the rest of the tech stack worked, as I was involved in the entire process - from the development of the application, both front and back end, to deployment.

Junior Developer

Add People (Oct 2011 - Jun 2013)

While studying at university, I was able to experience what it was like working in the web industry in my temporary role at Add People in Altrincham. My duties here included building simple websites and small ecommerce websites using technologies such as WordPress, WooCommerce, OpenCart and Magento. My role here was for one day a week during my first and second years at university.


  • HTML & CSS
  • SASS
  • Atomic Design
  • JavaScript
  • ES6
  • ReactJS
  • AngularJS
  • Aurelia
  • Cypress
  • Jest
  • WebdriverIO
  • Jasmine
  • NodeJS
  • NPM
  • Webpack
  • Gulp & Grunt
  • Azure & AWS
  • AWS Lambda
  • Terraform
  • elasticSearch
  • Apollo
  • GraphQL
  • GO
  • .Net Core
  • Java
  • Gradle
  • Selenium WebDriver
  • BrowserStack
  • Git, Mercurial & SVN

Interests and Activities

When I’m not working you’ll find me doing things you’d expect a guy in his mid twenties to be doing. Playing football, video games, drinking beer with friends and traveling. I’m a huge Wigan Athletic fan, occasional surfer and I’m pretty good at pool. I also like to get involved in development related events such as Hack Manchester and more recently, Homeless Hack Manchester.

I have a clean driving licence and have my own transport.


Available upon request.