Download PDF

Summary

I am an energetic, creative and proficient technical leader and software engineer, with a first-class degree in Computer Science and over a decade of commercial experience across a variety of companies, including several years of leading and mentoring technical teams. I have an incredible eye for detail, aiming for the highest quality software that pragmatism will allow.

I am particularly adept at engaging with technical and non-technical stakeholders to quickly understand and extract business requirements, designing and delivering solutions that provide measurable business value quickly, enable rapid and responsive changes, and expose the necessary metrics to facilitate and validate data-driven decisions. I enjoy collaborating with a team while also working effectively independently.

My philosophy is to always leave something better than how I found it, and I apply this across my work.

Technical Skills

> Front-end (JavaScript/ES6, TypeScript, React/Redux, SASS/CSS)
> Back-end (C#, .NET Core, ASP.NET Core, Azure, SignalR)
> Mobile (Cordova, React Native)
> API design (REST, GraphQL)
> Databases (PostgreSQL, SQL Server, RavenDB, MongoDB)
> Code quality/TDD (NUnit, NCrunch, Jest, SonarQube)
> Build (MSBuild, NAnt, Rake, Webpack)
> CI/CD (Git, TeamCity, Bamboo, Octopus Deploy, Azure DevOps)

Work Experience

Software Consultant / Director

08/2018present
acceleratech

Collaborate with a variety of clients to help them produce high-quality, high-performance, high-value software, driving excellence by:

> communicating effectively with stakeholders to understand and formulate business requirements
> producing high-quality, maintainable code driven by techniques including TDD and static code analysis
> using CI/CD to enable rapid deployments with high confidence
> identifying and extracting metrics and ensuring they are used to facilitate data-driven business decisions
> encouraging the adoption of relevant tools for effective, collaborative work
> mentoring individuals and teams to support their personal and professional development and enable them to perform to the best of their abilities

Projects include:

> Mattrs (Freshfields Bruckhaus Deringer): revolutionary platform transforming the way that clients collaborate with the firm, accelerating and auditing communication, and reducing the time taken for contract signing from days to minutes (C#, .NET Core, SignalR, React, SQL Server)
> Magic Mirrors (Harrods): augmented-reality experience to increase sales by allowing customers to try on make-up virtually, unique in the UK (React, Azure)
> AG Charts (AG Grid): deeply-integrated charting experience enabling users of the popular AG Grid library to easily visualise their data, later released as a standalone product (TypeScript/JavaScript)
> API Explorer (AG Charts): rich documentation tool to visually explore the API and aid adoption (React)
> Developer documentation (AG Grid): overhaul of the documentation website, built from the ground up in Gatsby, providing a more engaging and responsive experience for developers (React, Gatsby)
> Confirmation of Payee (ClearBank): cloud-based implementation of the Open Banking name checking service to reduce fraud for thousands of end customers (C#, SQL Server, Azure)

Head of Development / Lead Software Engineer

03/201407/2018
Movebubble

Asked by the CTO to join Movebubble at a very early stage, and helped it to evolve and grow from an initial web-based offering into an innovative, mobile-centric platform with thousands of active users. Worked closely with the CTO to help create and foster an open, supportive and collaborative culture.

Started as the lead engineer on one of the product teams, designing, implementing and deploying product features across the full stack, including APIs, web and mobile. Encouraged the use of up-to-date frameworks and tools, pursued comprehensive testing across all codebases, including the use of TDD, and improved the architecture with DDD and event-driven approaches, breaking a legacy monolith into smaller microservices. Mentored other engineers and organised sessions to distribute technical knowledge around both the engineering team and the wider company.

Later promoted to Head of Development, assuming ownership and responsibility for all technical aspects of the company whilst continuing to take an active role in software development. Further improved processes across the company, increased efficiency in the engineering team by moving infrastructure to hosted providers, and recruited technical staff. Kept systems running smoothly during a 200% increase of traffic resulting from two London Underground advertising campaigns, improving database and code performance to support tens of thousands of users per month.

Senior Software Engineer

09/201302/2014
Softwire

Worked with a variety of clients across different industries, quickly deciphering unfamiliar codebases in various languages and communicating directly with off-site technical teams. Responsible for mentoring junior developers, reviewing code and providing technical and pastoral support as they began their careers. 

Software Developer

07/201108/2013
Trainline

Developed the first iterations of now commonplace electronic ticketing offerings, improving and upgrading a legacy codebase to an event-driven architecture using NServiceBus. Travelled to Bangalore, India to meet the off-shore development team, building relationships and helping to document and disseminate knowledge to the in-house team in London. Promoted to the most senior development team in the company to conceive and develop internal tools to standardise and radically improve the deployment process, collaborating with teams across the company to promote and utilise the new tools. Also responsible for maintaining internal development tooling, including version control, continuous integration and infrastructure automation. 

Software Developer

09/200907/2011
Concentra

Provided immediate value as a developer on the company’s biggest project at the time; was entrusted as sole full-time developer on the project after just three months' employment and went on to act as team lead for several large projects across both private and public sectors, regularly engaging with clients.

Education

MA (Cantab) Computer Science (First)

20062009
University of Cambridge

Modules included Digital Electronics, Operating Systems, Discrete Mathematics, Digital Communication, Security, Computer Design, Concurrent Systems and Applications, Logic and Proof, Compilers, Information Theory, Quantum Computing, Computer Vision, Distributed Systems. Also studied Mathematics and Physics.

Final year dissertation marked fourth highest in the year; involved developing a Linux filesystem with real-time data duplication between a primary server and a secondary, redundant server, which would transparently provide access to data held in the filesystem in the event of failures on the primary server.

Created withVisualCV