Ian M. Jones

Ann Arbor, MI
gmail: ianmclaury

Technical Skills

Programming languages: Python, JavaScript, Java, Jython, Objective-C. Some familiarity with Ruby and Scheme. Past use of Perl and C.

Web: application development and deployment (Python, Django, Java, JavaScript, Backbone, WSGI, Apache); RESTful web services; standards-based web design.

Frameworks and platforms: Python ecosystem, JavaScript ecosystem, Java SDK and ecosystem. Past experience with Cocoa and WebObjects.

Development practices: unit testing, integration testing, continuous integration, one-step deployment, version control (traditional and distributed).

Employment

Software Developer 2012 - present

inDepthLearning
Ann Arbor

Ongoing development of a game to help physicians diagnose medical conditions that might otherwise require a specialist. The game is written in Backbone.js and HTML5 and is intended for use on a tablet. The RESTful back end is written in Django. (JavaScript, Backbone.js, Python, Django, PostgreSQL, Nginx)

Lead Developer 2011 - 2012

The Advisory Board Company
Crimson Services, Ann Arbor and Austin

Development of a commercial electronic health record and reporting application, Crimson Care Registry, released in fall 2012. Led the development and deployment of the Django-based core of the application. Contributed components, utilities, and behavior customizations to the JavaScript-intensive front end. (Python, Django, JavaScript, PostgreSQL, Apache, mod_wsgi, haproxy)

Put the project infrastructure in place from scratch — automated testing, continuous integration, one-step deployment, release management, code reviews, issue tracking. Testing evangelist. Mentor to several younger developers. (Jenkins, Fabric, Redmine)

Senior Developer 2000 - 2011

Center for Health Communications Research, Comprehensive Cancer Center, University of Michigan

Designed and implemented a tailoring engine used for writing and delivering complex, context-sensitive health education messages. At the time of departure (Spring 2011), the engine was the foundation of some two dozen cancer communication research projects totalling roughly $10 million of funding; development and use continues today. The engine can run without modification either standalone — as a Python application or web service — or embedded within a Java application. The system was taught in a course at the UM School of Public Health in winter 2011 and was adopted by diverse research groups from Henry Ford Hospital in Detroit to Kaiser Permanente in Denver. (Python, Java, Jython, Django, MySQL)

Integrated the tailoring engine into an Eclipse RCP-based desktop application used for authoring messages. Reworked a key part of the application, the Publisher, for better usability and functionality. (Java, Eclipse RCP/SWT/JFace, Jython)

Introduced numerous modern development practices to the Center: automated testing (unit testing via JUnit and Python’s unittest and behavior testing via Selenium), bug tracking (Roundup and Jira), version control (CVS, Subversion, Mercurial), and continuous integration (Hudson). Mentor to a number of junior developers.

Vigorous advocate for users of the Center’s software. Special attention to software usability, simplicity, and design.

Project work in diverse health communications research topics: tobacco cessation, colorectal cancer screening, liver transplant medication adherence, web search filtering, and many others. A project on asthma management, for which I was the architect and main implementer, won a 2008 Freddie Award for achievement in health and medical media. (Java, Python, Jython, Apache httpd, JavaScript, Flash)

Web Application Developer 2000

School of Dentistry, University of Michigan

Developed and deployed several web-based applications: a survey creation and report tool; a decision tree creation tool; a website evaluation application and database; a permissions management tool for Apache; an LDAP-integrated Dentistry-specific student database. (Java, WebObjects, Apache, LDAP, Kerberos)

Developed and refactored school’s web scripts. (Perl, C, Java/JSP)

Performed system administration for school’s web servers: Red Hat Linux with Apache and ApacheSSL; Mac OS X Server with Apache and WebObjects. Supervised student developers and student technical support staff. Consulted with Dentistry faculty clients on their application needs.

Computer Systems Specialist 1998 - 2000

Department of Biological Chemistry, University of Michigan

Developed lab and departmental web sites. Assisted with molecular biology research by searching gene sequence databases and aligning sequences.

Computer Systems Specialist 1995 - 1998

Department of Pathology, University of Michigan

Designed and implemented patient blood test tracking database in conjunction with the departments of Psychiatry and Pharmacy; designed, implemented, and maintained departmental web site; graphic design work for scientific research publications (in Science, Nature, Cell, JAMA, and others); built image indexing system for publication and presentation figures.

Education

BA, English, 1998
University of Michigan Residential College

Professional Development

Conferences

Tech meetups