Digital Library Software Engineer - Repository Services
Harvard University
Cambridge, MA

Harvard University IT Library Technology Services is seeking a skilled java
software developer to design and develop software for the Harvard Library
Digital Repository Service. Supervised by the Technical Lead for the DRS, the
software engineer will develop software tools for migrating metadata from an
Oracle database describing digital objects to new METS XML representations, as
well as web based tools for managing, monitoring, and reporting on migration
progress. May also develop software for the core repository service. Developed
software must be of high quality and reliability, supporting long term digital
preservation and public access for critical library digital content that is
accessed by thousands of users on a daily basis.

This is a one year term position, Grade 57, in Cambridge, Massachusetts.

Key responsibilities include the following:

Analysis. Work with technical staff to define and document requirements for
software applications, and estimate work

Design and development. Define and document technical goals, and task
breakdowns for new programs or subsystems or for modification to existing
programs. Utilize open source components wherever possible. Write high
quality, documented, unit tested code following established software
development methodologies

Deployment and maintenance. Release code to production systems through
established change control processes. Debug operational and performance
problems, and fix bugs. Monitor and take action as necessary to ensure the
continued successful operation of the DRS

Testing and documentation. Thoroughly unit test, integration test, and
regression test software, and review the software of other developers. Create
excellent on-line architecture and design documentation, and following
standards for code documentation..

Basic Qualifications:

Education and/or Experience

- Bachelor's degree in library or computer science, or
equivalent experience

- 2+ years relevant professional experience in java
software development

- Experience planning and executing complex software
development projects

Language/Communication skills

- Demonstrable excellent oral and written communication skills  
- Demonstrated ability to work well with mid-level management, project, and technical and non-technical staff to discuss functional requirements, write specifications and develop work plans and schedules.  
- Successful experience working independently and as part
of a team

Computer Skills

- Java development using J2EE, hibernate, and XML
processing, in linux development and operating environments

- SQL queries and programming in a java environment

- Some java web user interface experience using javascript,
jquery, and CSS, and web service development and use

- Demonstrated experience in unit testing, including junit

Other Skills

- Ability to think analytically

- Demonstrated ability to take the initiative and complete

Additional qualifications:

In addition to the required skills, the ideal candidate will have these skills

- Masters degree in computer science or library science

- Experience with Struts2, Tomcat and J2EE application
servers such as JBoss, WebLogic or GlassFish

- Experience with library metadata schemas (such as METS,

- Experience with processing multi-media file formats,
including digital images, audio, and video

- Experience with search technology, such as solr/lucene

- Functional and technical understanding of digital
repository systems, digital preservation issues, and the operation of research
libraries. Experience with - Experience
in configuring productive development tools, such as automated build systems,
automated unit test frameworks

- Experience with web application rapid development
languages and frameworks, such as Drupal, PHP/symfony, python/django,

- Experience in agile development practices

Brought to you by code4lib jobs: