Job Summary

The Caltech Library is seeking an Research Applications Developer to join its small, flexible and multi-talented team responsible for building innovative tools and systems to support the work of the extraordinary faculty and researchers of Caltech. Ideal candidates will have a passion for new technologies and approaches, a strong programming background in research computing or data science, and enjoy working in a collegial team-oriented environment with other programmers, technologically savvy staff, and Caltech scientists, faculty and students. The Research Applications Developer is a member of a 4-person developers group within the Digital Library Development (DLD) team, the developers, librarians and technologists that power the Library’s R&D activities in both established and emerging areas of activity.

The Research Applications Developer participates in Library software development projects that support and integrate with research activities across the campus, taking leadership/ownership of specific projects as appropriate. Library services include digital repositories (CaltechAUTHORS, CaltechDATA, digital collections) and on a variety of platforms (EPrints, Invenio, Islandora). Working with librarians, archivists, faculty, staff and students, the Research Applications Developer  develops software that supports digital scholarship, research data management, and the integration of Library services into the work of campus research groups. The Developer has the opportunity to collaborate with librarians in the provision of software and data management instruction through the Library's instructional program (Software and Data Carpentry).

About Caltech and Caltech Library

The California Institute of Technology (Caltech) is a world-renowned science and engineering research and education institution, where extraordinary faculty and students seek answers to complex questions, discover new knowledge, lead innovation, and transform our future. Founded by Caltech faculty, NASA's Jet Propulsion Laboratory (JPL) is a division of Caltech and is the leading U.S. center for the robotic exploration of the solar system. For the fifth year in a row, Caltech was named the top university in the world in 2015-16 in the Times Higher Education World University Rankings. Caltech was awarded "Great College to Work For" by the Chronicle of Higher Education in 2013. Caltech's 124-acre campus is located in Pasadena, California. Home to the Rose Bowl Parade, Pasadena is located in the foothills of the Angeles National Forest, 10 miles from downtown Los Angeles.

The Caltech Library system comprises five libraries and Archives and Special Collections. The Library's 42 staff are divided across four units that reflect the Library's core areas of service to Caltech: Access and Fulfillment Services, Archives and Special Collections, Digital Library Development, and Research Services. The Caltech Library helps enable the Institute fulfill its mission to expand human knowledge through research integrated with education. The Library is most effective when it mirrors how Caltech itself works--its ambition to take on challenging and fundamental problems through creative, collaborative and multidisciplinary inquiry. In 2017 the library launched CaltechDATA, a user-focused repository for research data files, and research data consultations that provide hands-on support for data storage in the academic environment.  In addition, a new series of training initiatives from the Library based on Software and Data Carpentry provide much-needed programming skills to researchers. The library continues to expand its services for modern research and publishing, and has recently added new features to its physical spaces, including a 3D printing lab and virtual reality workstation.

Job Duties

  • Develop software and/or modify existing software for digital library projects, including database services, text and data repositories, indexing and communication services, digital asset conversion services
  • Collaborate with Caltech research groups to develop and integrate Library digital systems and services in support of campus research activities
  • Create web, API and other interfaces between library software systems and external resources and systems
  • Collaborate with library staff on product development roadmaps
  • Develop software tools for use by Library staff and patrons as needed
  • Participate in the Library’s software and data management instruction program (“The Carpentries”)
  • Other duties as assigned

Basic Qualifications

  • BS degree with 4+ years of application development experience
  • Science and technology research experience
  • Data management programming experience
  • Experience programming with PHP, Python or R; JavaScript; shell scripting
  • Working knowledge of software version control systems such as Git or SVN
  • Strong analytical skills and orientation to detail
  • Strong oral and written communication skills

Preferred Qualifications

  • MS or PhD degree in science/engineering or related field
  • Experience working with modern web technologies (e.g. Javascript, CSS, HTML5) in various contexts (e.g. Evergreen Web Browsers, NodeJS, Electron)
  • Experience developing and using data analysis and visualization tools
  • Experience managing cloud services (e.g. AWS)
  • Teaching experience
  • Familiarity with Semantic Web concepts and technologies (JSON-LD, RDF, OWL, URIs)
  • Familiarity with search engine technologies such as Solr and Elasticsearch