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 looking to fill a Programmer Analyst position to support the development and implementation of DMP Assistant, a national bilingual web-based research data management (RDM) planning service provided through Canada’s New Digital Research Infrastructure Organization (NDRIO). NDRIO provides national-level RDM support through its Portage Network, alongside advanced research computing (ARC) and research software (RS). The Portage Network collaborates and partners with stakeholders from across the 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 a committed and knowledgeable Programmer Analyst. As a member of the Information Technology Services Teams, you will design, develop and implement solutions that support UAL’s, NDRIO’s and Portage Network’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 will have the opportunity and expectation to be an active member of those communities.
Currently, the team works primarily in Ruby on Rails and MySQL with Docker, 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 the best code management and documentation practices to increase the sustainability of our work. Our applications are founded on the user needs that we determine from user testing, and we employ a user-centred design approach to our work.
The incumbent will:
Work in collaboration with the lead Programmer Analyst on the project, the Service Managers at Portage Network, DMP Service Development Team, DMP Assistant Steering Committee (external partners and committees) , and the rest of the Digital Initiatives 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 NDRIO 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.
Contribute 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).
Collaborate 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.
On the job ad, it states that priority will be given to internal applicants. University of Alberta has been going through a significant reorganization exercise, and it's University's recruitment policy to have such a statement. We currently don't have any internal applicant for the job.
Brought to you by code4lib jobs: https://jobs.code4lib.org/jobs/49714-programmer-analyst