Experience
Google October 2018 - Present
- Individual Contributor for AMP.
- Built an API Generator for teams to quickly spin up new APIs.
Funemployment June 2017 - October 2018
I spent exactly 140 days of being intentionally unemployed. I managed to stay pretty busy. I traveled to Iceland, Copenhagen, and Berlin. I learned OCaml and started working in the intersection between OCaml and web development – through that I became a core contributor to FastPack. I watched khan academy videos to learn the basics of how modern day financial systems work as well as learned how to save for retirement. For the seriously boring but in-depth details of my time funemployed, you can check out my log.
Automattic August 2016 - June 2017
I spent 625 working at Automattic, mainly on their flagship open source product codenamed Calypso. I started with barely knowing a lick of JavaScript but by the end was an integral part of its core framework team. My proudest accomplishments were:
- Proposed, designed, and implemented dserve (source) for the on-the-fly creation of cloud hosted branches. it enabled painless pre-merge e2e testing, massively improved the ux of testing peers branches, and ultimately became a quality of life improvement for all developers.
- Convinced the open source community of Calypso over a six month period, to abandon their personal tastes and adopt automated code formatting tools by creating a fork of the popular tool, Prettier, that more closely follows WordPress conventions. The fork’s name was wp-pretter and I made the hard-fought argument for its adoption publicly on github. The implementation required improvements to both prettier and jest that were then eventually upstreamed. Since adoption, it has been seen as an overwhelmingly positive process improvement.
- Proposed and led an internal initiative comprised of ten developers for using AST transforms to upgrade over 5,000 React Components to support the large breaking changes between React 15 and 16. The internal memos are private, but our GitHub project is public.
- Major build process improvements. The most notable one led to a drop in production build time of the project by 3.5x, from 11 minutes to 3 minutes. All we needed to do…was less.
- Created a generic and highly efficient memoization technique for Redux applications that was an order of magnitude more efficient than prior work. It took advantage of WeakMaps for perfect garbage collection efficiency while maintaining constant time key lookup for computed results. I called it tree-select
Amazon July 2015 - August 2016
I used computers in Seattle to make t-shirts in Texas.