Synopsis
I am a software engineer and system architect working with the web platform for almost two decades, specializing in front-end and user experience.
I value quick feedback and testing, and prefer development cycles informed by Agile project concepts.
I enjoy collaborating as an individual contributor, but I have also served as Tech Lead and Scrum Master with both local and remote teams.
Skills
-
Programming languages, frameworks, databases
- Decades of experience with JavaScript (ES9+, React, Redux, WebSockets, CORS, JWT, etc), both client-side and server-side
- Comfortable with a variety of server-side technologies and frameworks: Ruby on Rails, Elixir/
Phoenix, Python, etc - Experienced architecting and using GraphQL and REST APIs, and designing schemas for both relational databases (PostgreSQL, MySQL, SQLite) and NoSQL/
schema-less databases (DynamoDB, Redis, MongoDB) - Experienced with test-driven development, at both the integration level (Cypress, Playwright) and unit level (Jest, Vitest, React Testing Library, Jasmine, RSpec, ExUnit)
- Adept at shell scripting in Bash and ZSH; experienced with Docker/
container-based architecture
-
Web development
- Proficient in HTML5 (Canvas, CSS3, SVG, Web Workers, Web Sockets, storage, etc); JavaScript (TypeScript, Web Components, React, Svelte, NextJS, Gatsby, Express, hapi, D3, MERN stack, etc); CSS (media queries, animations, custom properties/
variables, Sass/ SCSS, etc) - Strong attention paid to user experience and accessibility; compatibility across browsers, devices, and screen sizes; resource efficiency; and code standards
- Experienced with web delivery best practices for high-traffic websites (Cloudflare, Fastly, CDNs)
- Proficient in HTML5 (Canvas, CSS3, SVG, Web Workers, Web Sockets, storage, etc); JavaScript (TypeScript, Web Components, React, Svelte, NextJS, Gatsby, Express, hapi, D3, MERN stack, etc); CSS (media queries, animations, custom properties/
-
Project management
- Familiar with formal Agile development (I have worked with Pivotal Labs and completed Scrum Alliance training)
- Comfortable leading a team to implement features in feedback-informed development cycles
- Experienced collaborating with UX designers and product stakeholders to explore customer requirements and draft specifications
- Proud to have successfully established a regular cadence of maintenance and dependency updates to counter the deleterious effects of "feature-and-firefighting" development
Experience
-
Staff Software Engineer (Jan–October 2025)
@ Planted Solar (solar energy & construction)
Joined a post-stealth Series A startup at a critical growth point, relieving the pressure on the existing two-person software team by tackling technical debt accumulated during the R&D process.
- Collaborated on custom GIS software incorporating DEM file data with visualizing/
modifying 2D and 3D models at scale (NumPy, Pandas, GDAL, Python, NodeJS, PostgreSQL, MapBox, React, Svelte). - Created the company's first integration test suite of critical site-planning software and configured to run on existing continuous-integration system (Cypress, CircleCI).
- Refactored database schema to address years-old tech debt affecting intertwined Python and NodeJS back-ends.
- Collaborated on custom GIS software incorporating DEM file data with visualizing/
-
Staff Software Engineer, Sports Architecture team (2022–2024)
@ Warner Brothers Discovery (entertainment & sports)
- Instrumental contributor to the planning and execution of an eight-year project to retire and replace a 15-year-old 'monolith' web/mobile tech stack with no downtime.
- Collaborated on planning and coding a green-field worker-based rebuild of an existing service, built in TypeScript using Apache Kafka and AWS DynamoDB.
- Authored architectural documentation capturing tradeoffs and decisions around integration with third-party SaaS platform, including Design Documents and UML/
sequence diagrams where appropriate.
-
Lead Front-End Engineer (2015–2022)
Senior Front-End Engineer (2014–2015)
Front-End Engineer (2013–2014)@ WarnerMedia / Bleacher Report (entertainment & sports)
Agile-influenced web software planning, specification, team-leading, code development, and automated testing; across several projects; using modern JavaScript, Elixir, and Ruby on Rails; in a continuous-integration/
deployment environment with multiple production releases per week. - Individual Contributor and Tech Lead of a team of remote full-time employees and contractors, rebuilding a key internal CMS with a custom realtime web app using React and NodeJS, including a full integration test suite using Cypress, and CI/CD using GitHub Actions.
- Built the MVP of a JavaScript-based CMS web application using WebSockets, React, and NodeJS, and onboarded other developers to continue development through launch.
- Collaborated with product owners and UX/
UI designers to define features and architecture of new projects, tools, and systems. - Debugged errors in an Elixir/
Phoenix service-oriented back-end. - Conducted technical interviews of job applicants with co-workers, both in person and via phone/
video, and collaborated with department leaders to reform the interviewing and onboarding processes. - Mentored new employees and junior engineers.
-
Front-End Developer (2011–2013)
@ Current TV (entertainment & politics)Agile test-driven development using Ruby on Rails, JavaScript, RSpec, Jasmine, Backbone.js, and jQuery, with continuous testing and integration using Travis CI. Project management using Pivotal Tracker and FogBugz. (Note: Current TV was sold in 2013 and the site has since been shut down; view an archived version here)
- Collaborated on TV-ready custom D3.js-based visualizations of data on interactive maps and graphs in SVG, using Git.
- Collaborated on maintenance of and custom feature development on WordPress-based sites, using Subversion.
- Major code contributions to a test-driven responsive-design rebuild of the main site in Ruby on Rails.
-
Developer (2007–2011)
@ Wolfgang's Vault (e-commerce & music)Lead developer for several WordPress and MediaWiki sites, as well as a custom legacy site built in Perl and Python.
- Implemented complete redesigns and new features based on low-fidelity mockups.
- Migrated a brand presence from a proprietary CMS to a customized WordPress installation, versioned using Subversion.
- Operations support for a production Linux web server.
- Constructed all consumer-facing email and implemented several design changes to email templates using XSLTs.
- Served as technical liaison to contracted email delivery service.
-
Webmaster (2002–2003, 2005–2007)
@ Oberlin College Library System (higher education)- Maintained and updated custom database-backed web applications and static-content pages as needed for the college's four libraries.
- Maintained and debugged Ajax applications with MySQL backends.
- Implemented a redesign of the Library System's main page.
- Completed a virtual tour project started by the prior webmaster.
Education / Certification
-
Certified ScrumMaster®
2016Scrum Alliance® (#000530544) -
Bachelor of Arts, East Asian Studies
2007: Oberlin College (Oberlin, Ohio)Concentrated in Mandarin Chinese language and literature.
Fun Facts
- I study languages for fun! In school I took classes in Mandarin Chinese, French, Italian, and Russian; lately I've been learning some Spanish and bits of Lojban and Toki Pona in my spare time.
- I'm an avid photographer, both film and digital, and particularly fond of long (multi-hour) exposures and piecing together wide panoramas in a real darkroom.
- I enjoy etymology, eagerly-hyphenated compound modifiers, and the serial comma.
- I write (code, this resume, etc.) with NeoVim, and have been using a Dvorak keyboard layout (e.g. non-QWERTY) since 2003.
- I listen to lots of music!