Frontend: JavaScript (ES6+), HTML5, CSS3, React.js, Webpack and Rollup, Jest, React Testing Library, Material-UI, Storybook

Backend: Node.js, Postgres, Redis

Job History

  1. UI Consultant ( to )
    • Role: Frontend specialist for the Partner Lifecycle Engineering (PLE) team, which enables businesses to integrate and test Netflix experiences in their products. For example: TVs running the embedded Netflix app, Netflix offered as an addon to existing cable subscriptions or phone plans, etc.
    • Technologies used: B2B applications built using Node.js on the backend, with the frontend usually in React (with some legacy Angular), Redux, RXJS, Material UI built with Webpack.
    • Maintained an in-house UI component library built on Material UI and compiled with Rollup.js
    • Testing: Wrote tests using Jest and React Testing Library. Worked closely with QA to examine pains in testing React apps, and implemented improvement "hooks" to help with testing applications, including a helper for our team's developers, via a custom ESLint plugin (eslint-plugin-test-selectors).
    • Product development: Worked with product managers, designers, and internal end users to research team needs, often processes already managed through stopgap spreadsheets and manual work. From this we determined the features needed to streamline these processes by building new app experiences.
  2. Web Developer (Remote Contractor) ( to )
    • Role: assisted to fill in frontend work on various short-term projects
    • Technology used: React.js, Wordpress, Node.js, Redux, PostCSS, Grommet, Webpack
    • Types of projects: Work included converting website mockups to cross-browser compatible HTML/CSS, as well as Javascript interactions. Projects included work for the redesign of MOG (jQuery) and MySpace (jQuery mixed with MySpace's JavaScript framework).
  3. Software Engineer ( to )
    • Note: Terra Bella, aka Skybox Imaging, was acquired by Google in August 2014
    • Role: continued my work at Terra Bella within Google, helping lay down the groundwork for new imaging satellite dashboards within the codebase and new coding standards. Using Polymer, Google Closure, Ramda.js (which I initially added to Google's monorepo), Moment.js, Paperclip.js, and D3.
  4. Frontend Web Developer ( to )

    Fulltime On-Site (August 2013 - August 2014)

    • Role: With imaging satellites now operational in orbit and collecting massive amounts of imaging data, this role evolved from supporting satellite operations towards supporting image post-processing operations.
    • Process UI app: collaborated with a designer and end users to build an app to help visualize and preview images in the image processing pipeline. Built and maintained the backend and frontend (full stack) using Node.js, Redis, and various microlibraries for the frontend.
    • Satellite imaging scheduler: helped convert a prototype to a usable app with real data, giving mission control insight into the images scheduled to be taken on its next pass around the Earth
    • Technologies used: Backbone.js and Underscore.js, Leaflet.js, RequireJS, jQuery and native JavaScript, SASS, Mustache templates.

    Remote Contractor (May 2012 - August 2013)

    • Role: A focus on assisting satellite mission operations pre-launch, to make sure everything was prepared by the time our imaging satellites were in Earth orbit.
    • Mission Operations Center dashboard: used for monitoring live satellite telemetry. Built with jQuery, hooked up to the backend with a Websocket (in the very early days, when the browser devtools for Websockets were very nascent).
    • Other projects: A base frontend framework to be used to bootstrap several map-centric applications; a rewrite of a tool to find satellite imagery based on configurable criteria (cloud cover, etc).
  5. Mobile Frontend Web Developer (Contractor) ( to )
    • Built most of the frontend for the new CNET mobile, using Node.js as a backend. The new site was a dramatic improvement in terms of looks and especially speed, and a challenge to implement across many different devices.
  6. Community News writer (Remote Contractor) ( to )
    • Maintained a weekly and monthly news column which followed the developments of the JavaScript language and community.
  7. Frontend Engineer ( to , to )

    Frontend Engineer on the Yahoo! Tiger Team ( to )

    • Role: Assisted resource-starved teams in various capacities.
    • Training: Developed and taught a two-day internal HTML5/CSS3 training.
    • Evangelism: Helped resuscitate the internal Frontend Summit along with Nicholas Zakas and James Long.

    Frontend Engineer at Yahoo! Mobile ( to )

    • Role: Engineer on the Blueprint mobile platform, a cross-browser component library for "dumb phones". I implemented new components such as sports brackets, improved accessibility, and created demo examples for documentation.
    • Evangelism: Created and organized the Mobile Developer Summit 2010, Yahoo! Mobile's first internal company-wide conference. At other events I also gave talks on CSS3 and HTML5.

    Frontend Engineer Intern for Yahoo! Shine ( to )

    • Schedule post feature: I implemented a feature for internal content editors to postpone the publication of their blog posts using YUI Calendar
    • Design exploration: Created HTML/CSS wireframes of a proposed three-column versions of the blogpost page for Yahoo! Shine.
    • Attended several weeks of the excellent Juku Program for frontend training.
  8. Web Developer (Contractor) ( to )
    • Worked on several short-term contract projects, updating and adding content, and modifying osCommerce templates.

Talks and Articles


  1. Biola University
  2. La Serna High School

References (more available on request)

James Long: Former Frontend Engineer at Skybox (LinkedIn)

Phu Son Nguyen: Frontend Engineer at Yahoo! (LinkedIn)