• - Present Senior Software Engineer Zignal Labs; San Francisco, CA
    • Node.js 8, Babel, bluebird, @std/esm, express, passport, mongoose, puppeteer, Streams
    • MongoDB 3, Redis
    • EC2, ElasticBeanstalk, SQS, DynamoDB
    • React, Redux, css-modules, Backbone, jquery
    • nginx, Socket.io, RabbitMQ
    • docker-compose, Vagrant, toxiproxy
    • CircleCI, Datadog, Apigee, Artifactory
    • Mocha, Sinon, Istanbul
    As the most server-focused member of the Frontend Team, I made contributions throughout our full stack, ranging from UX to auto-scaled cloud deployments. The company's platform performed realtime social & media ingestion and presented customers with brand-relevant data visualizations.
    My time on the server-side allowed me to;
    • Build an offline content pipeline for CSV exports, PDF screencaps, scheduled emails & in-App notifications
    • Make critical overhauls to our WebSockets server for performance, stability and clustered deployment
    • Expand our Model abstractions with schema & referential integrity, test sandboxing and reliable connectivity
    • Raise the test coverage of our core Node.js API server from nearly-zero to 90%
    I contributed to improvements throughout the platform:
    • Docker adoption to support continuous deployment
    • Prototyping our MongoDB v3.4 ReplicaSet topology
    • Evolving our nginx authentication proxy
    • Scala changes for our ElasticSearch aggregation layer
    • Stabilization and Serverless migration of our scheduler daemon
    • Command-line tooling to emulate WebSocket traffic
    • Refinement and deprecation of our Symfony PHP monolith
  • - Senior Software Engineer DeNA West (formerly ngmoco); San Francisco, CA
    • Node.js 0.10, Express 3, bluebird, lodash
    • Mocha, Sinon, Istanbul
    • MongoDB 2, Redis 2, PubNub, Memcached
    As a member of the "Supernova" Team, I supported and enhanced a Rails-like framework for Game Server development in Node.js. Our game-mechanic modules were woven into a Server codebase via traits and hooks. The team followed an Agile methodology with Git Flow, PR reviews, code style enforcement and test coverage thresholds.
  • - Principal Software Engineer Servio (formerly CloudCrowd); San Francisco, CA
    • Rails 3, Sinatra, Node.js 0.8
    • Unicorn, EventMachine, nginx
    • Twitter Bootstrap, SASS
    • jQuery 1.8, RequireJS, Facebook SDK
    • MySQL 5, MongoDB, ElasticSearch, RabbitMQ
    • Cucumber, RSpec, Mocha
    • Capistrano
    I was hired as a full-stack developer for a crowdsourcing platform. I championed all client-side efforts, mentored my peers on JavaScript techniques, and was a frequent contributor to our distributed architecture.
  • - Senior Software Engineer MobiTV; Emeryville, CA
    • Spring 2 & MVC, JSP 2, Hibernate 3
    • JAX/RS, JAXB 2, RSS, JMX
    • MySQL 5, Oracle 9i
    • Java 5, Ruby, Groovy
  • - Senior Software Engineer SnapJot, Inc; San Francisco, CA
    • Dojo, DWR
    • ImageMagick, Batik, SVG
    • Spring, Hibernate, MySQL, JOTM
    • Struts, Tiles, JSP
    • Apache 2, Tomcat 5
  • Additional Employment History is available upon request
  • 1995 - Present Architect & Designer Sleepbot.com; Personal Website
    • AWS, DigitalOcean, Ubuntu, VirtualBox, Chef
    • Node.js 6, Promises, Express, EJS
    • Jekyll, HTML5, SASS
    • Rails, Bundler, Pry
    • Spring Web, Hibernate, JSP, DWR
    • MySQL 5, MongoDB 3
    • nginx, Shoutcast
    • Gulp 4, Grunt, Thor, Capistrano