Mike Spencer

Front End Engineer

About me

I'm a front end engineer with experience developing complex, high profile web applications collaborating with both small and large teams. I specialise in JavaScript, thriving in an agile environment leveraging modern technologies such as React and Redux. I pride myself in writing scalable, elegant code — creating simple solutions to complex problems.

Skills

  • JavaScript
  • Node.js
  • TypeScript
  • HTML
  • CSS / SCSS / LESS
  • React
  • Redux
  • Webpack
  • Jest
  • Backbone
  • Responsive Design
  • TDD
  • Agile
  • Python
  • Java/JSP

Experience

Squarespace - New York, NY

Team Lead, Interface Architecture (Aug 2019 - July 2020)

Senior Software Engineer (Jan 2019 - July 2020)

Software Engineer (Feb 2018 - Jan 2019)

  • Led a team of 5 engineers practicing agile methodoligies to iteratively release quality products.
  • Architected and orchestrated the development of a modularised suite of tools for setting up the front end infrastructure for web applications and libraries, including build, i18n, linting and testing setups.
  • Mentored and provided feedback to engineers through code reviews and pair programming.
  • Pioneered and led a project to convert the CMS's custom JavaScript router to TypeScript, add sufficient unit, integration and e2e test coverage and to refactor the router to be more effective.
  • Supported and streamlined the CMS's front end CI pipeline and development workflows by building custom integrations into tools such as Webpack, Babel, Jest and ESLint.
  • Maintained the overarching front end architecture of the CMS, including a custom JavaScript router and the front end automated testing infrastructure.

Meetup - New York, NY

UI Engineer (Feb 2014 - Dec 2017)

  • Architectural lead for replatforming Meetup Pro from a legacy monolithic codebase to a microservice backed Hapi + React + Redux isomorphic/universal SPA, leveraging the latest tools such as Flow, Jest and Reselect.
  • Squad lead for replatforming the Members and Chapters network admin features for Meetup Pro organizers — two of the most powerful features offered by Meetup Pro. Responsible for breaking down/organising/estimating tasks, keeping the team in sync, writing documentation and implementing features.
  • Led the development of a React UI component library for use throughout Meetup Pro. Some technologies used: Storybook for UI development and documentation/cataloging, CSS modules, Flow and Rollup among others.
  • Developed a multi-step signup flow for Meetup Pro, allowing members to upgrade their Meetup accounts to Pro accounts.
  • Mentored an intern and junior engineers by participating in regular pair programming, training sessions and code reviews.
  • Spearheaded the transition to the new Meetup web platform and provided feedback to shape the architecture of it.
  • Evaluated and introduced tools such as Enzyme, Recompose and Redux Form into Meetup Pro's SPA.
  • Migrated the JavaScript build in the legacy Meetup codebase from RequireJS to Webpack — introducing tools such as Babel, empowering engineers to write better code by taking advantage of ES6 features.
  • Introduced unit testing into the legacy Meetup codebase using Karma and Jasmine.
  • Hosted workshops on topics such as TDD, writing good unit tests and latest ES6 features.

The Washington Post - Washington, DC

Manager and Lead Commercial Web Developer (Nov 2011 – Feb 2014)

Commercial Web Developer (Oct 2009 – Nov 2011)

  • Built and implemented custom ad executions while coordinating with departments such as editorial and infrastructure to ensure flawless delivery.
  • Deployed GPT ad scripts throughout washingtonpost.com, slate.com and theroot.com to enhance website performance with fully asynchronous ad loading.
  • Developed and implemented viewable impressions for ads so that they will only render when they are actually seen to improve page performance and ad performance metrics.
  • Built custom client websites using the MovableType CMS, such as China Daily's ChinaWatch.
  • Maintained and enhanced the JavaScript that renders all of the ads on washingtonpost.com, slate.com and theroot.com.
  • Built a scalable, lightweight, dynamic Flash video player that became the standard video player in custom ad units built in-house.
  • Developed a tool to quickly and easily generate code for ad placements.

Education

B.S. Interactive Media, School of Media Arts & Design

James Madison University - Harrisonburg, VA (Aug 2005 – May 2009)

  • Focused on front end web development such as HTML, CSS and JavaScript.
  • Completed Computer Science classes covering OOP and Java.
  • Studied Adobe CS including Flash and ActionScript programming.