This document is best viewed with a standards-compliant browser.
OVERVIEW
I am a Software Craftsman with experience in multiple technical stacks, languages and disciplines.
My skillset covers the breadth of the development lifecycle, from conception through to launch.
I am as familiar with distributed systems as I am with engaging User Experiences.
I work 'in the trenches' and lead by example, building fellowship alongside our robust & maintainable technical solutions.
Strengths include;
Attention to quality through design principles, test coverage and documentation.
A consistent track record of technical leadership and peer mentoring.
A Product-focused perspective, balancing immediate needs with a long-term acumen.
Adapting complex requirements into deliverable features.
Served as the most server-focused member of the Full Stack Team.
The platform performed realtime social & media ingestion and presented customers with brand-relevant data visualizations.
Made contributions ranging from UX improvements to auto-scaled cloud deployments.
Lead and implemented server-side projects;
Built an offline content pipeline for CSV exports, PDF screencaps, scheduled emails & in-App notifications
Made critical overhauls to the WebSockets server for performance, stability and clustered deployment
Expanded Model abstractions with schema & referential integrity, test sandboxing and reliable connectivity
Raised the test coverage of the core Node.js API server from nearly-zero to 90%
Contributed to improvements throughout the platform;
Adopted Docker to support continuous deployment
Prototyped new MongoDB v3.4 ReplicaSet topology
Evolved a site-wide nginx authentication proxy
Scala changes for ElasticSearch aggregation layers
Stabilization and Serverless migration of a scheduler daemon
Command-line tooling to emulate WebSocket traffic
Refined, then deprecated, a Symfony PHP monolith
As a Senior Engineer,
Advocated for adoption of modern JavaScript patterns.
Provided specifications, guidance, wisdom and ramp-ups to fellow Team Members.
Evangelized the Team's passion for PR feedback, consistent code styling, maintainability and test coverage.
-
Senior Software Engineer
DeNA West (formerly ngmoco);
San Francisco,
CA
Technologies:
Node.js 0.10, Express 3, bluebird, lodash
Mocha, Sinon, Istanbul
MongoDB 2, Redis 2, PubNub, Memcached
As a member of the "Supernova" Team, supported and enhanced a Rails-like framework for Game Server development.
The Team's game-mechanic modules were woven into Server codebases via traits and hooks.
Followed an Agile methodology with Git Flow, PR reviews, code style enforcement and test coverage thresholds.
Schema validations, optimistic locking, batched updates, and Client sync via PATCHes
A realtime PVP framework with player matching, bots and resilient client messaging
A Node.js profiling & debugging sandbox for core dump analysis under SmartOS
A scriptable load-testing platform
Played a leadership role in ongoing Team efforts;
Design & Technical specifications
Stringent code reviews
Mentoring of new developers
Promoting JavaScript ES5 & Node.js best practices
Establishing a gold standard for documentation
-
Principal Software Engineer
Servio (formerly CloudCrowd);
San Francisco,
CA
Technologies:
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
Hired as a full-stack developer for a crowdsourcing platform focused on content generation.
Championed all client-side efforts, mentored peers on JavaScript techniques, and was a frequent contributor to the distributed architecture.
Specific projects included;
Complete relaunch of the Worker platform using Twitter Bootstrap & Rails asset pipeline
Worker activity 'achievements' posted through Facebook OpenGraph
A full-text search and storage solution for reconciliation of translated documents
A machine translation daemon backed by Google APIs
Client library test automation via Node.js & Mocha & Chai
Served as a critical resource in day-to-day operations;
Server performance improvements
Hunting down and eliminating slow queries & operational bottlenecks
Constant monitoring of server throughput and health metrics
Thorough business and technical documentation
-
Senior Software Engineer
Aftershock Innovations;
San Francisco,
CA
Technologies:
Rails 2, Prototype, RJS
Flex 3, Flash 3
MySQL 5, Redis, Memcached
Objective-C
Hired as first technical employee for a platform focused on social gaming for Facebook and the iPhone.
Executed rapid feature launches and continuously refined usage & engagement metrics through A/B testing.
Built numerous games, including;
"Texas Hold'em", with realtime multi-player cash & tournament mechanics, plus live chat
Multiple iterations of Buy-Grow-Sell / Investment mechanics (a'la "Farmville")
A re-themeable platform for Growth-Expansion-Fight mechanics (a'la "Mafia Wars")
-
Senior Software Engineer
MobiTV;
Emeryville,
CA
Technologies:
Spring 2 & MVC, JSP 2, Hibernate 3
JAX/RS, JAXB 2, RSS, JMX
MySQL 5, Oracle 9i
Java 5, Ruby, Groovy
Hired as Lead of the new Vending and Payment Systems Team.
Designed and implemented a platform to deliver streaming video Apps onto feature phones.
The technology stack was Spring, Hibernate & JAX/RS with stateless RESTful APIs.
-
Senior Software Engineer
SnapJot, Inc;
San Francisco,
CA
Technologies:
Dojo, DWR
ImageMagick, Batik, SVG
Spring, Hibernate, MySQL, JOTM
Struts, Tiles, JSP
Apache 2, Tomcat 5
Joined a small start-up Team developing a web application & document rendering pipeline for online collaborative authoring.
The server stack was Struts, Spring & Hibernate, as sprouted from AppFuse.
The web client was built with Dojo, DWR & hand-rolled AJAX.
-
Lead Software Engineer
Reflect.com LLC;
San Francisco,
CA
Technologies:
Java Servlet, Applet
JavaScript, CSS, HTML
Struts, Tiles, JSP
Apache, Tomcat
Perl, C++
Hired as the first in-house Developer.
Served as Lead Architect for a website focused on product customization.
Took responsibility for the design, implementation and overall strategic direction of web application development.
Acted as mentor and consultant to a small Team of junior co-workers.
-
Senior Software Engineer
Concur Technologies;
Redmond,
WA
Technologies:
ASP & IIS
JavaScript & CSS & HTML
Java Applet
C++ COM
Served as Web Product Development Lead.
Designed and implemented intranet web systems built with ASP, HTML and JavaScript.
Contributed in both a hands-on and leadership capacity.
-
Web System Engineer
Multicom Publishing;
Seattle,
WA
Technologies:
VisualBasic 4, Perl, HTML
MS Access 2
Netscape Enterprise Server 3
Developed websites built with Perl CGI scripts, as well as API web services and similar internet solutions.
-
Software Engineer
EDS (BTI Americas / USTravel);
Seattle,
WA
Technologies:
VisualBasic 4, Powersoft Powerbuilder
MS Access 2, Crystal Reports
MS Windows SDK
Designed and implementated in-house tools built using VisualBasic, PowerBuilder and 3rd-party development enviornments.
Additional duties included technical documentation and software support in a non-techincal environment.
-
Systems Analyst / Integrator
Foster-Miller, Inc;
Waltham,
MA
Technologies:
Microsoft C v7.0, TurboC, Watcom C, 8086 Assembly
Think C, Mac Toolbox
TI-34020 (TIGA), PC-LAB, graphicsMenu, MSDOS TSR
Design, implementated and tested integrated hardware / software prototypes.
Additional duties included technical & non-technical documentation, project management & reporting, technical support, and research & authorship of grant proposals.
Additional Employment History is available upon request
1995 - Present
Architect & Designer
Sleepbot.com; Personal Website
Technologies:
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
Hosting 20+ years of web and client-server projects,
the site may be viewed -- warts and all -- at http://sleepbot.com.
The site features a Shoutcast radio stream in continuous use since 1999;
600+ hours of content served to 100+ listeners
Virtualized via Vagrant & Chef
Cloud deployment to AWS via Capistrano
Uptime monitoring scripts
Song play logging and listener status aggregation for data services
The stream's home page provides an AJAX client for JSON data services;
Current and recently-played song data, album art, and links to Sleepbot site album reviews
Visualization of geographical location & listener metrics
RSS feeds providing 8-hour playlists and current song data for mashup consumption
Other projects include;
My technical blog, featuring responsive design and machine-parseable content