Web Developer, Media Library and Archives, WGBH, Boston, Massachusetts (August 2014-present): Primary developer of americanarchive.org and wgbhstocksales.org, RoR applications with Solr backends for media collections. Developed AWS scripts for creating EC2 instances and managing green/blue deployments across load balancers.
Project Programmer, FilteredPush, Harvard Herbaria, Cambridge, Massachusetts (August 2013-July 2014, funded for one year): Conceived and built a configurable scriptlet generator to simplify “copy cataloging” workflows, particularly in natural history collections. Used HTML5 Web Messaging API and jQuery on the client side, with Solr and Jetty on the server side. Contributed to other components of the FilteredPush project using JSF for the front end, and RDF/SPARQL, MongoDB, and MySQL on the back end.
Software Engineer, Journal of Visualized Experiments, Cambridge, Massachusetts (June 2011-July 2013): Led the rearchitecting of http://jove.com, using MVC principles and object-oriented PHP. Educated peers about software development best practices. Wrote deployment scripts, and created a test suite ranging from fine-grained unit tests to end-to-end transactions. Also implemented free-text search, replaced our video player, managed the transition to a new CDN, and planned for the transition from Windows/SQLServer to Linux/MySQL. Built an administrative interface, using the Propel ORM library, HTML5 File and History APIs, jQuery, and the SlickGrid JS library.
Software and QA Engineer, ITA Software, Cambridge, Massachusetts (January 2006-December 2008, January 2010-April 2011): Helped with Needlebase, a tool for information gathering and analysis. (The project ended in 2012, but a screen-cast is available: http://www.youtube.com/watch?v=58Gzlq4zSDk.) Supported a team of three, later growing to a dozen, by doing whatever needed to be done. As QA, identified bugs in all layers of the system, documented reproducers, wrote JUnit tests, and confirmed the fixes. As evangelist, wrote blog posts and documentation and created demonstrations of the system. As customer support, helped users understand how the software could solve their problems, and provided feedback to developers and designers. On temporary assignment to the Airline Reservations System (July 2006-July 2007) participated in design discussions and implemented a booking flow and an administrative interface.
Library Software Developer, University of Pennsylvania Libraries, Philadelphia, Pennsylvania (2009; funded for one year): For the Penn Digital Library (http://dla.library.upenn.edu/dla), created new widgets and applied existing widgets to build new collections. Used Solr for the backend, WSDLs to connect to outside services, and XLST pipelines in Apache Cocoon for display. Managed reindexing jobs with Java / Spring and Perl scripts.
Software Developer VISTA, Community Software Lab, Lowell, Massachusetts (June 2005-December 2005): New features and bug fixes in Perl for http://mvhub.com, a social-services directory. Supported Apache, PostgreSQL, DHCP, DNS, firewall, and backups on Linux systems. Provided tech support in person and over the phone. Developed promotional materials for the Lab and promoted its hosting, email, and custom software services.