- Software Engineer, Release EngineeringDropbox2015 - 2017
Technologies: Python, Puppet, Jenkins, VMware vSphere, Trac, Bitten, Bash
- 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 EngineerCommandIQ2014 - 2015
Technologies: Python, AWS (EC2, Redshift, S3, boto), Python, Redis, RQ
- 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, OperationsLumosity (Lumos Labs)2012 - 2014
Technologies: Ruby on Rails, Chef, MySQL, Redis, Python, Nagios, Graphite, HAProxy, CentOS
- 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, OperationsLolapps2011 - 2012
Technologies: Python, Pylons, Fabric, Bash, MySQL, MongoDB, Memcached, HAProxy
- 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 EngineerePrize2008 - 2011
- 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 AssistantLawrence Technological University2005 - 2007
Technologies: Java, Python, C, C++, Robotics, SVG
- 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).