Staff Software Engineer
Aug 2018 – Mar 2019
I was one of the two founding members of the Frontend Infrastructure team. As a platform team our goal was to increase the effectiveness of the dozens of frontend engineers by shaping the technological direction for how NerdWallet builds web applications.
In particular, I dove deep under the hood of technologies such as React, Node, Webpack, Babel, and GraphQL to:
- Create and maintain a central build tool / framework for running our server-side-rendered React applications. This was essentially NerdWallet's closed-source version of Next.js. I shipped large (multiple seconds) build time improvements along with many developer or user experience improvements such as server side hot reloading, codesplitting, React render caching, major version library upgrades, etc. Made contributions back to upstreams (e.g. React/Webpack) when possible.
- Own shared libraries and critical path frontend services leveraged across the company. Rule of thumb was a frontend library/service used by more than one team defaulted to being owned by our team.
- Be the ambassador for site wide performance. Refocused culture on performance via workshops, internal talks, and relentless improvement. We reduced SpeedIndex from ~6-8 seconds to ~3 seconds over a 3G connection on key pages (see blog for more info).
- Provide support and technical mentorship for product engineers across the company. Voted "most likely to fix a bug in 2 minutes that you were stuck on for 2 hours" 😂
- Collaborate with Design, Analytics, DevOps, and Product on cross functional initiatives such as our design system, analytics instrumentation, or putting a CDN in front of all traffic to nerdwallet.com.
Senior Software Engineer
Mar 2017 – Jul 2018
In July 2017 I moved from the credit cards team to the Frontend Infrastructure team.
Software Engineer
Oct 2015 – Feb 2017
I was the first frontend engineer dedicated to the Credit Cards team, building new CC features iteratively via A/B tests, migrating credit cards frontend from PHP to React/Node, and contributing to shared libraries.
- Built the initial version of the side-by-side comparison feature (nerdwallet.com/compare/credit-cards)
- Built the initial version of the prequalification feature (nerdwallet.com/prequalify/credit-cards)
- Created an SDK in JavaScript for our internal A/B service; ended up being integral in adoption of this tool.
Software Engineer (Contract/Intern)
Jul 2015 – Sep 2015
Built an internal admin panel in React