Lead Software Engineer2012 - PRESENT50onRed
- Updated an existing serial web scraping process to a parallel asynchronous process using Python's RQ library. Reduced processing time by 500%.
- Provisioned, maintained, and utilized a 5 node Elasticsearch cluster being fed by LogStash.
- Deployed StatsD to several web apps, providing key metrics and insight.
- Used OpenResty and LUA to aggregate ping stats into Redis and flush the stats into MySQL. Reduced the delay in calculation of statistics from one hour to five minutes.
- Created a Flask back-end for an automatic updating application processing millions of requests daily on only two servers.
- Created Ansible playbooks for deploying web applications to EC2.
- Designed MySQL partitioning and indexing schemes for tables with hundreds of millions of rows.
- Created an AngularJS app to manage ad placements.
Software Engineer2015 - 2015Swizly
Technologies: RabbitMQ, Celery, Django
- Monitored and analyzed RabbitMQ queue growth patterns in order to hunt down performance issues.
- Inspected Celery events, workers, and tasks to discovery why workers would hang forever.
- Scrutinized Python Celery job code to find locations in that could cause a job process to hang forever.
- Update Celery job configuration to set hard timeouts on jobs that never finish.
- Investigated why exceptions in Celery jobs were not being sent to the Sentry server.
Research Engineer2009 - 2012Drexel University
Technologies: Multicast, PostgreSQL, Jenkins, NASA World Wind, Swing, Maven, Java
- Created a Java Swing geospatial command and control application for US Army experiments.
- Utilized multicast networking to create a distributed document sharing and editing platform.
- Added continuous integration to the project by provisioning and deploying a Jenkins server.
- Set up and utilized a Sonatype Nexus Maven repository server for our internal Maven repositories.
- Built a custom graphics library of military symbols on top of NASA's WorldWind library.
Combat System Engineer2007 - 2009Naval Surface Warfare Center
Technologies: Java, VNC, C++, SSH
- Created test and evaluation plans for combat systems.
- Was responsible for the installation and configuration of remote assistance systems on US Navy cruisers and destroyers. Saved time and money with the remote system by allowing shore-based experts to provide remote support to sailors both at sea and when docked. Resulted in a dramatic cost savings and decreased the turn around time for repairs.
- Trained sailors in the usage of the remote support system.
- Tested and repaired ship-based FDDI networks.
- Worked directly with a System Test Officer (STO) to ensure minimal or no downtime while installing routers and software for remote support.