Digital Library Software Engineer
Stanford University Libraries is seeking an enthusiastic and talented software
engineer to support infrastructure and services as part of its digital
library, an internationally recognized technology program developing
innovative solutions to advance teaching, learning and research at one of the
world's leading universities. We are a mission-driven organization that
emphasizes open, collaborative work and community engagement within Stanford
and with partner institutions around the world.
This position will be a key contributor to a dynamic team of technologists,
architects and information professionals defining the library of the future.
Come work in an agile-inspired, test-driven, team environment, balancing the
rapid and incremental delivery of new features with operational robustness.
Join us to realize the benefits of working with one of the most talented
technology teams in Silicon Valley to support Stanford scholars in one of the
nation's most inspiring campus environments, in the heart of the beautiful Bay
This is a 4 year, fixed-term position in the library's Digital Library Systems
and Services group, with the possibility for renewal. This position is a
double posting at the 4P3 and 4P4 grades.
Duties and Responsibilities
* Software engineering for the Stanford Digital Library (60%)
Work as part of a dedicated infrastructure team on Stanford Digital Library's
cyber-infrastructure, principally Ruby on Rails-based middleware and services
that support adaptable and reusable technology solutions for the Stanford
Digital Repository. Robust infrastructure is at the heart of the digital
library, addressing needs of digital resource management and workflows,
preservation, application development, end-user discovery and access, open
APIs, and internal administrative functions. Because it incorporates a rich
variety of custom and open-source software, engineering will leverage, adapt
and collaboratively extend SUL's digital library service-based infrastructure
as well as open source technologies and industry best practices.
* Preservation engineer (20%)
Responsibility for overall engineering of the repository's preservation
environment, including online and archival storage, fixity and audit
processes, backups and replication, and integration with DPN, the Digital
* Community Engagement (20%)
Represent Stanford in the digital library communities, particularly key
strategic open source partnerships like Fedora, Hydra and Blacklight. Identify
and adapt code that fits Stanford's environment. Document and disseminate
Stanford development and operational solutions to other adopters and potential
code contributors. Track and apply industry best practices, tools and
methodologies to Stanford digital library development and operations efforts.
* Demonstrated knowledge of a data-driven, service based architecture for an object-based services infrastructure that includes hierarchical encapsulation and reuse from low level program classes to service APIs to high level web-services operations.
* Demonstrated experience in the development and delivery of software that meets requirements for quality, scale, robustness in a large-scale production environment, incorporating heterogeneous hardware (storage, network, servers), dealing with issues of persistence, caching, bandwidth, I/O, load balancing, etc. at a large scale (high volume, large files, many instances).
* Working knowledge of or ability to adopt and apply agile software development practices and test driven development principles. Ability to understand best practices for software development, and an ability to introduce and reinforce application of those practices in a team environment.
* Demonstrated experience with, or capacity to learn, Ruby on Rails for application development and for engineering in an enhanced framework, including plug-ins, engines and gems.
* Demonstrated ability writing solid, simple, elegant code both independently and in a team-programming environment, and within schedule limitations.
* Experience working collaboratively on a project from specification to launch; ability to work with multiple levels of staff, and within open source communities; good verbal and written communication skills.
* A candidate at the 4P3 level will require three or more years relevant experience engineering applications or services in a data-driven software environment. At the 4P4 level, candidates must have seven or more years of relevant experience, and must have demonstrated senior-level contributions and/or leadership roles in analogous environments.
* Prior experience in development support tools used in our environment is a plus: Git, Puppet, Tomcat, Capistrano, Hudson, JIRA, etc.
* Prior success in working in an academic environment.; experience in the digital library community is a plus.
* Familiarity with digital asset management and repository-related applications.
* Experience contributing to community-based open source projects, including but not limited to those relevant to the Stanford Libraries' digital library architecture.
* Detail oriented, with a passion for good metadata.
Brought to you by code4lib jobs: http://jobs.code4lib.org/job/12303/