Digital Library Software Engineer - Repository Services
Created:
February 3, 2014
Description
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 projects
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, MODS, PREMIS,MIX)
- 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, ruby/rails
- Experience in agile development practices
How to apply
Metadata
Published: Monday, February 3, 2014 14:10 UTC
Last updated: Tuesday, February 28, 2017 23:44 UTC