Full time Remote / Telecommute

DMP Assistant Programmer Analyst

Salary: CAD $63,663 to $88,722
Created: March 18, 2023


Are you interested in creating and developing a national platform to support the research data management (RDM) services and practices in Canada, and contributing to a pan-Canadian initiative that is dedicated to the shared stewardship of research data? Want to have a real impact on the academic research community and beyond?

University of Alberta Library is seeking to hire up to two Programmer Analysts to support the ongoing development and implementation of DMP Assistant, a national bilingual web-based research data management (RDM) planning service provided through the Digital Research Alliance of Canada. The Alliance provides national-level RDM support alongside advanced research computing (ARC), research software (RS), and cybersecurity (CS). The Alliance RDM team, situated in the Operations and Security Department, collaborates and partners with stakeholders from across the Canadian research ecosystem to develop and coordinate expertise, platforms, services, technology, and training in support of RDM, with the goal of facilitating adoption of data stewardship best practices by researchers and institutions. Hosted by University of Alberta Library, DMP Assistant is a freely available tool that assists researchers in preparing detailed high-quality data management plans (DMPs) both to support their research and meet institution and funder requirements, including those set forth by the Canadian Tri-Agency Research Data Management Policy.

We are looking for up to two committed and knowledgeable Programmer Analysts. As a member of the Information Technology Services Teams, you will design, develop and implement solutions that support UAL and the Alliance’s commitment to research data management best practices. You will be working on projects that focus on user experience, accessibility, sustainability, test-driven development, and peer-reviewed code management process. Our applications are built with open-source components with an eye to collaboration with broader open-source communities and peer institutions. Almost all of the code we develop is open-source (the only exceptions are where there are security reasons for keeping it closed). The Incumbent(s) will have the opportunity and expectation to be an active member of those communities.


  • Work in collaboration with the lead Programmer Analyst on the project, the Service Managers at the Digital Research Alliance of Canada, DMP Service Team, DMP Assistant Steering Committee (external partners and committees), DMProadmap Project, University of California Curation Center DMP Tool Project and the rest of the University of Alberta Library development team to contribute to the enhancement of the platform.
  • Identify and evaluate software solutions, investigate alternatives, design and implement software solutions to ensure the need of research data management planning is met.
  • Support data management planning services that meet internal and external research needs.
  • Design solutions that can meet the requirements of all (potentially competing) priorities of the University and the Digital Research Alliance of Canada to address the Canadian research community’s scholarly needs. 
  • Develop and implement solutions that support DMP Assistant and its integration with other applications in the research lifecycle. 
  • Contributes to and follows team best practices that contribute to ongoing collaborative improvement in these standards and practices (e.g., best practices for Agile development, test-driven development, code management, deployment management, continuous integration and online security such as OWASP). 
  • Collaborates with the Operations Team in the development or modification of configuration management plans, policies and procedures for DMP Assistant and other library services.


  • An undergraduate degree in Computing Science or equivalent, emphasizing software engineering, systems design, software architecture and/or data structure.
  • Knowledge of interactive Web-based applications using programming languages and middleware applications.
  • Knowledge and experience with Ruby and Ruby on Rails, or equivalent programming languages such as Python.
  • Knowledge of MySQL/MariaDB/PostgreSQL including the understanding of relational database concepts and experience with relational database design. 
  • Knowledge of Agile is highly desirable.
  • Knowledge of and experience with OS virtualization/containerization tools (we use Docker and Docker Compose) will be considered as an asset.
  • Knowledge of and experience with continuous integration and current tools (we use TravisCI and Jenkins) will be considered as an asset.
  • Knowledge of and experience with configuration management and current tools (we use Ansible) will be considered as an asset.
  • Knowledge of Test Driven Development will be considered as an asset.
  • Strong analytical, diagnostic and communication skills, both written and oral.
  • Strong interpersonal skills for effective communication.
  • Ability to work effectively both independently and collegially in a team environment and under pressure.
  • Willing to contribute actively and to share your ideas, knowledge and code with teammates as well as with the broader library, academic and open-source communities.
  • Proficiency in French language (reading/writing) will be considered an asset.

Please submit your cover letter and resume in one document to apply for this position.

How to apply


Published: Monday, March 20, 2023 17:15 UTC

Last updated: Monday, March 20, 2023 17:15 UTC