- Mesa, AZ
2009 - Present (Remote)
2004 - 2007
Configured and maintained Linux AWS EC2 instances with Ansible, Puppet, Hiera, Fabric, and of course, shell scripts.
Worked with remote team to develop and deploy web service APIs using Ruby, Rails, Unicorn, NGINX, MongoDB, Elasticsearch, Redis, and RabbitMQ.
Collected application statistics and server health with collectD, StatsD, Graphite, and custom Python Nagios checks.
Migrated and maintained internal support services in AWS including Opsview, Graphite, Redmine, Errbit, and osTicket.
Used Packer and Vagrant to build and manage virtual machines for development using the same Puppet configuration as our servers.
Created Puppet modules from existing legacy production systems in order to migrate those products from physical servers to AWS for increased capacity.
Wrote countless utilities for parsing and generating files and performing system tasks to utilize existing data, reduce duplication, and increase efficiency.
Helped mentor junior developer on topics such as operating systems, automation, testing, code quality, maintainability, communication, and open source.
As Software Developer / Systems Administrator for AutoLookout (before being acquired by Auction Edge in 2012):
Worked with two other developers to create and maintain configurable Ruby on Rails websites customized and deployed for more than 80 customers. Responsibilities included all aspects of this process:
Led design and implementation of a system of (eventually more than 75) satellite Linux computers to collect data from remote databases (DB2, SQLServer, CSV files) and aggregate it in a central location for our websites.
Remote computers ran custom Perl software to collect and process data and connect to the server for data transmission, automatic updates, and RPC.
AnyEvent, DBI, Moose, Net::SSH, LWP, Template::Toolkit, Test::Routine
Perl web services and daemons ran on the server to import data, manage background tasks, and initiate interactive shell sessions with the remotes.
AnyEvent, DBI, CGI::Application, Mojolicious, Moo, Plack
Worked with vendors to create web services and background jobs to receive and parse data from several formats (XML, CSV, YAML, JSON) and import into our system.
Maintained production servers and development environments.
Converted home grown test suite to Test::Builder/TAP and increased coverage by 65%.
Open Source Search API for the CPAN
After contributing and participating on IRC for more than a year I was invited to join the admin team to help with issue management, deployment, system administration, and future design.
As team members live all over the world collaboration is done almost entirely via IRC and GitHub pull requests.
In the summer of 2014 I mentored an intern with the Free and Open Source Software Outreach Program for Women (now called Outreachy) and assisted another team member mentoring a student through Google Summer of Code.
Moose, Catalyst, Template::Alloy
I have released and contributed to modules for testing, automation, database interaction, command line applications, Dist::Zilla plugins, parsing, formatting, text manipulation, and system utilities.
Design and maintenance of GroundworkGuatemala.org
Software Development and Linux Administration
A.A.S. Computer Programming
2001/08 - 2002/12