User News

Stay up to date with up to the minute news from XSEDE and XSEDE User Portal. Subscribe for email notifications.

Key Points
Breaking user information
Contact Information

Applications Developer Position at Caltech Library

Posted by Hannah Remmert on 11/09/2017 17:31 UTC

Job ad:

Job Summary
The Caltech Library is seeking an 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. Technology is rapidly changing the way libraries support research, offering both challenges and opportunities to which the Caltech Library is responding vigorously. Ideal candidates will have a passion for new technologies and approaches, a strong programming background, and enjoy working in a collegial team-oriented environment with other programmers, technologically savvy staff, and Caltech scientists, faculty and students. Experience in research computing or data science would be advantageous. The 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 Applications Developer participates in software applications projects, taking leadership/ownership of specific projects as appropriate. Projects and activities support a range of Library services to the campus, including digital repositories (CaltechAUTHORS, CaltechDATA, digital collections) and platforms (EPrints, Invenio, Islandora), including the Institute Archives' platform for collection management (ArchivesSpace). The Library is eschewing monolithic systems in favor of a networked combination of locally built, cloud-hosted tools, and authoritative external data sources and web services. The Developer works both independently and with other developers to develop software for this ecosystem, as well as to manage Library assets and provide staff and end-user services.

The selected candidate works with project teams that may include librarians, archivists, faculty, staff and students to develop functional requirements and workplans. Areas of software development include the creation and management of digital assets, provision of online services, and manipulation of digital data and metadata. 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.

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
-Develop tools for use by Library staff and patrons to solve specific problems, and create and support workflows for accomplishing Library objectives using automated tools
-Participate in development of software and data management instruction program for library and Institute colleagues
-Perform coding and analysis to modify and improve web interfaces for library software systems
-Manage in-house and vendor-hosted (“cloud”) Linux servers, including monitoring, updates, patches, and security issues
-Manage software packages that support Library user needs (e.g. EZproxy)
-Collaborate with library staff on product development roadmaps
-Other duties as assigned

Basic Qualifications
-BS degree or equivalent combination of education and experience with 4+ years of application development experience
-Experience programming with PHP, Python or R; JavaScript
-Experience managing Unix/Linux servers and shell scripting
-Experience developing web environments in collaboration with targeted end users (e.g. students, scholars, researchers), including requirements compilation, design principles, product assessment
-Knowledge of web technologies and frameworks such as Apache, HTML/XHTML, XML, CSS
-Knowledge of SQL and relational database systems such as MySQL
-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
-BS or MS degree in science/engineering or related field
-Working knowledge of library operations and systems
-Experience working with modern web technologies (e.g. JavaScript, CSS, HTML5) in various contexts (e.g. Evergreen Web Browsers, NodeJS, Electron)
-Experience working with content management systems (e.g. Drupal), visualization tools, GIS
-Experience managing cloud services (e.g. AWS)
-Teaching experience
-Experience programming with other languages, such as Java, Go
-Familiarity with Semantic Web concepts and technologies (JSON-LD, RDF, OWL, URIs)
-Familiarity with search engine technologies such as Solr or Elasticsearch