Work Experience
- April 2011 - present
- Chart.io: San Francisco, CA Software engineer and architect. Created security architecture for Chart.io's database connections using reverse ssh tunnelling. Wrote non-blocking MySQL driver in python for use with Tornado. Helped build open engineering culture with as little ego as possible.
- May 2010 - present
- Splunk: San Francisco, CA Senior Software Engineer. Maintained and identified issues within a large, cross platform software application. Debugged frontend issues in Python and Javascript and backend communication across a REST based interface. Suggested and implemented process to reduce future defects based on analysis of past defects. Worked cross team with UI and backend engineering.
- September 2007 - April 2010
- Arbor Networks: Ann Arbor, MI Software Engineer. Developed and maintained the user interface for network management product with web based UI. Created interactive timeseries, bar and pie graphs using javascript. Maintained and refactored thousands of lines of Python. Greatly simplified backend framework while increasing functionality. Developed reusable Python backend components for communication with the browser via AJAX and JSON. Worked extensively with Python, Javascript, HTML, CSS and SQL on a Linux platform.
- November 2006 - August 2007
- Self Employed: Ann Arbor, MI Web developer. Created several database driven web sites while experimenting with web technologies such as Rails, Django and AJAX. Developed and deployed these public websites: tankonempty.com, boxily.com
- June 2005 - October 2006
- General Electric Energy: Schenectady, NY and Salem, VA Product Testing Engineer. Authored and executed test plans for safety certification of turbine control systems. Performed system-level regression testing on turbine-control firmware to assert version compatibility. Prototyped new network-based Generator Protection scheme and helped install it in operational power plant. Designed and implemented a software automation tool for creating Generator Protection documentation for customers.
Personal Projects
- SiteCanary
- A daemon that constantly checks to see if your website is running. If it isn't, or a configured assert fails, it contacts you via email, IM or SMS. Python daemon polls sites and fires alerts when needed.
- Boxily
- A visual layout tool for creating flow charts and similar diagrams. Javascript based. Favorite feature: the images are stored in SVG on the server, so when it is resized by the user, it fetches a new image at the correct resolution and updates it for the user via AJAX.
- Tank on Empty
- How far can your car go after the gas light comes on? I wrote this while questioning what it took to make something popular and frequently used. It's been one of my most popular sites.
- Placed in Action
- A way to keep track of product placement in movies. Never took off, but was mostly written so I could play with screen scraping Wikipedia for data.
Computer Experience
- Operating Systems
- Linux/Unix, OSX, Windows
- Applications
- Apache, Lighttpd, MySQL, Postgres, Subversion, Mercurial, Git, Vim
- Languages
- Python, Javascript, SQL, C
- Web Technologies
- HTML, CSS, Ajax, Django, webpy, Tornado
Education
- Worcester Polytechnic Institute
- Graduated May '05 With High Honors. GPA: 3.4
- Major: Bachelor of Science, Electrical and Computer Engineering
- Minor: Spanish