Digital Library Software Engineer
DescriptionHarvard 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.
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
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
In addition to the required skills, the ideal candidate will have these 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
- Java development using J2EE, hibernate, and XML processing, in linux development and operating environments
- SQL queries and programming in a java environment
- Demonstrated experience in unit testing, including junit
- Ability to think analytically
- Demonstrated ability to take the initiative and complete projects
- 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 Fedora, Dspace, or other open source repositories
- 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
We aspire to be an organization with:
- Committed and skilled people accountable to Harvard's mission and serving faculty and students
- Simple processes making it easy to work with us, do our jobs, and deliver results
- Innovative technology that is the right technology for the right reasons, including prudent experimentation.
- To assure Harvard's leadership in IT, we strive to make it easier for faculty, students, and staff to teach, research, learn, and work through the effective use of information technology.
- Harvard University requires pre-employment reference and background screening.
- Harvard University Information Technology is unable to provide work authorization and/or visa sponsorship.
- This position has a 180-day probationary period.
Last updated: Tuesday, February 28, 2017 23:44 UTC
How to apply
XML SQL Software Engineer Preservation Metadata: Implementation Strategies Oracle database Metadata Object Description Standard JBoss Java Fedora Repository Architecture DSpace Drupal Cascading Style Sheets Apache Tomcat
Published: Monday, February 3, 2014 09:32 UTC