I'm a full-stack web developer and technical lead based in London. My primary focus is front-end development with TypeScript and React, but I also have considerable professional experience in back-end development with Node.js, Python, and Django. I place a strong emphasis on quality in all of my code, and consider code review and automated testing to be essential parts of the development process.
David Garner
Employment History
January 2024 - June 2024: Camion, London, UK (Contract role with YLD)
As part of the initial tech team of contractors on a completely greenfield project, I delivered Camion's flagship product from concept to production within three months, in which our small fast-moving team made all the foundational architectural and technical decisions while also introducing Agile processes such as stand-ups, Kanban boards, and roadmaps.
We delivered a web app which allowed customers to determine the potential value of installing electric vehicle chargers at different locations via an interactive map of the UK, presenting in-depth analysis at individual points and across larger areas, with tools to customise their portfolios of potential sites and to export the analysis into CSV and PDF formats.
- Key Technologies: TypeScript, React, Next.js, AWS (Cognito, Lambda, SAM, S3), Vercel, PostgreSQL with PostGIS, Mapbox, deck.gl, Google Maps, Tailwind;
- Key Skills: GIS technologies, authentication, code review, estimation and planning.
January 2023 - December 2023: Zoa, London, UK (Contract role with YLD)
I worked with the energy tech start-up Zoa as it broke away from Bulb and formed an independent company which creates white-label apps and tools for energy suppliers. As the company was building their platform from scratch, I participated in several key architectural design discussions and decisions, primarily relating to their monorepo for creating web apps, native apps, and backend-for-frontend services.
I implemented the core code of an EV-charging web and native app, designed a platform-agnostic approach for client-side navigation, and helped create an internal design system with an emphasis on accessibility, universality between web and native, and ease-of-integration for developers.
- Key Technologies: TypeScript, React Native, Expo, Next.js, CircleCI, Bitrise;
- Key Skills: Universal JavaScript (client & server, web & mobile), UI design systems, accessibility, monorepos, code review.
January 2022 - December 2022: Bulb, London, UK (Contract role with YLD)
I joined a green consumer energy supplier as a contractor while they were in special administration, maintaining the existing smart meter integrations and React Native mobile app for its 1.6 million customers, while also implementing new features to attract potential buyers for the company.
I helped create mobile app features to let customers see estimates of the breakdown by category of their household energy usage and their spending in relation to similar homes, and to allow them to set monthly budget targets. I played a key role in the architecture design of these new features, and introduced technical strategies for their seamless incremental roll-out.
- Key Technologies: TypeScript, React Native, GraphQL, Apollo Client, Apollo Server, GCP (including BigQuery, GKE, PubSub, IAM), Kubernetes, Terraform;
- Key Skills: Mobile app release, Firebase push notifications, working with dates and times, code review, unit testing.
April 2020 – October 2021: Policy Expert, London, UK
I joined the JavaScript team of a home insurance company as a senior front-end lead, and later took ownership of these codebases as the technical lead from November 2020. During a turbulent time for the company, I developed features and provided technical leadership on a wide range of parallel projects, including front-end rebuilds of multiple pages within the customer-facing and backoffice apps, and the introduction of user-behaviour-tracking analytics and A/B testing.
I also spearheaded many technical initiatives, including the migration of the codebase away from RxJS, the Docker containerisation of the legacy services, the introduction of browser-side error monitoring and reporting, and the implementation of a microfrontend architecture.
- Key Technologies: TypeScript, Node, React, Express, Docker, AWS (including CloudFormation, CloudFront, Fargate, Lambda), RxJS, Module Federation (Webpack), TeamCity;
- Leadership skills: Interviewing, setting take-home assessments, onboarding, gathering business requirements, prioritising tech-debt, team training;
- Development skills: Domain-driven design, event-driven architecture, microservices architecture, code review, agile processes, unit testing.
August 2015 – March 2020: Mintel, London, UK
I started my career as a software developer at the market research agency Mintel, progressing to a technical lead by March 2019. During my time there, I gained a wide range of experience working with multiple new and in-production codebases, including web apps for aggregating and presenting direct marketing data and consumer survey data into tables, charts, and dashboards, and web apps for searching, reading, and exporting long-form articles.
As a technical lead, I successfully orchestrated a major project combining two of Mintel's existing core products, gathering requirements from the product development and design teams, and coordinating the development work with 17 developers based in London, Chicago, and Shanghai.
- Key Technologies: JavaScript, React, Redux, Python, Django, Solr, Elasticsearch, Jenkins, Selenium, Bash scripting, Unix CLI utilities;
- Leadership skills: Requirements gathering, tech-debt prioritisation, interviewing candidates, presenting talks and workshops;
- Development skills: Agile processes, automated testing (unit, integration, browser, visual regression), pair programming, code review, UI design systems.
Education
2011–15: Queen Mary University of London, London, UK
Degree: Doctor of Philosophy (PhD) in Theoretical Physics (String Theory)
As a graduate student, I authored multiple papers published in peer-reviewed academic journals, gave talks at multiple academic institutions, and taught Physics undergraduates.
2007–11: University of Cambridge (Christ’s College), Cambridge, UK
Degree: BA with MMath, Mathematical Tripos, First Class/Honours Pass
Interests
Coding
I've contributed to various open source JavaScript projects, attended conferences and meetups on TypeScript, React, and GraphQL, and experimented in personal projects with Rust, Firebase, Svelte, Flutter, NumPy, and TensorFlow.
Other
Board games, heavy metal, folk, sci-fi, fantasy, festivals, travelling, running, craft beer...