Summary
I am a software engineer and system architect, with two decades of expertise in web front-end (balancing the user experience and resources/
I have extensive experience as an individual contributor, and have served as Tech Lead and Scrum Master, in both a formal XP development process and in various blends of the components of Agile project management, with teams ranging from fully-remote to entirely in-office.
Skills
-
Programming languages, frameworks, databases
- Decades of experience with JavaScript (ES9+, React, Redux, WebSockets, CORS, JWT…), both client-side and server-side
- Comfortable with Ruby on Rails, Elixir/
Phoenix, Python, Perl, PHP, Lua, and more - 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)
- Very experienced collaborating with UX designers and product stakeholders to explore customer requirements and draft specifications
- Comfortable leading a team to implement features in feedback-informed development cycles
- 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 manipulating geospatial data in DEM format (NumPy, Pandas, GDAL, Python, NodeJS, PostgreSQL) and visualizing/
modifying 2D and 3D models at scale (MapBox, React, Svelte). - Created the company's first integration test suite of mission-critical software (Cypress) and configured to run on existing continuous-integration system (CircleCI).
- Refactored database schema to address years-old tech debt affecting intertwined Python and NodeJS back-ends.
- Collaborated on custom GIS software manipulating geospatial data in DEM format (NumPy, Pandas, GDAL, Python, NodeJS, PostgreSQL) and visualizing/
-
Staff Software Engineer, Sports Architecture team (2022–2024)
@ Warner Brothers Discovery (entertainment & sports)
Software architecture and specification of a multi-system event-driven software stack, comprising several independent systems communicating via events/
messages, powering a variety of internal tools as well as public-facing apps and websites. - 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 using Jira/
Confluence capturing tradeoffs and decisions around integration with third-party SaaS platform, including Design Documents and UML/ sequence diagrams where appropriate. - Planned and successfully executed a multi-year project to retire and replace the 15-year-old 'monolith' tech stack powering all features and content of Bleacher Report.
-
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. - Team communication and collaboration using Git, Slack, Jira/
Confluence. - 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.
- Debugged errors in an Elixir/
Phoenix service-oriented back-end. - Built dramatic improvements in user-facing features, and improved internal structure and organization of legacy custom framework.
-
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.
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!