I have great interpersonal skills and excel in a team environment. I know what it means to support mission critical systems and I would rather build solutions than buy them. One of my philosophies is I will automate myself out of my job. I love open source, but am not a zealot - I use what works.


DevOps, System Administration, Scripting (Perl/Python), Large scale automation using configuration management frameworks like Ansible and Chef.


EnergySavvy - August 2014 - Present

  • Migrated 80+ servers from Linode to AWS
  • AWS: EBS, EC2, IAM, S3, VPC and extensive scripting with the Python boto library
  • Production support of Apache, Bamboo, Django, ElasticSearch, Flask, Fisheye, GitLab, Jenkins, Jira, Nginx, OSSEC, Postfix, PostgreSQL, Reviewboard, SNMPv3, and uWSGI
  • Ansible/Chef: Converted existing Chef solo setup to Ansible and wrote custom library functions using Python

Unity Technologies - November 2013 - July 2014

  • AWS: EC2+VPC, S3, DynamoDB, ELB and extensive scripting with the Python boto library
  • Deployment of Node.js applications using NVM and NPM to AWS systems using Ansible
  • Ruby on Rails application deployment and monitoring using NGINX + Passenger/Phusion
  • Jenkins continuous integration with automated package deployment to S3
  • Converted Chef solo setup to Ansible

Z2 - February 2013 - November 2013

  • Maintained and extended an internal CoffeeScript application used for an internal graphing solution similar to Graphite
  • Large scale iOS game backend support (AWS: EC2/ELB/RDS/Route 53/S3) and fully automated using Ruby
  • Automatic MySQL backup and recovery in AWS
  • Node.js application deployment and monitoring using NVM, NPM, Forever
  • Redis deployment, monitoring, replication, disaster recovery
  • Extensive AWS automation using Ruby and the AWS SDK

PopCap - April 2011 - February 2013

  • Supported Bejeweled Blitz one of the biggest and longest running Facebook games
  • Large scale rolling deployments of a backend PHP application that interacted with the Bejeweled Blitz flash front-end
  • Replaced a Memcache fleet with a five server Couchbase cluster doing 100000+ gets/puts per second and backed with FusionIO PCI based SSD drives; Wrote custom Nagios monitor to monitor the FusionIO cards flash wear leveling for proactive replacement
  • Helped design and deploy a large scale RabbitMQ solution for user notification which was dynamically controlled via custom Python scripts
  • Worked with Xen, KVM, AWS, RightScale extensively to convert physical servers to virtual ones
  • When I left I had 100% documentation of everything I did to ease hand off to other team members

Pelago - March 2007 - April 2011

  • Startup started by Ex Amazon employee Jeff Holden around real life recommendation (think Foursquare + Yelp + Amazon recommendations); The application was called Whrrl and Pelago was eventually sold to Group On
  • Did everything: Phone/PBX, networking, end user support, built out the production network, deployments, scaling, on-call for four years straight, even wrote production code
  • Wrote an internal ticketing system called Ticket Tamer in Perl + MySQL with a fellow co-worker
  • Wrote custom Nagios configuration management system in Perl
  • Supported a large Java/Rabbit/MySQL/Solr/Tomcat application that was the backend of the Whrrl application
  • Wrote simple web based control page for F5 BigIP load balancers to enable simple deployment
  • Wrote an OAUTH2 Twitter connector in Java for one of our Production applications
  • Used AWS EC2/SQS and wrote an automated web scraper that would scrape referenced sites in our main application to update the data
  • Deployed and managed WatchGuard Firewalls; Created an Office to Datacenter VPN

Speakeasy - September 2006 - March 2007

  • Large scale Qmail administration
  • Designed and implemented a gray-listing solution using Postfix and MySQL

Amazon - April 2003 - August 2006

  • Primary owner of DNS
  • Operations support of Amazon.com
  • Large scale (35k+ systems) support using CFEngine, Perl/Python
  • Helped designed and rolled out an internal any cast DNS solution using OSPF and Zebra
  • Wrote a web based control panel for Cisco Dynamic Directors (a now discontinued hardware appliance that routed traffic to one of three global data centers via DNS); This updated a formally manual and error prone process.
  • Helped write a transaction based configuration system that would allow a rack of servers to go from unpowered to available for use in less than one hour; This system worked on the rack level and not individual servers

AT&T Wireless - January 1999 - April 2003

  • Solaris 2.6/8 support and configuration
  • Perl/Bash scripting
  • Sun hardware support
  • Sun Enterprise Cluster Administration
  • Managed all well known services: DNS, SMTP, NTP, FTP
  • iPlanet/SunONE enterprise server suite support
  • Apache/JRUN/ColdFusion/ATG Dynamo
  • Performance tuning of Solaris/Networking/Web servers
  • UNIX backup and recovery using IBM ADSM and tape library
  • Created internal Solaris packages of popular open source packages
  • Wrote a custom deployment system written in Bash using SSH and fully parallelized for minimum downtime
  • Configured a custom MRTG system to do system monitoring for the use of predictive scaling
  • Participated in an on-call rotation on a team with five other people
  • Configured and Supported F5 BigIP load balancers and NetCache appliances using custom proxy settings based on departments


I graduated from high school. I took some college courses but never got a degree. While working at Amazon I took a year long C programming course which included four modules:

  • Introduction to C Programming (CP701)
  • Intermediate C Programming (CP702)
  • Advanced C Programming (CP703)
  • C Programming: Data Structures and Algorithms (CP707)

The course was a pass/fail and I passed.