Digital Initiatives Programmer Analyst

0 other recent jobs
Created: October 4, 2018


This position offers a comprehensive benefits package which can be viewed at: Faculty & Staff Benefits.

Interested in creating and developing applications to support new, innovative ways to distribute academic digital scholarships, and contributing to the next generation of digital repository services? Want to have a real impact on the academic research community and beyond?  

University of Alberta Libraries (UAL) is looking to fill a Programmer Analyst position.

Join a library charged with managing an increasingly diverse ecosystem of digital materials, tools, and services. Become part of a dynamic team that is committed to the use of open source, community-based technologies, and to following best practices in software engineering (Agile, code review, continuous integration, web accessibility, etc). Be part of a unit that values continuous learning and the open sharing of ideas, and supports an environment that fosters respect and appreciation in the workplace.  

We are looking for a committed and knowledgeable Programmer Analyst. As a member of the Digital Initiatives and Information Technology Teams, you will develop and implement applications and tools to support a growing range of digital asset management use cases, including ingest, discovery, access, management, analysis, and preservation. We work with digital dissertations and theses, research data of many types, digitized library and archival materials, e-books, multimedia content, web archives, and other digital objects produced locally and abroad, along with metadata in many formats. You will be working on projects that focus on user experience, accessibility, sustainability, test-driven development, and peer-reviewed code management process. Many of our applications are built with open-source components with an eye to collaboration with peer institutions. The incumbent will have the opportunity and expectation to be an active member of those communities and to continue to develop the reputation of UAL as a leader and innovator in digital repositories and support for scholarship.

The team works primarily in Ruby on Rails and MySQL/PostgreSQL with Docker, with some Java components, and manages its code on Github. We are eager to learn more new technologies and trends that could be applied in library application development. We strive to adopt industry-standard solutions and strong adherence to code management and documentation practices to increase the sustainability of our work. Our application foundations are the user needs that we determine from user testing and we employ a design approach to our work.


  • Contributes to the design and implementation of the digital asset management system (DAMS) to manage, preserve and provide access to digital content, including:
    • Develops the DAMS based on a standard Ruby on Rails framework that integrates with preservation storage solutions such as OpenStack Swift;
    • Implements software integration and develops bridges between DAMS, multimedia repository service, research data repository services, and other library and web services;
    • Develops staff interfaces to allow for the management of digital objects, metadata, preservation information, and audit;
    • Develops and supports user interfaces for access to digitized resources and services;
    • Develops robust preservation architectures that ensure the future accessibility of our digitized and born-digital collections in DAMS;
    • Develops programs to interact with DAMS and multimedia repository to manipulate, exchange and ingest data in various formats;
    • Designs, develops and implements systems and interfaces to support monitoring and administering of DAMS and multimedia repository service;
    • Works with the repository service managers and stakeholders to provide consultation, specification and technical support to researchers and research groups to address their specific needs in depositing, managing and curating their collections within the repository service;
    • Follows standards and best practices and contributing to ongoing collaborative environment; finds improvement in these standards and practices (e.g. best practices for code management, deployment management, and online security).
  • Supports the design and development of the library’s Discovery Service to provide discovery and access to the library’s collections.
  • Understands and supports the Agile methodology of development and test processes (Scrum).
  • Understands and supports continuous integration.
  • Assists in the development or modification of configuration management plans, policies and procedures tailored to the complexity and scope of the development or operational systems for DAMS and other library services.
  • May be required to work standby, on call back or overtime.    


  • Minimum of an undergraduate degree in computing science or post-secondary technical diploma in programming; equivalent combinations of education and experience will be considered.
  • 3 years professional work experience developing interactive Web-based applications using programming languages and middleware applications (Ruby on Rails and Java; some projects in other languages).
  • Knowledge of and experience with Ruby and Ruby on Rails.
  • Knowledge of and experience with OS virtualization/containerization tools (Docker is used in development) is highly desirable.
  • Experience with the Solr search platform is desirable.
  • Knowledge of and experience with current configuration management tools (Ansible is used in production) is desirable.
  • Knowledge of and experience with current continuous integration tools (Travis CI and Jenkins is used) is desirable.
  • Knowledge of Agile and Test Driven Development will be considered an asset.
  • Knowledge of the Fedora repository platform will be considered an asset. 
  • Strong analytical, diagnostic and communication skills.
  • Demonstrated ability to document procedures for team members and users.
  • Ability to work effectively both independently and collegially in a team environment and under pressure.
  • Willing to contribute actively and to share your ideas and knowledge with teammates as well as with the broader library, academic and open-source communities.


Published: Thursday, October 4, 2018 15:33 UTC

Last updated: Thursday, October 4, 2018 15:33 UTC