Digital Library Software Engineer – Linked Data Engineer, Stanford University Libraries

Software Developer 2 / 3

Job Family: Information Technology Services

Job Series: Software Developer

Job Code: 4822 / 23

Classification Level: J / L

Exemption: Exempt

Effective/Revision Date: 04/01/2015

Job Series Matrix URL: View PDF

Formal application must happen via the Stanford HR site at https://stanford.taleo.net/careersection/mobile_stanford_external/jobdetail.ftl?job=70984&lang=en

People can contact Bess Sadler (bess@stanford.edu) for more information. 

Note: Not all unique aspects of the job are covered by this job description

JOB PURPOSE:

The Digital Library Software Engineer is a member of the Digital Library Systems and Services (DLSS) team in the Stanford University Libraries. The engineer will focus on the development and maintenance of Stanford’s Digital Library, with a focus on the integration and development of systems based on Linked Open Data technologies. The role will also engage in community-based development of technologies and approaches to advance the use and integration of Linked Data into production environments. This position works in an agile development environment at Stanford, and extensively with open source and standards communities in the Web, Library and Cultural Heritage sectors, such as the LD4Star, Hydra, IIIF, and the Fedora Repository projects.

As a senior developer, the role performs difficult and complex programming and analysis work, and contributes to all phases of a project, including systems analysis, program design, development, implementation and maintenance. Stanford’s efforts on these fronts are recognized internationally, and have a major programmatic impact on the University’s operation and that of Libraries and Repositories worldwide.

CORE DUTIES*:

  • Propose, conceptualize, design, and implement solutions for difficult and complex applications independently, including both infrastructure and user-facing components.
  • Adapt and adopt technologies and methods from open source projects; participate in such efforts through code, process and community contributions, especially in the Cultural Heritage Linked Data environment.
  • Oversee testing, debugging, change control, and documentation for major projects, comprising both new development and refactoring of existing mission critical products.
  • Engage in strategic technical and architectural planning with a variety of stakeholders.
  • Define and promote complex application development administration and programming standards.
  • Oversee the support, maintenance, operation, and upgrades of applications.
  • Lead projects, as necessary, for special systems and application development in areas of complex problems.
  • Appropriately discuss, troubleshoot and resolve complex technical problems in a team environment.
  • Work with other technical professionals—both within and outside Stanford—to develop standards and implement best practices.
  • Promote the adoption of Linked Data technologies within the institution and broadly within the community

* – Other duties may also be assigned

MINIMUM REQUIREMENTS:
To qualify at Software Developer 2 level:

Education & Experience
Bachelor’s degree and five years of relevant experience, or a similar combination of education and relevant experience.

Relevant experience may include:

  • Previous work related to libraries, digital preservation and/or digital repositories,
  • Participation in large, long-running and successful open source projects
  • Standards, architecture and/or engineering on linked-data based systems, within or outside the library domain

Knowledge, Skills and Abilities:

  • Expertise in designing, developing, testing, and deploying applications, such as those based on Linked Data.
  • Proficiency with application design and data modeling, such as for cultural heritage domains, common library-based XML-based schema, relational database and graph-based models.
  • Ability to define and solve logical problems for highly technical applications.
  • Strong communication skills with both technical and non-technical partners.
  • Ability to lead activities on structured team development projects.
  • Ability to select, adapt, and effectively use a variety of programming methods, such as Java, Ruby / Ruby-on-Rails, Python, and X-query/XSLT.
  • Knowledge of library and linked data domains.

To qualify at Software Developer 3 level:

The above criteria, plus…

Education & Experience

Bachelor’s degree and eight years of relevant experience, or a similar combination of education and relevant experience.

Relevant experience may include:

  • demonstrated success in engineering linked data systems at scale
  • demonstrated success in engineering for performance with linked data
  • successful leadership in open source or collaborative projects in the library or linked data domain

Knowledge, Skills and Abilities:

  • Ability to quickly learn and adapt to new technologies and programming tools.
  • Demonstrated experience in designing, developing, testing, and deploying applications, such as those based on Linked Data.
  • Strong understanding of data design; architecture; graph-based, XML and relational data structures; and data modeling.
  • Ability to define and solve logical problems for highly technical applications.
  • Thorough understanding of all aspects of software development life cycle and quality control practices, such as automated testing and test driven development practices.
  • Demonstrated experience leading technical activities on structured team development projects.
  • Ability to recognize and recommend needed changes in user and/or operations procesures.

Relevant experience at both levels may include:

  • Strong understanding of Ruby and Ruby on Rails.
  • Demonstrated experience with Linked Data patterns, data modeling and architecture
  • Successful participation and leadership in open source software development.

Certifications and Licenses:

None

PHYSICAL REQUIREMENTS*:

  • Constantly perform desk-based computer tasks.
  • Frequently sit, grasp lightly/fine manipulation.
  • Occasionally stand/walk, writing by hand.
  • Rarely use a telephone, lift/carry/push/pull objects that weigh up to 10 pounds.

* – Consistent with its obligations under the law, the University will provide reasonable accommodation to any employee with a disability who requires accommodation to perform the essential functions of his or her job.

WORKING CONDITIONS:

  • May work extended hours, evening and weekends.

WORK STANDARDS:

  • Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and with external partner organizations.
  • Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for safety; communicates safety concerns; uses and promotes safe behaviors based on training and lessons learned.
  • Subject to and expected to comply with all applicable University policies and procedures, including but not limited to the personnel policies and other policies found in the University’s Administrative Guide, http://adminguide.stanford.edu.