Lead Applications Developer
Job posting number: #7110849
Posted: September 16, 2022
Application Deadline: Open Until Filled
Job DescriptionPOSITION SUMMARY
The Lead Applications Developer is responsible for providing technical expertise and leadership in the design, development, integration, and enhancement of the University of Tennessee’s repository systems, publishing platform, and other critical applications utilized or developed by the Libraries. Reporting to the Director of Technology Solutions, this position collaborates 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 senior staff, this position works to develop solutions that integrate our repository software with other open services using APIs, open specifications, and other tools. The position 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 consult with other junior developers on their projects and mentor them as needed. 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.
Programming and Development
Leads, modifies, deploys, implements, designs, and tests critical, high impact repository services.
Leads the analysis and problem solving of many of the Libraries most complex systems and implements solutions by planning, developing, implementing, maintaining, managing resources, communicating progress, and delivering final products.
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
Collaborates with the department head and other senior staff to set technical strategy for the Libraries.
Participates in cost / benefit analysis for technical infrastructure in order to insure fiscal responsibility.
Contributes to short- and long-term strategic planning and identifies areas for development.
Mentors junior developers and staff and consults with them on their projects as needed.
Collaborates with developers across campus and at other institutions on the development and extension of open source technology.
Participates 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.
Defines scope of objectives for projects based on stakeholder needs.
Determines if technical solutions should be developed in house or outsourced to contractors.
Interacts with external vendors and contractors for technical solutions.
Researches and stays abreast with emerging repository technologies, implements solutions, and provides training.
Serves on committees that further the work of the library and 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.
Designs, collects, analyzes metrics, and creates reports for dissemination to other senior staff.
Bachelor’s degree and seven years of relevant experience, or a combination of education and relevant experience
Advanced 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.
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.
Experience working with digital image, audio, and video formats.
Experience with search index technologies such as Solr and Elasticsearch.
Experience with the International Image Interoperability Framework (IIIF) specifications.
Experience with or knowledge of digital repository technologies, including Hyrax, Fedora, and Blacklight.
Experience working in a Unix/Linux environment.
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.
Knowledge of Java server environments like Tomcat or Jetty.
Knowledge of media streaming technologies.
Knowledge of media streaming technologies.
Knowledge of current accessibility standards including WCAG AA 2.0 and 2.1.
Advanced skills in React, Vue.js, Next.js, NPM, Gatsby, and / or We.