I’m a polyglot Software Engineer and Architect with an operations mindset. I’m a technical leader and mentor, and specialise in scaling and optimising technical teams. I enjoy tackling technical debt in legacy applications. I like scaling systems and eking out every last bit of performance. I work well with product people and explain technical concepts clearly for non technical staff.
Experience and Projects
October 2016 to present - Lead Developer at Government Digital Service, London
- Overall responsibility for development practices and delivery on GOV.UK
- Mentored, managed and lead a team of 40+ developers
- Worked with Product Managers and senior leadership to define GOV.UK roadmap
- Created well-regarded process for managing 6 years of technical debt
- Coordinated GDS developer community with other leads and Senior Civil Servants
- Systems and infrastructure architecture including migration to AWS
- Technical strategy including build vs buy decisions and architectural vision
April 2015 to Oct 2016 - Senior Developer at Government Digital Service, London (Contract)
- Developer and later Technical Lead on GOV.UK’s Core Publishing team
- Migrated a large legacy publishing system to new unified API
- Worked with Product and Delivery Managers to shape and prioritise work
- Identified requirements for new API and built features
- Worked across programme to improve and automatically check code style
- Coordination of mentoring of junior developers across the community
June 2014 to April 2015 - DevOps / Software Engineer at Lyst Ltd, London
- Switched to Docker for build, CI and production deployment
- Moved from fortnightly releases to deploying 5 times a day
- Built an analytics pipeline for Cloudfront Logs with Lambda, DynamoDB and Redshift
February 2012 to June 2014 - Senior Software Engineer at Global Personals Ltd, Windsor
- Focused on scaling backend services
- Scaled email delivery to 13 million messages per day
- Vastly improved unit test coverage and implemented Continuous Integration
- Ported microservices to more suitable languages and frameworks to increase throughput
- Interviewed, welcomed and mentored new hires
June 2009 to February 2012 - Technical Director at Rawnet Ltd, Windsor
- Ruby Web Developer later promoted to Technical Director of award-winning web agency
- Overall responsibility for all development and server infrastructure
- Direct management of team of 9 developers of varying levels and seniority
- Leading technical contributor in a wide range of client projects
- Built a bespoke CRM for a large legal publisher
- Created automated broadcast video library for a PR firm
- Scaled Williams F1 website to handle load spikes using dynamic includes at the CDN
- Accompanied Sales executives on pitches and provided bid-winning technical ideas
August 2007 to June 2009 - Developer at Multiplay (UK) Ltd, Southampton
- Created large scale file distribution site before CDNs were affordable
- Maintained and improved legacy Perl system for game server control
- Worked as an Event Manager during 2,000+ attendee gaming shows
December 2005 to August 2007 - Lead Developer at TNWA Ltd, London
- Initial employee of cash-gaming startup
- Ported outsourced ASP Classic application to ASP.NET
- Created Python backend for game server communication and financial transactions
- Implemented Python application for Windows anti-cheat application
May 2004 to December 2005 - IT Support / Developer at Simply Stuck Ltd, Andover, Hants
- Created automated printing system for customised children’s clothing labels
- Saved hundreds of hours of labour per month and reduced errors