|Date Posted||October 25, 2021|
|Education Requirements||High school diploma|
|Minimum Compensation in Local Currency||62015|
|Maximum Compensation in Local Currency||99224|
|Hourly or Salary?||Salary|
The Lead Technology Developer is responsible for providing technical expertise and leadership in the design, development, integration, and enhancement of the University of Tennessee’s repository, publishing platform, and other critical applications utilized or developed by the Libraries. Reporting to the Director of Technology Solutions, this position works with faculty, staff, and other stakeholders to identify problems and develop solutions for high impact services that support publishing, research, and learning activities at the university. The position is responsible for leading the development of the software that preserves and makes available the research, scholarship, and cultural heritage materials produced or housed by the University. In collaboration with other developers and librarians, this position works to develop solutions that integrate our repository software with other open services using APIs, open specifications, and other tools. The position serves as a full stack developer and will lead critical, high impact, and urgent projects that are essential to the academic, research, and operational mission of the Libraries and greater University. As a senior developer, this position will mentor other junior developers in the unit. As part of our commitment to create reusable open source tools, the incumbent will work with developers from other institutions and make contributions to the open source community projects where the Libraries is a partner.
This position is telework eligible.
Responsibilities & Duties
Programming and Development
- Leads, modifies, deploys, implements, designs, and tests critical, high impact repository services.
- Works independently to develop, implement, and maintain complex information systems.
- Follows usability best practices, perform user testing, and monitor analytics data in order to improve the user experience of library patrons.
- Customizes, enhances, and extends library information systems and software using open standards and open technology.
- Evaluates and selects purpose-built, open source and commercial solutions.
- Designs, prototypes, tests, and develops new services and integrations as necessary.
- Identifies opportunities and implements new systems and services in line with the direction of the Libraries.
- Analyzes complex problems with our repository system and develops solutions.
- Performs extensive technical analysis for library systems including identifying risks, anticipating problems, and offering preventative solutions.
- Uses expertise and systems thinking to create new and improve existing workflow and processes for Libraries stakeholders.
Strategy and Collaboration
- Participates in setting technical strategy on new and emerging technologies and tools.
- Collaborate with developers across campus and at other institutions on the development and extension of open source technology.
- Participate in the open-source community on interest groups, occasional work sprints, and keeping up with new developments and directions.
- Collaborates with stakeholders to define development needs.
- Determines if technical solutions should be developed in house or out sourced to contractors.
- Interacts with external vendors and contractors for technical solutions.
- Researches and stays abreast with emerging repository technologies.
- Mentors junior developers.
- Serve on committees that further the work of the library or the university.
- Creates and maintains documentation on the applications and microservices the position develops.
- Creates and maintains security reports for the applications the position oversees.
- High school diploma.
- Five years of relevant experience working in software or web development.
- Expertise in designing, developing, testing, and deploying applications.
- Proficiency with application design and data modeling.
- Ability to define and solve logical problems for highly technical applications.
- Ability to listen, empathize, understand, and communicate effectively with technical and nontechnical faculty and staff.
- Strong knowledge of Object Oriented Programming principles and design patterns.
- Ability to select, adapt, and effectively use a variety of programming methods.
- Knowledge of Ruby and Rails.
- Knowledge of IT security practices.
- Ability to design and develop comprehensive integrated technology strategies.
- Ability to identify potential pitfalls and develop solutions to ensure project deadlines and overall timelines are met.
- Knowledge of CI/CD platforms and practices.
- Knowledge of the open-source software development process and life cycle.
- Ability to effectively manage multiple priorities.
- Ability to mentor junior developers.
- Ability to work independently and as a member of a team.
- Knowledge of test-driven development and software testing.
- Knowledge of visual design and data representation principles.
- Bachelor’s degree
- Experience developing Open-Source software.
- Experience working in an Agile project management environment.
- Experience with software development in an academic library or higher education setting.
- Experience supervising or mentoring junior developers.
- Knowledge of digital library applications such as Fedora, Hyrax, and Hyku.
- Knowledge of cloud deployment practices.
- Knowledge of library standards such as Linked Data; metadata schemas such as MODS, METS, or DublinCore; OAI-PMH, and IIIF.
- Knowledge of containerization technologies such as Docker and Singularity.
- Skills in build technologies such as Ansible or Terraform.
- Knowledge of Java server environments like Tomcat or Jetty.
- Knowledge of media streaming technologies.
- Knowledge of current accessibility standards including WCAG AA 2.0 and 2.1.
- Skills in React, Vue.js, Next.js, NPM, and / or Webpack.