TypeScript Developer2021 - 2022Flux
Technologies: TypeScript, Electronics, Jest, Testing
- Architected and developed exporters for generating Gerber files that allow users to order Printed Circuit Boards from manufacturers, a major milestone in Flux's journey to wide user adoption.
- Developed an end-to-end testing process to ensure quality and avoid regression issues in the future.
- Created TypeScript definitions for JSON representation of KiCad PCB files, allowing for strict type checking of all exporter code.
- Architected and developed the foundation of a TypeScript API to generate Gerber files natively without reliance on third-party tools.
Front-end Developer, React2021 - 2021Nas Education (via Toptal)
- Implemented an editable text component for inline editing of the website copy in a brand-new CMS back end.
- Built multiple web components for use on product pages.
- Refactored common components for reusability and maintainability.
Senior Software Engineer2020 - 2021GfK - Growth from Knowledge
- Converted approximately 20 legacy Svelte components to React with TypeScript.
- Created an automated workflow to generate React hooks for querying a GraphQL back end, including end-to-end type safety with TypeScript.
- Set up integration testing for components using Jest.
- Delivered team training on the best practices of React, TypeScript, and GraphQL.
- Constructed end-to-end system tests using Cypress.io.
- Developed the initial version of a Webpack build system, migrating over from a legacy Rollup configuration.
Senior Software Engineer2020 - 2020Array (via Toptal)
Technologies: React, HTML, CSS, Vanilla JS, Next.js, Express.js, Figma, Front-end, Testing
- Contributed to the development of the company website at array.com.
Lead Front-end Developer2018 - 2020Verb Tech (via Toptal)
Technologies: Jest, RxJS, TypeScript, Angular, Redux, Cypress, CI/CD Pipelines, Monorepos, Front-end, Testing
- Created the monorepo architecture, applying best practices from Nrwl/Nx, including Redux stores.
- Trained the team on best practices and unit testing in Angular.
- Set up automation to speed up development and maintain quality.
Freelance Front-end Developer2017 - 2018MedChat, LLC (via Toptal)
Technologies: Mocha, Chai, RxJS, TypeScript, Angular, CI/CD Pipelines, Monorepos, NgRx, Front-end, Testing
- Developed the foundation and architecture of the client's new front-end in Angular.
- Set up continuous integration for the deployment of code to production, including automatic deployment of feature branches.
- Created pages for chat analytics and monitoring with a reusable Redux pattern using NgRx.
- Developed chat log navigation functionality for administrators.
- Supported the team in the maintenance of the legacy AngularJS platform.
Senior Software Engineer2016 - 2017BGL Group
- Built a Node.js API using Swagger, Express, and MongoDB to capture entrant information for marketing promotions at comparethemarket.com.
- Built interactive web content to entertain and engage visitors of comparethemeerkat.com.
Front-end Developer2015 - 2016Checkout.com
- Built, tuned, and improved "Checkout Hub," the checkout portal for account administrators and merchants.
- Promoted, encouraged, and demonstrated TDD with AngularJS.
- Automated anything and everything that could be automated using Grunt or Gulp.
Software Engineer2012 - 2015KPMG UK
- Developed full-stack web applications using .NET technologies for the back-end and frameworks such as Knockout.js and AngularJS for the front end.
- Developed a hybrid HTML5 app with AngularJS, wrapped with PhoneGap for native deployments.
- Presented tech talks on interesting topics such as AngularJS, BDD with Cucumber, and ECMAScript 6.