Khoi Nguyen

Senior Frontend Engineer · Orange County, CA

Download PDF

Skills

Day-to-day comfort

Frontend

  • Next.js
  • React
  • Svelte
  • React Hooks & Recompose
  • CSS-in-JS
  • Framer Motion
  • Jest & React Testing Library
  • Playwright & Cypress
  • Storybook

Backend

  • GraphQL
  • Node.js
  • Express & Koa
  • Neo4j / graph databases
  • Drizzle / ORMs

Core

  • TypeScript / JavaScript
  • Micro frontends
  • HTML5
  • CSS
  • Git + stacked diffs

Experience with

Frameworks, platforms & tools

  • React Native
  • Vue
  • SolidJS
  • Ember
  • D3
  • Docker
  • Flux / Redux
  • AWS
  • Datadog
  • MVP architecture
  • GWT
  • Java / Kotlin
  • jQuery
  • Figma, Sketch & Photoshop
  • Contentful

Build tools

  • ESBuild
  • Vite
  • Rollup
  • Webpack
  • Babel
  • Gulp

Experience

  1. Close

    Senior Software Engineer

    – Present

    Built Close Forms, a native form builder that lets customers capture leads from their own websites without relying on third party form tools. The project was the first at the company to use an optimistic UI and laid the foundation for how optimistic UIs would be engineered going forward.

    Took Close's Event Log from an internal tool to a customer facing feature. Overhauled the UX, which was essentially a list of JSON blocks, into a coherent timeline-like UI for customers to be able to see what changed about their data, who changed it, and when.

    Modernized the developer and OAuth apps screens which serve as the front door for every integration built on top of Close. Most of the work is about making security sensitive actions hard to get wrong: creating and revoking keys, managing OAuth apps and the permissions, and making it obvious which credentials belong to who and what data they have access to.

  2. Square

    Senior Software Engineer

    –

    One of three engineers to lead the migration of Square's signup flow from Ember to Next.js. This was a lengthy process that involved authoring a 40 page technical document, getting engineering feedback, meeting with leadership, and convincing stakeholders of the benefits, tradeoffs, and estimated timelines. The project was launched as an MVP, raising Lighthouse performance scores from 15 to 80.

    Contributed to the migration of Square's public facing website from Ruby to Svelte, which can be seen on squareup.com/us/en/sales.

    Helped to create an onboarding flow that enabled users to sign up for multiple Square products at once, resulting in more effective product upselling.

  3. Better.com

    Senior Software Engineer

    –

    Introduced GraphQL Code Generator for type safety when using GraphQL on the frontend. Previously, developers were manually adding types to GraphQL queries and mutations, leading to errors or inaccurate types. In addition, created a set of standards for using GraphQL on the frontend to reduce code duplication and leverage caching. Lastly, set up GraphQL precompilation to convert GraphQL documents into a JSON AST for faster page loads.

    Held workshops on GraphQL, teaching topics that ranged from cache normalization on the frontend to writing backend resolvers and avoiding common pitfalls like the N+1 problem. Also evangelized GraphQL Scalars from The Guild for proper data formatting standards like E.164 for phone numbers and ISO-3166 for country codes.

    Worked on the shopping experience for Better.com's home purchasing funnel. Created a property search page with typeahead completion and debouncing using SmartyStreets. Also created the subsequent page for showing property details and rendered it server-side for a faster Time to Interactive (TTI). Lastly, implemented saving and unsaving of properties with an optimistic UI for a better user experience and to compensate for slow network calls.

    Mentored junior engineers and helped with their professional development. In addition, oversaw the team's summer intern, providing guidance and pacing for her project.

  4. Acorns

    Senior Software Engineer

    –

    Deduplicated Acorns' internal libraries into a monorepo using Lerna for semantic versioning and auto-publishing. Refactored the component library for scalability and introduced design patterns for better code reuse and extensibility.

    Created a micro frontend platform to enable teams to independently code and deploy new features. The platform lets Acorns' web app move away from a monolithic architecture while keeping an SPA look and feel, and allows each micro frontend to share dependencies with the main web app to reduce bundle size. Functionality matches what can now be achieved with Webpack 5's module federation.

    Held classes to teach design patterns to other frontend developers, since a majority came from coding bootcamps.

    Software Engineer

    –

    Helped rewrite the Acorns web app from the ground up using modern technologies like GraphQL and Recompose. Established standards and pioneered good practices for using TypeScript. Created key features in Acorns' new product lineup like debit card activation, ATM finder, and multifactor authentication, all of which were bug free during my tenure at Acorns.

    In addition, started an initiative outside of work hours to create a component library in order to deduplicate code and give teams a centralized component library.

  5. Workday

    Software Engineer

    –

    Kickstarted the React migration by creating the initial setup for Workday's React component library. This included setting up Storybook, addons, custom decorators for Workday specific dependencies, and configuring Jest + Enzyme. In addition, migrated several components from GWT to React that served as a blueprint for how future engineers would migrate components.

    Associate Software Engineer

    –

    Worked with the UX team to modernize and redesign the UI for Workday's charts. This included rethinking the color scheme, typography, shapes, and animations. The results were featured on the front page of Workday's website for several years. In addition, created a variety of data visualizations and infographics that displayed non-tabular data in an easier to digest way for customers. Examples include the candidate funnel visualization for job requisitions and a dot matrix graph for number comparisons.

    Software Engineer Intern

    –

    Converted part of the Workday app from Adobe Flex to HTML5/JavaScript. Created a JavaScript framework using D3 to replace the IBM ILOG library, which was previously used for several data visualizations.

  6. Quake Global

    Software Engineer Intern

    –

    Created a test framework to fix the lack of automated testing. Tested and debugged Quake's device software. Completely rewrote and extended Quake's API documentation.

Education

University of California, San Diego

Bachelor of Science, Computer Science

– · Class of 2014

Located on the outskirts of La Jolla, UCSD is where I spent my college years. I originally started as an electrical engineering major, until realizing that an interest in electronics doesn't make the science behind it fun. Coding turned out to be a much more enjoyable and interesting challenge.