⇧ Home

Chuck McCallum

Work History

Software Developer, OpenDP (October 2023-present): Based on a review of documentation sites for several comparable projects, and the identification of user groups with distinct information needs, proposed and carried through a reorganization of docs.opendp.org. To support documentation of R in parallel with Python and Rust, implemented tabbed code examples. Enhanced code generation in Rust so that Python and R API references can include language-specific examples. Improved the robustness of CI tooling and the reliability of the build process by adding linting of Python and R code; test coverage, type checking, and pinned transitive dependencies in Python; and reference checking in documentation. Identified state-level demographers as a potential user community with strong opinions about differential privacy, and then conducted interviews and summarized findings.

Seasonal Educator, Old North Illuminated (April 2023-present); Tour Guide, Historic New England (April 2023-present); Volunteer, National Park Service (April-August 2023): Splitting time between Old North Church, the Cooper-Frost-Austin House, and Faneuil Hall, welcomed diverse visitors and explained the history and continuing significance of these sites through scripted tours and spontaneous conversations. Researched and scripted a new talk on the history of music at Old North Church, and an acknowledgement of the history of Native Americans and African American at Cooper-Frost-Austin. Consistently enforced policies to ensure the safety of visitors and the preservation of the sites.

Research Data Storage Developer (October 2022-March 2023), Princeton University, Office of Information Technology: Working with software developers in the university library, added new features to pdc_describe, a cataloging tool for librarians, and initial configurations in TigerData, a set of data storage and management tools that are planned to be used across the university. In these Ruby-on-Rails applications, configured Vite, ESLint, and JS testing as part of CI.

Visualization Software Developer (August 2016-April 2021) / Senior Software Developer (April 2021–October 2022), Gehlenborg Lab, Department of Biomedical Informatics, Harvard Medical School: Supported data visualization research and mentored students and interns. Lead a four person team using Python/Flask and Javascript/React to develop the front-end and data curation tools for HuBMAP, an NIH-funded data portal. Managed issue backlogs, set meeting agendas, took notes, and coordinated with teams at other institutions. Initial author of Vitessce, which repurposed a geospatial library (Deck.gl) for interactive visualizations of spatial single-cell data. Delivered Docker containers for multiple projects, and from 2016-2019, managed database migrations with Django ORM, and deployment to AWS with Terraform.

Web Developer, Media Library and Archives, WGBH, Boston, Massachusetts (August 2014–July 2016): Developed americanarchive.org and wgbhstocksales.org, Ruby-on-Rails applications with Solr backends for media collections. Authored 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): Proposed and implemented a configurable bookmarklet 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 jove.com using MVC principles and object-oriented PHP. Wrote deployment scripts, implemented free-text search, replaced video player, managed transition to a new CDN, and planned for transition from Windows/SQLServer to Linux/MySQL. Built administrative interface using the Propel ORM library, HTML5 File and History APIs, and jQuery.

Software and QA Engineer, ITA Software, Cambridge, Massachusetts (January 2006–December 2008, January 2010–April 2011): Supported development of Needlebase, a tool for information gathering and analysis. (Project discontinued after acquisition, but demo video still available.) As QA, identified bugs in all layers of the system, documented reproducers, wrote JUnit tests, and confirmed 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.

Library Software Developer, University of Pennsylvania Libraries, Philadelphia, Pennsylvania (2009; funded for one year): For the Penn Digital Library, 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 a Merrimack Valley social services directory. Supported Apache, PostgreSQL, DHCP, DNS, firewall, and backups on Linux systems. Provided tech support in person and by phone. Developed promotional materials for the Lab and promoted its hosting, email, and custom software services.

Education