Welcome.


I'm Christopher Childs, a software developer in the Boston, MA area. I currently work for PatientKeeper in Waltham, MA.


Professional


I'm a software developer, primarily working with Java and, on the side, Scala. I am focused on learning and embracing new technologies, and implementing them where they are appropriate. I am passionate about improving the technical quality of any project that I have a hand in developing or maintaining. I am proactive in recognizing deficiencies, and capable of recommending and implementing solutions.

During classwork for group projects, my talents and skills were heavily relied upon to deliver successful assignments. I took a major role in designing and guiding the implementation of a web application for a software engineering course using Django, a Python web framework. I also played a critical role in implementing the necessary functionality for our operating systems course assignments.

Please take a look at my LinkedIn profile if you are interested. Thanks!


Work History


PatientKeeper

May 2011 to Present

PatientKeeper creates a unique product focused on automating the daily life of a physician. They sell to a broad range of hospitals, including two of the largest hospital groups in the United States, a solution that features a Java-based web portal for physicians to perform a broad range of tasks in their daily workflow: examine clinical results for patients, place and review charges (plus collect responses to questions about the care delivered to satisfy PQRS requirements), place hospital orders, and record doctors' notes about patients so later attending physicians can deliver accurate care. In addition to the web portal, there are also Android and iOS clients that provide very similar functionality to the portal.

Job Responsibilities

  • Work with the CPOE (Computerized Physician Order Entry) group to primarily maintain and improve the CPOE product
    • Improve the quality and accuracy of search results generated by Apache Solr
    • Solve performance issues in older browsers (IE7/IE8) stemming from heavy usage of JavaScript
    • Implement new functionality, such as the data model changes for supporting new types of medication orders
    • Aid in diagnosing the cause of issues that Support needs help with, and help design solutions to prevent the problem in the future
    • Provide training to development and to other groups when necessary about technologies and products in the domain of CPOE, such as Quartz Scheduler and Solr, and other products that affect everyone in development, such as Jenkins
  • Work within cross-functional groups to improve the overall quality of the product
    • Involved with an effort between Development and QA to improve automated testing by integrating builds produced by Jenkins with QA's existing Quality Center/QuickTest Pro test suites

Projects and Accomplishments

  • Apache Solr maintenance and enhancement
    • Migrated from Solr 1.4 to Solr 3.4, and simultaneously implemented support within the PatientKeeper product to have multiple search indexes with multiple SolrCores.
    • Completed a major refactoring project to improve future maintainability by designing a new search interface that allows clients of this internal API to easily specify search criteria, and improving quality by eliminating deficiencies in the abstraction: despite there being an existing query API that should mask the search implementation (Solr), Solr's Java client API specifics could be found in our web code.
    • Implemented Solr's field collapsing/grouping feature to deduplicate results in our search index, which, when combined with faceting, also improved accuracy in counting the number of results for search queries
    • Schema adjustments and DataImportHandler adjustments to support indexing more data with each document as business requirements changed
  • Extension of the company's usage of Jenkins
    • Assisted in completing the changes necessary (Ant scripts for executing builds, scripts for environment bootstrapping on a nightly basis, and related Jenkins project setup) to support a broader set of automated testing for the PatientKeeper product suite
    • Sole maintainer of the continuous integration effort
    • Took initiative in recommending the replacement of the company's home-grown build system, which was fraught with administrative and maintenance issues that Jenkins solves, and consequently integrated Jenkins as the new build system without disrupting the rest of the company's existing infrastructure that works with new builds of the software.

UMass Student Government Association

November 2010 - April 2011

The UMass Student Government Association is comprised of students who seek to improve the welfare of the student body at the University of Massachusetts Amherst. One of the ways in which they hoped to help out the students was to create an open marketplace allowing students to sell their used textbooks to other students. On campus, the Textbook Annex will buy back books at the close of each semester, for a small fraction of the original purchase price. Students could sell directly to other students through the product of this effort, umassbookswap.com. On the site, students would list their books for sale, with a picture of the book, and other students who needed to purchase a textbook could search by book name or class. The site was implemented using the CakePHP framework, which enforces the use of the model-view-controller design pattern.

UnveiledArts

January 2010 - October 2010

UnveiledArts was a Michigan corporation operating in New York City. They sought to create a product, beaconpass.com, that would bring some order to the chaos of finding entertainment venues and events in the city. Visitors to the site would be presented with a carefully curated list of events fitting a very small number of criteria that they would have to select, such as the venue's neighborhood (to find events near to them), the type of event, and the date on which it would happen, in order to narrow down a suitable event to attend. Event and venue profiles had high-quality photographs and reviews attached to them so site visitors could make an informed decision prior to attending. Django was the framework of choice for the project. It is written in Python, and, compared to CakePHP, doesn't rigorously enforce the developer to adhere to a lot of conventions; instead, a lot of flexibility is given, in the form of segmenting your project into multiple "applications," and manually specifying URL routes both at the project and application levels. It uses a pattern it calls model-view-template, since it offers to its users a set of default views that handle some simple actions such as displaying a template that represents a detailed view of an object given an argument specifying the ID of a model, and views that can paginate a set of objects based on time/date. These were used to rapidly implement the views in cases where no custom logic was required, such as venue and event detail pages.


Projects


Have to be hacking on something, right?