Resume
Experience
CloudOps Engineer III at EquipmentShare (June 2017 - present)
- Setting up and maintaining servers for staging and production environments.
- Maintaining a set of Ansible roles and playbooks for servers.
- Writing tests for Ansible roles.
- Setting up monitoring for company services.
- Built tools to help developers in both Bash and Python.
- Used Terraform and AWS CDK to manage Infrastructure as code.
- Used and administered Gitlab as a code repository.
- Helped administer Kubernetes clusters. Set up some services with pod autoscaling.
Director of Operations at Delta Systems Group (July 2014 - June 2017)
- In charge of hosting for over 350 sites on 65 servers.
- Managing a small team in charge of setting up and maintaining servers, keeping uptime as high as possible, while making migrations and deployments at smooth and transparent as possible.
- Managing email services as a reseller through Rackspace Office.
- Develop and maintain customized deployments for a variety of systems using BitBucket Pipelines.
- Develop WP plugins to achieve goals that cannot be met with existing plugins.
- Architected multi-server hosting setups for big companies like GlowForge, McGraw-Hill Education, ChannelOne, Graf and Sons.
- Setup automated SSL certs for numerous clients.
- Set up in-depth server monitoring using Statsd, Collectd, Graphite/Carbon, Grafana, Seyren, and some custom scripts.
Systems Administrator at Delta Systems Group (Jan 2011 - July 2014)
- In charge of hosting for over 200 sites on over 20 servers.
- Wrote replacement for web-hosting software (like Plesk or cPanel) in Puppet.
- Set up PCI compliant servers.
- Troubleshot downed servers, made adjustments to get the server back up ASAP, followed by analysis for preventing the problem from reoccurring.
- Identified and mitigated malware intrusions on third party servers.
Research Assistant for Dr. Chi-Ren Shyu (April 2007 - Jan 2008)
- Created web/Google Earth front-end for GeoIRIS v4.
- Used KML to link website’s AJAX-powered components with Google Earth.
- Created web front-end for MaizeDB.
Head Developer / Devops Engineer at Workplace.Watch (Oct 2014 - May 2015)
- Worked on a office management system, including a restroom queueing system.
Developer for A Major Guitar Lessons (Sept 2015 - present)
- I donate my time developing a management system for lesson management and reporting.
Education
- Bachelor of Arts in Computer Science at University of Missouri Columbia, Dec 2010
- Minor in Information Technology
Experience with Technologies:
- Distributions
- Ubuntu
- CentOS (RHEL-based)
- HTTP Servers
- Apache
- Nginx
- Gunicorn
- Database Software
- MySQL
- PostgreSQL
- mongodb
- Programming Languages
- PHP
- APC/APCu
- PHP opCache
- Python
- Node.js
- Bash
- PHP
- Automatic Configuration Software
- Ansible
- Puppet
- Security
- openssl
- letsencrypt
- iptables
- nmap
- PCI, HIPAA, and SSAE16
- WordPress
- Optimizations
- DB Indexes
- WP Super Cache
- W3 Total Cache
- Optimus Cache Prime
- Security
- Wordfence
- Sucuri
- Brute force mitigation
- Patching vulnerabilities
- Cleaning compromised sites
- Optimizations
- Version Control Systems
- Git
- SVN
- Tools
- Rsync
- Vim (
alias emacs='echo "Vim is love, Vim is life."; vim'
) - Screen
- Parallel
- Coding Best Practices
- PSR-4 for PHP using PHP Code Sniffer
- ShellCheck for bash
- Puppet-lint for Puppet
- Ansible-lint for Ansible
- Monitoring
- PagerDuty
- Datadog
- Statsd
- Collectd
- Carbon
- Graphite
- Grafana
- Seyren
- StatusCake
- Lsyncd
- This is a pretty neat tool. It uses inotify to know when files change, and you can kick off custom commands to sync files.
- Microcopmuters
- Raspberry Pi
- Arduino