The University of Colorado Libraries encourages applications for a Digital Library Senior Software Developer! This position reports to the Head of Core Technology and Applications and uses best-practices in software engineering and product development to build and maintain large-scale digital library systems and underlying architectures that contribute to the realization of organizational strategic goals. This includes technologies that facilitate scholarly research, digital asset management and preservation, publishing, and broad open access to digital collections. They build new applications and contribute to the growth of existing applications and, by extension, develops APIs, microservices, system integrations, and other software components to manage the creation, storage, retrieval, and archiving of a wide array of digital objects, including monographic and serialized collections, research data sets, geospatial data, digitized special collections materials, archival finding aids, audio, video, and more. They also contribute to the development of user interfaces to discover, manage, and display them. Working collaboratively with team members, library faculty/staff, and other campus partners, they lead and execute assigned projects in accordance with established priorities and plans, while embracing industry best-practices in DevOps, Agile software development, open source product adoption, public cloud infrastructure, QA/testing, and information security.
Who We Are
We are a knowledge catalyst. We spark inquiry, discovery, collaboration, creation, and the dissemination of knowledge. We welcome everyone, wherever they are on their educational journey.
An information-empowered world.
What Your Key Responsibilities Will Be
Develop, modify, and maintain sophisticated library full-stack applications and related software.
Deploy open source software solutions; actively participate in and contribute to the associated development communities.
Collaborate with library faculty/staff to evaluate and select appropriate open source solutions.
Use DevOps, Agile, and other industry best-practices throughout the development lifecycle to ensure solutions are reliable, scalable, accessible, and secure; mentor team members in these best-practices.
Review solution designs for correctness; conduct unit, functional, system, and integration tests as required.
Lead code review, sprint retrospectives, and post-mortems.
Work collaboratively with Product Owners and other partners to ensure applications are performing as expected and continue to deliver value.
Respond to incident and general requests.
Develop architectural specifications to support the maintenance and growth of the library's technology ecosystem, including the library services platform (catalog), discovery services, and digital asset management technologies.
Plan, design and implement specified solutions in a public cloud environment.
Collaborate with software developers to ensure there is a common understanding of implemented solutions, including participating in code reviews and other development activities as required.
Contribute knowledge and expertise as a technical architect to product reviews.
Assist the Digital Library Software Architect to resolve complex problems and address technical concerns when they arise; independently monitor systems to ensure performance goals are met and take necessary corrective as appropriate.
Use best-practices in project/product management to ensure implementation targets are met.
Maintain product documentation; report regularly on progress.
Leads/conducts sprint retrospectives and post-mortems to identify potential areas for improvement and as a means of sharing knowledge with other members of the team.
Advise other members of the team on preferred approaches to resolving complex technical problems.
Actively participate in professional development activities to expand knowledge and skills and to maintain technical proficiencies; lead discussions on technical architecture and advanced software development topics.
Stay abreast of new developments and trends in library technologies; advise team members accordingly.
Work closely with multi-functional teams comprising library faculty/staff, campus partners, and external partners to achieve common goals.
Participate in and/or lead library/campus committees and working groups.
Be Effective. Be Creative. Be Boulder.
What We Require
Bachelor’s degree or equivalent combination of education and experience may substitute.
2+ years of professional, job related experience.
What You Will Need
Understanding of common design patterns, service oriented architecture, and test driven development.
Proven track record of analyzing complex problems and producing concrete, measurable solutions, specifically as it pertains to production troubleshooting.
Familiarity with developing automation and containerization solutions using tools such as Jenkins, Docker, and Ansible.
Willingness to learn new technical skills and adapt to emerging technologies.
Superb communication skills.
Strong service and customer engagement orientation.
Excellent task management skill and ability to meet deadlines under pressure.
Ability to cultivate an environment of diversity, inclusion, and respect.
What We Would Like You to Have
Master’s degree in computer science or related field, or equivalent combination of education and experience.
Experience resolving highly complex integration issues involving multiple technologies and business areas.
Demonstrated experience with data management software such as MySQL, PostgreSQL, and MongoDB, and search/indexing software such as Apache Solr.
Demonstrated experience deploying solutions in public cloud infrastructure, e.g., AWS.
Demonstrated proficiency working in a DevOps culture using Agile development methods and tools, Git repositories, Kanban boards, and other tools.
Professional experience developing library technologies.
Experience with open source products such as FOLIO, Blacklight, Samvera, Omeka, ArchivesSpace, Fedora, Solr.
Familiarity with digital library metadata concepts and standards such as XML, OAI-PMH, Dublin Core, and MODS.
Proven success participating in and contributing to open source projects.
The CU Boulder Libraries encourages applications from women, racial and ethnic minorities, individuals with disabilities, and veterans. We are most interested in finding the best person for the job, and that person may be one who comes from a less traditional background. As you review the qualifications, please think about how your qualifications are transferable if (at first) they do not seem directly related. Share how those skills translate in the cover letter. We encourage you to apply, even if you don’t believe that every one of our preferred qualifications described is met.
Special Application Instructions
To apply, please submit the following materials:
A current resume.
A cover letter that specifically addresses how your background and experience align with the requirements, qualifications and responsibilities of the position.
You will not be asked to upload references at this time.
Please apply by February 7, 2021 for consideration.
Note: Application materials will not be accepted via email. For consideration, applications must be submitted through CU Boulder Jobs.
Brought to you by code4lib jobs: https://jobs.code4lib.org/jobs/47254-digital-library-senior-software-developer