About
Hey, I'm Spencer.
I'm a web developer and University of Toronto Computer Science 2017 graduate. I've been working primarily as a frontend web developer since I started programming, and have built a passion for frontend infrastructure and tooling. I like optimizing developer workflows by understanding and using modern tools, writing plugins, and contributing back to open source.
I've worked at:
from August 2018 to present.
- Using expert-level knowledge of the web platform and related technologies (, , , , ), I was responsible for configuring infrastructure and establishing best practices for building web applications across the company, in addition to feature development.
- Led efforts to make the development experience simple, fast, and correct. Established a monorepo architecture, designed a CLI to launch applications for development in , configured a parallelized continuous integration pipeline using , among other tools which power localization, linting, testing, and building across the codebase.
- Led efforts to adopt a federated API using on the server and client.
- Encouraged collaborative, documented architecture and design decisions using RFCs.
from July 2017 to August 2018.
- OneDrive web team, serving both OneDrive for consumers and OneDrive for Business.
- Built the web frontend for the "Restore your OneDrive" feature, using React, TypeScript, and .
- Drove the adoption of optimized developer workflows, using and . Improved inner dev loop performance by 10x.
during Summer of 2014, and from May 2015 to August 2016.
- Used to build API-driven user interfaces.
- Drove the adoption of developer workflows with a faster inner dev loop, replacing a task runner-based system with webpack.
- Co-architected an offline-enabled, hybrid web/mobile app using , React, and . Solved problems related to network reconnection, cache invalidation, and cross-platform offline storage.
Open-source
I like contributing back to open source to help identify and fix issues found by myself and the developer community. Some examples:
I'm also familiar with:
SQL and NoSQL databases, Python, Java (on desktop and Android), Pebble smart watch, C.
Contact
I am generally open to being contacted. You can reach me at .