The Princeton University Library is one of the world's leading research libraries, serving a diverse community of 5,200 undergraduates, 2,700 graduate students, 1,200 faculty members, and many visiting scholars. Its holdings include more than 7 million printed volumes, 5 million manuscripts, 2 million nonprint items, and extensive collections of digital text, data, and images.
The Library employs a dedicated and knowledgeable staff of more than 300 professional and support staff working in a large central library, 9 specialized branches, and 3 storage facilities.
As a member of the growing Library Systems Application Development team, the successful candidate will play a key role in the architecture, monitoring, maintenance, and deployment of new and existing library applications, ranging from the library website to resource discovery and repository applications. The person in this position will work very closely with the library systems administrators and developers and will utilize a variety of technologies.
This is a fulltime, permanent position, reporting to the Library Systems Application Development
Demonstrated experience with the following:
● Hardware virtualization environments such as VMware
● One or more automated provisioning frameworks, e.g. Puppet, Chef, or Ansible
● Rails, LAMP/Drupal, and Java application deployment patterns
● Security best practices and automated security patching
● Monitoring frameworks such as New Relic or Monit.
● Serverside technologies including Apache Solr, NGINX and/or Apache HTTP Server, Tomcat and/or Jetty, and Passenger
● Management and deployment of SQL Database clusters (PostgreSQL preferred)
● Scripting in one or more open source languages (e.g. Bash, Ruby, Python)
● Distributed version control, preferably Git/Github, for source code version control and collaboration
● Testing, continuous integration (TravisCI, CircleCI), and continuous deployment frameworks
Additionally, candidates must be willing to learn new technologies and work closely with colleagues in a teambased environment. S/he should have demonstrated experience managing a complex workload, be able to share responsibility for offhours service outages, and possess excellent written and oral communication skills, including experience writing and maintaining documentation.
In addition to the above, experience with:
● The Hydra framework, especially Fedora
● Hardware load balancing technologies and techniques
● At least one open source programming language and/or web framework (e.g. Ruby/Rails, PHP/Drupal, Python/WSGI, Java/Tomcat)
● Work in a large academic, cultural heritage, or research institution
● Committing to Open Source Software projects
● Capistrano, Hubot, and automation via Slack
Candidates with an advanced degree in Computer Science, Library Science, or another relevant field, and those with experience working in large academic libraries or similar cultural heritage institutions will be given special consideration.
Software and Frameworks:
In addition to the technologies listed elsewhere:
● Blacklight: http://projectblacklight.org/
● GeoServer: http://geoserver.org/
Protocols and Data Standards and Best Practices
● RDF/Linked Data and Linked Data publishing patterns
● REST and Distributed architecture patterns.
Review of applications will begin immediately and will continue until the position is filled. Nominations and applications (cover letter, resume and the names, titles, addresses and phone numbers of three references) will be accepted only from the Jobs at Princeton website: http://jobs.princeton.edu.
The final candidate will be required to complete a background check successfully.