Tech CV

I am a web application developer, website engineer and system administrator, and database designer. I've been active in these fields since 1998, and am currently a Senior Developer at The Digital Public Library of America.

I program mostly in Python and Ruby, and am strong in PHP (though I try to avoid it), Javascript, bash, and Max/MSP. I've used a lot Perl and some Java in the past. I am fluent in HTML5, XHTML, CSS, and XML markup in general.

I administer and tune BigCouch (CouchDB) and Elasticsearch clusters that house large-scale, highly-available document repositories; and I design and write application code that interacts with them.

I am adept in the Git and Subversion revision control systems. I have worked extensively with issue-tracking and project management software in the form of Redmine, Atlassian JIRA, Mantis, and Basecamp. Aspects of the Agile and Kanban methodologies have been useful in my projects.

I have designed and coded business-critical website APIs, with a RESTful, resource-oriented architectural style.

I have engineered and implemented a mission-critical payment system that integrates a commerce and subscription-based website with and PayPal.

I have been deeply involved in the design and coding of MVC web applications, using the CakePHP framework for PHP and Backbone.js for Javascript. Before becoming as invested as I am now in the MVC pattern, I became interested in its significance in projects with Zend Framework for PHP, and through self-guided investigations of Cocoa for Objective-C.

I have worked extensively with the Nginx and Apache webservers, configuring them to meet the complex needs of institutional hosting environments and high-volume web applications; and compiling, installing, and maintaining customized compliments of modules.

I have planned and implemented load-balanced server farms for websites that combine the the capabilities of Apache, mod_pagespeed, memcached, APC, PHP, MySQL, and dedicated f5 hardware to reliably deliver content and stay available in high-volume situations.

I have administered and customized the Drupal, WordPress, and Plone content management systems, and have worked with Vignette to the extent of customizing another application to work with its database. I have been the administrator and developer of a group of 18 Drupal sites in an institutional environment, and in maintaining the software installation for these sites on their server.

I am expert in a variety of Unix and Unix-like operating systems: Mac OS X, Linux (Red Hat / CentOS, Debian / Ubuntu, Slackware), Solaris, and BSD. I am well-versed in the Debian and Red Hat package-management systems, which I use to streamline the maintenance of custom packages when they are necessary. I have fourteen years of experience performance-tuning Unix-based web and database servers.

I have also been designing and performance-tuning relational databases running first on Oracle, then MySQL, and now PostgreSQL, since 1999.

Employment History