Digital Library Software Engineer
Created:
February 5, 2014
Description
DescriptionStanford 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 Area.
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 Preservation Network.
· 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.
Qualifications
· 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.
Desired Skills
· 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.
Metadata
Published: Wednesday, February 5, 2014 21:57 UTC
Last updated: Tuesday, February 28, 2017 23:44 UTC