Experience
Experienced software engineer with expertise in TypeScript, React, automated testing, analytics, and data visualisation. Adept at learning quickly, applying design principles to solve real-world problems, and delivering high-quality software solutions promptly.
Skilled in fostering collaboration, evaluating and applying appropriate frameworks, and thriving in lean/agile environments. Strong communication, presentation, hiring, and mentoring skills.
Key Skills
- JavaScript, TypeScript, React, Node
- Automated testing with Jest, Testing Library, Playwright, RSpec, Cucumber
- CSS, Tailwind
- Object-oriented, functional programming
- Interactive data visualisation
- Designing, building and consuming REST and GraphQL APIs
- Continuous integration, delivery and deployment
- Postgres, Elasticsearch
- Docker, Kubernetes
- AWS, GCP, Firebase
Work History
Software Developer, Novata
Jun 2023 - Dec 2023
- Enhanced automated testing for an ESG Metrics application using Jest for Node and React, supporting other developers in ensuring accuracy and reliability, and leveraging statistical analysis to identify and resolve flaky tests.
- Integrated a third-party embedded analytics solution, designed the supporting Snowflake schema and generated fictional test data using Python and Pandas.
Javascript Developer, Desana
Mar 2022 - Dec 2022
- Developed a new web application for global exploration and booking of co-working spaces, business analytics dashboards (React/Typescript) and supporting services (Node/Elasticsearch/MongoDB).
- Worked as part of a team to develop new features, identify and address bugs and performance issues.
- Integrated app configuration with Firebase Remote Config.
- Built a comprehensive automated testing suite with Testing Library and Playwright.
- Collaborated with product/design/UX to produce highly usable, accessible and performant experiences.
Lead Developer, Trustflight
Mar 2021 - Nov 2021
- Responsible for Aircraft Tech Log application with Ruby on Rails API and React front-end.
- Identified, measured and addressed performance and reliability issues.
- Improved automated testing suite to facilitate continuous delivery by enhancing unit and integration tests using RSpec.
- Responsible for hiring and personal development of team members.
- Developed and refactored integrations with third-party services using service objects.
- Mentored junior developers in code quality, automated testing, communication and presentation skills.
Senior Developer, Comparison Technologies
Aug 2019 - Feb 2020
- Developed a new consumer energy switching website using React, Typescript.
- Responsive, mobile-first and highly performant application with complex requirements delivered early.
- Mentored formerly back-end team with no prior JS/React experience in front-end dev and testing.
- Introduced new testing tools and techniques to the company, including Cypress.
Lead Developer, News UK
Oct 2017 - Jun 2019
- INCA (Intelligent News Contextual Analytics) platform & products for The Times.
- Prototyped, tested and delivered applications with users following a lean startup approach.
- Built Jest and Cypress-based automated testing suite to facilitate continuous delivery.
- Designed & developed Analytics API using Apollo GraphQL/Node/Elasticsearch on AWS, later GCP.
- Developed reusable front-end components from scratch and through framework customisation.
- Built interactive data visualisations with Vega, Victory and BizCharts.
- Managed offshore team in Bangalore with development and automated testing skills.
Lead Developer, The Stage Media Co
May 2017 - Oct 2017
- New castings web application for mobile using Rails, React, Postgres, Elasticsearch.
- TDD/BDD using webdriver.io, Jasmine and Jest.
- Introduced lean/agile/Kanban practices to the team.
- Designed user journeys based on business requirements.
Senior Front End Engineer, Medidata
Oct 2016 - Feb 2017
- Developed medical research software administration tool front-end (React/Draft JS/Node).
- Built reusable react components for use across teams.
- Designed new architecture to support growth in team size and numbers.
Senior Developer, Financial Times
Jul 2016 - Oct 2016
- Development of in-house analytics platform and front-end (Elastic, React).
- Redesigned FT editorial tooling for use by other news organisations.
Senior Front End Developer, Radical Company
May 2016 - Jul 2016
- Front-end development for a software consultancy.
- Lloyds Bank Working Capital Cycle Application in React.
- Built end-to-end automated testing suite using Ruby, Cucumber and Capybara.
Principal Engineer, Sky
Jul 2015 - Feb 2016
- Defined and embedded a cross-platform strategy for international NowTV platform using JS and React.
- Organised hack days and delivered training workshops.
- Drove adoption of continuous deployment.
- Mentored junior developers in best engineering practices and product management skills.
- Transformed collaboration across the company by introducing Slack to over 2000 users.
- Persuaded senior management to adopt GitHub and consolidated hundreds of code repositories.
- Promoted engineering best practices including pairing, code reviews and open-source collaboration.
Senior Developer and Head of R&D, Sky News
Oct 2014 - Jul 2015
- Collaborated with journalists to prototype and deliver new products using cutting-edge technologies.
- Presented concepts and showcased products to senior management.
- Advised developers and journalists on the application of new technologies.
- Promoted lean and agile software development practices among journalists.
- Developed an interactive video storytelling framework using React, Firebase, and Cloudinary.
- Built a messaging system for the 2015 General Election night using Slack, Firebase, Twilio, Ruby, and RabbitMQ.
- Created an election stats teleprompter for TV presenters using Slack, Firebase, React, and Node.
- Designed an experimental live blog with YouTube and Twitter integration, drag-and-drop functionality, and editable content using JavaScript, Heroku, and Node.
- Developed ‘Biffed’, a political satire blog with interactive widgets using Ghost and React.
Software Developer, Sky
Jun 2011 - Oct 2014
- Developed and enhanced high-volume customer-facing web applications for various services.
- Introduced and embedded a ‘Lean Startup’ culture and delivered a related talk at QCon London.
- Created ‘Sky Web Toolkit’, Sky’s first web design system and front-end library.
- Improved customer journeys through experimentation and analytics-driven approach, reducing contact centre calls.
- Implemented continuous delivery and deployment practices after training with Thoughtworks.
- Migrated Help platform to Heroku, using continuous deployment with RSpec, Capybara, and CircleCI.
- Integrated with various services (REST, SOAP, IBM MQ), negotiating API definitions and building mapping layers.
- Developed mobile-optimised ‘Contact Us’ website using Rails and JavaScript, deployed to Heroku with continuous deployment (Cucumber, Circle CI).
- Built Help article CMS editor using Rails, Postgres, and integration with Sky Solr search engine.
- Created Help website using Sinatra, JS, and HTML5 history API, integrating with the CMS.
- Developed broadband and satellite diagnostic tools with A/B testing and customer segmentation using Ruby/Sinatra, web storage, and Google Experiments.
- Implemented JSON REST service for engineer bookings to proxy legacy XML IBM MQ service using JRuby and Sinatra.
Technical Officer, Civil Aviation Authority
Sep 2007 - Jun 2011
- Developed tools for streamlining radar planning and aeronautical frequency management processes.
- Served as secretary to the national joint civil-military committee on surveillance policy and frequency protection.
- Delivered a Wind Farm planning and approval system using Visual Basic (VB), MS Access, and MapPoint.
- Developed a Special Aeronautical Events approval system using VB and Access.
Consumer Affairs Officer, Civil Aviation Authority
Oct 2006 - Sep 2007
- Offered personalised legal and regulatory advice to consumers and mediated disputes between consumers and airlines.
- Streamlined business processes for improved efficiency.
- Enhanced legacy database application to resolve concurrency and performance issues.
Sales & Marketing Executive, Holiday Malta
Oct 2005 - Oct 2006
- Researched, developed and trialled new leisure products.
- Streamlined reporting, costing and brochure production processes and systems.
- Integrated legacy mainframe reports with an MS Access based reporting application.
- Designed brochures and micro-sites.
E-Business Manager, Flight Directors
Mar 2004 - Oct 2005
- Developed the first UK websites for a variety of foreign airlines.
- Devised digital strategy for clients.
- Built metrics application for clients to monitor company performance and sales.
Education
MSc Computer Science (Merit)
University of London, Birkbeck College, 2008 - 2010
BSc Aviation Management & Operations (1st Hons)
London Metropolitan University, 2002 - 2005
A Level English Language, Computer Science & Business Studies
Bridgwater College, 2000 - 2002