Harvard University IT Library Technology Services is seeking a highly skilled
software developer to design and develop digital repository and ancillary
software for the Harvard Library Digital Repository Service and associated
library web applications and web services for managing digital assets and for
delivering them to users. May also develop software for interfacing with and
supporting library data management and discovery applications. 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.
The key responsibilities include the following:
* Analysis. Work with customer teams to define and document requirements for software applications, and estimate work
* Design and development. Define and document technical goals, architecture designs, 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. Assist in debugging operational and performance problems, and fix bugs. Monitor and take action as necessary to ensure the continued successful operation of complex automated systems
* 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. Release source code as FOSS.
* May act as Technical Lead on single person projects.
* Prepare necessary technical and user documentation.
* Participate in functional and technical design committees and document results as needed.
* May coordinate small projects involving other staff
Basic Qualifications
To be considered for this role, candidates must have the following experience
and skills:
Education and/or Experience
* Bachelor's degree in library or computer science, or equivalent experience
* 4+ years relevant professional experience in 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
* Thorough understanding of Web based technologies and software tools relevant to digital libraries, including relational databases, client/server and internet architectures, and information retrieval systems for searching and browsing large catalogs
* Expert in java web user interface development using javascript, jquery, and CSS, and web service development and use
* Expertise in XML processing, HTML, SQL, and linux development and operating environments
* Demonstrated experience in unit testing, including junit
* Demonstrated ability to master new technologies and programming languages.
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 highly
desirable skills
* Masters degree in computer science or library science preferred
* Experience with library metadata schemas (such as MARC, MODS, DC, VRA, EAD, RDF),
* 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
Brought to you by code4lib jobs: http://jobs.code4lib.org/job/3091/
|