How to Apply
A cover letter is required for consideration for this position and should be attached as the first page of your resume. Your cover letter should address your specific interest in the position and outline experience that directly relates to the position. A list of three professional references, including their names, contact information, and your professional relationship is also requested. Due to system restrictions, these items must be submitted as a single document.
Job Summary
You will be a programmer developing large-scale digital library systems as a part of a team of programmers, librarians, and designers working on major projects including development of an overall architecture to serve the U-M Library and campus. You will have opportunities to gain experience with modern technologies that support research, digital preservation, publishing, archives and broad public access. You will most often code in Python, Java, or Ruby using Docker and Kubernetes for containerization and hosting. However, we have a diverse portfolio of solutions that use a variety of languages and tools. Much of our code is publicly available on GitHub.
In Library Information Technology, we value the cooperation that results from sharing and applying our different experiences, backgrounds, skills, talents, and interests to build an environment in which all our community members can flourish.
The University of Michigan Library is one of the world's largest academic research libraries and serves a vibrant university community that is home to 19 schools and colleges, 100 top ten graduate programs, and annual research expenditures over $2 billion a year. To promote the university's world-changing work and to serve the public good, the library collects, preserves, and shares the scholarly and cultural record in all existing and latest forms, and leads the reinvention of the academic research library in the digital age.
Why Work at Michigan?
In addition to a career filled with purpose and opportunity, The University of Michigan offers a comprehensive benefits package to help you stay well, protect yourself and your family and plan for a secure future. Benefits include:
- Generous time off
- A retirement plan that provides two-for-one matching contributions with immediate vesting
- Many choices for comprehensive health insurance
- Life insurance
- Long-term disability coverage
- Flexible spending accounts for healthcare and dependent care expenses
Responsibilities*
- Development and maintenance (50%)
- Develop, debug, modify and maintain complex software systems, including the full stack of components behind database-driven web applications and APIs.
- Configure and customize open source software and participate in collaborative development activity -using modern tools and techniques.
- Review system and software designs and conduct functional tests.
- Maintain internal documentation.
- Create containers and deployments.
- Analysis and Design (20%)
- Research, investigate, and trial potential solutions.
- Collaboratively analyze business and user needs, and design solutions involving computer software.
- Operational Support (20%)
- Support the consistent operation of applications and workflows.
- Participation in other meetings, events, training, and conferences (10%)
- Take part in professional development activities to expand skills.
Required Qualifications*
- Bachelor's degree in Computer Science or related field and three or more years of experience, or an equivalent amount of experience and education.
- Demonstrated programming skills in a modern programming language, and experience working in a command-line-based environment.
- Experience developing database-driven, user-focused web applications, or transferable relevant skills.
- Demonstrated group work experience as a successful contributor and collaborator.
- Experience quickly picking up and getting familiar with new programming languages and associated development and deployment practices.
Desired Qualifications*
- Experience with digital preservation repository development.
- Experience working in an academic library setting.
- Familiarity with developing inclusive software, such as accessibility (WCAG 2.1 AA) and internationalization best practices.
- Experience with version control systems such as Git.
- Experience with test-driven development.
- Experience with management of code dependencies, including dependency tracking and bundling.
- Experience with CI/CD (Continuous Integration/Continuous Delivery) and container based hosting.
Work Locations
You will have flexible scheduling and a remote, hybrid, or fully on-site work environment. Flexible work agreements are reviewed annually and are subject to change depending on the needs of the hiring department, throughout the course of employment. Please see the University of Michigan's Remote Employment Policies and Agreements for more information.
Modes of Work
Positions that are eligible for hybrid or mobile/remote work mode are at the discretion of the hiring department. Work agreements are reviewed annually at a minimum and are subject to change at any time, and for any reason, throughout the course of employment. Learn more about the work modes.
Additional Information
Reporting Structure
Reports directly to the LIT/DLA Department Director.
Salary
The salary range for this position is $77,000 - $88,000 annually. Final salary will be determined by experience and qualifications. Classification is at the Application Programmer / Analyst Intermediate level.
Application Deadline
Job openings are posted for at least seven calendar days. This job may be removed from posting boards and filled anytime after the minimum posting period has ended. Applications will be reviewed as received throughout the posting period and continue until the position is filled.
U-M EEO Statement
The University of Michigan is an equal employment opportunity employer.