Software Engineer, Release Engineering2015 - 2017Dropbox
Technologies: Bash, Bitten CI, Trac, VMware vSphere, Jenkins, Puppet, Python
- Operationalized and automated manual processes related to desktop client builds (Windows, Linux, and OSX).
- Maintained and improved the existing build system (Trac, Bitten, py.test) for desktop clients.
- Designed and deployed a new desktop client build system using Jenkins, VMware vSphere, and Python.
- Participated in on-call rotation for build issues.
- Wrote custom puppet modules for OS X and Linux to provision build infrastructure.
Senior Back-end Engineer2014 - 2015CommandIQ
Technologies: RQ, Redis, Boto, Amazon S3 (AWS S3), Redshift, Amazon EC2 (Amazon Elastic Compute Cloud), Python
- Improved the reliability and functionality of back-end systems (data processing pipeline).
- Used auto-scaling groups for deployment (Netflix-style red/black deploys of new AMIs).
- Integrated Rollbar for better visibility of platform errors and exceptions.
- Added monitoring via CloudWatch.
- Managed a Redshift data warehouse cluster (data loading, unloading, monitoring, cluster resizing, etc.).
Senior Software Engineer, Operations2012 - 2014Lumosity (Lumos Labs)
Technologies: CentOS, HAProxy, Graphite, Nagios, Python, Redis, MySQL, Chef, Ruby on Rails (RoR)
- Fixed hardware failures, network failures, MySQL and Redis crashes, bad deploys, DDoS attacks, failed maintenance windows, and more at all hours of the day.
- Managed 150 dedicated servers (dedicated hardware from SoftLayer).
- Sharded and scaled clusters for MySQL, Redis, and Memcached.
- Added automation and monitoring for all levels of the stack.
- Managed configuration with Chef and Ansible.
Software Engineer, Operations2011 - 2012Lolapps
Technologies: HAProxy, Memcached, MongoDB, MySQL, Bash, Fabric, Pylons, Python
- Rewrote copy-pasted Bash deployment scripts as clean, re-usable Python code (with Fabric).
- Migrated internal Subversion repos to Git and GitHub.
- Set up a continuous integration and deployment system using Jenkins.
- Implemented automated rolling of MySQL table partitions to safely rotate out old data on live database servers.
- Helped manage 200+ dedicated servers in many capacities including provisioning, automation, and maintenance.
Software Engineer2008 - 2011ePrize
- Built online promotions for top brands such as Xbox, Disney, Gap, Condé Nast, Dell, and Coca-Cola.
- Led development on Xbox Live Rewards.
- Built custom CMS and internationalization functionality on top of Django.
- Did back-end engineering work for large scale email marketing campaigns via ExactTarget.
- Developed Facebook applications.
- Integrated and built data exchanges for clients using a broad range of technologies (SOAP, REST, SFTP, Java, C#, Perl, Python, etc.).
- Created custom reports and dashboards for clients to help them visualize their programs' metrics.
Robotics Lab Assistant2005 - 2007Lawrence Technological University
Technologies: SVG, Robotics, C++, C, Python, Java
- Built software to generate thousands of pages of printed material for Robofest competitions (certificates, name badges, signs, etc.).
- Did web development for Robofest.net using Java, JSP, and Python.
- Taught classes and led workshops on robotics for people of all ages (grade school through adult).
- Helped organize and run Robofest events.
- Conducted systems administration for robotics and computer labs on campus (Linux, Windows, Solaris).