Software Developer, 2014 - Current
- In charge of the Rails backend application
- Built and maintain the payments integration that processes millions of dollars a year for egghead
- Integrated SAML for our enterprise customers
- Work with a small team of junior developers on building and maintaining the backend application
Software Consultant, 2014 - Current
Okapi, Ann Arbor, MI
- Part-time CTO for a small software development shop specializing in government training software
- Consulted on a Docker deployment project
- Assisted getting a PHP application up and running on three different PaaS hosts
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.
Implemented a lapsed-gamer mailer with customized messages for every user which increased retention by ~5%.
Debugged and fixed some thorny EC2 / SSH bugs
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 service in Python, PostgreSQL and Redis.
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.
Worked with and extended a large Django application that forms the front-end of Emma's email marketing service.
Software Developer, 2007 - 2011
Rentrak, 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 a new product from scratch with another developer 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.
- Mastering Modern Payments, a book about integrating Stripe payments with Rails.
- Twitter Fiction Reader, a curated archive of fictional twitter accounts. Simple Sinatra application.
- Docverter, an open source document conversion web service.
- petekeen.net, my personal programming and tech related blog. Recently converted to a simple Sinatra application.
Bachelor of Science in Management Computer Systems
Computer Science Minor
University of Wisconsin - Whitewater
Graduated December 2006
- Agile / Test-driven Development, Pair Programming, RSpec, Jasmine
- Git, SVN, CVS
- Linux, Mac OS X
- PostgreSQL, MySQL, Redis