Resume
Experience
Software Developer, 2012 - Current
Kongregate, Portland, OR
Maintain and optimize one of the largest and oldest Ruby on Rails applications in existence. Kongregate receives over 10 million visits per month across more than 60,000 free-to-play single- and multiplayer games.
Work across the entire stack, from MySQL query optimization to Ruby and Node.JS background jobs to front-end HTML, Javascript and CSS.
Implemented a lapsed-gamer mailer with customized messages for every user which increased retention by ~5%.
Daily work on tasks using Pivotal Tracker, GitHub, and the Jenkins continuous integration server.
Platform Developer, 2011 - 2012
Emma, Portland, OR
Ported the audience management system of Emma, including mailing list management, audience searches, administration, and sending mail into a REST/JSON service in Python, running on PostgreSQL and Redis. This service has 90% test coverage.
Built a search engine that consumes a JSON search description, builds an equivalent SQL query, and executes the query on a sharded PostgreSQL database system. This is used for filtering all requests that come into the audience REST service.
Wrote an experimental internal Platform as a Service to be used for all new systems at Emma. Heavily inspired by Heroku, it enables a git-based deployment system backed by redis. It is currently in the evaluation stage.
Software Developer, 2007 - 2011
Rentrak Corporation, Portland, OR
Designed, developed, and deployed two different demographics systems for linear television that have set the direction of all future demographics systems at Rentrak. These systems overlay postal- and household-level segmentation on top of hundreds of billions of television view transactions.
Developed a SQL-like language that compiles to C++ using Perl and Parse::RecDescent to enable internal users to query the view repository.
Designed and deployed a system for distributed job processing using Gearman which will form the core for all new distributed or delayed job processing company-wide.
Designed a new product from scratch with another developer on a three month contract, focusing on the backend data processing. Built a DSL-like system within Perl for succinct summary table definition which allows developers to create new summary tables quickly and with very low maintenance overhead.
Wrote one-time and repeatable data extraction and analysis programs for the CIO and the research department to better understand hundreds of billions of television view transactions.
Worked with another developer and the system administration team to convert the entire company from subversion to git. Internal repos are hosted using gitolite.
Built a video player using Adobe ActionScript and Flex that shows DVR-style recordings with viewership data overlays.
Implemented an experimental perl-based framework on top of Hadoop and HDFS that was used to test some performance hypotheses.
Software Development Intern, 2006
Quad Graphics and University of Wisconsin-Whitewater Management and Computer Systems
- Enhanced Ruby on Rails' ActiveRecord support for Sybase
- Extended ActiveRecord's ability to generate model objects from arbitrary database tables.
- Used these new capabilities to enable repeatable unit testing of database-driven .Net applications on developers' desktops by pulling only the needed sets of test data from a central database.
Research Assistant, Fall 2005 - Spring 2006
Aurora Health Care and University of Wisconsin - Whitewater Management Computer Systems
- Implemented a data aggregation system among several dissimilar data silos using JSP, servlets, Lucene, jUnit, ant, and MS SQL Server. Silos did not share primary keys and contained similar but not identical profile information, so the system guided a user through a three step selection and matching process.
Side Projects
- Twitter Fiction Reader, a curated archive of fictional twitter accounts. Simple Sinatra application.
- FivePad, the easiest way to keep track of your apartment search. Rails app hosted on Heroku.
- bugsplat.info, my personal programming and tech related blog. Recently converted to a simple Sinatra application.
- remindlyo, a phone call follow up and reminder service. Rails app using the Twilio API. Now deactivated.
Education
Bachelor of Science in Management Computer Systems
Computer Science Minor
University of Wisconsin - Whitewater
Graduated December 2006
- Completed a year-long project for a major bank in Milwaukee that implemented a debit card reward processing and redemption system using ASP.NET, VB.NET and SQL Server 2000.
Skills
- Perl, C++, HTML/CSS, Javascript, Java, Python, Ruby, Shell scripting
- Test-driven Development, Pair Programming
- Git, SVN, CVS
- Linux, Mac OS X
- PostgreSQL, MySQL


