Position Overview
Research Computing Services within Information Technologies is currently seeking a Full-time Limited Term Health Informatics Database Developer for approximately 12 months.
This position reports to the Specialist, Data Science in Research Computing Services (RCS). RCS provides local research computing services to the research community at the University of Calgary and enables researchers to use national High-Performance Computing (HPC) infrastructure.
This position will be part of the Research Dataflow Services (RDS) team within RCS. The specific focus of the RDS team is on the development of highly scalable research workflow infrastructure and the design of novel data systems in support of new university initiatives for enabling data-driven discovery and reproducible research data management.
Daily work activities include consulting with researchers about their specialized computing needs, developing health informatics data processing and ontology mapping workflows, collaboratively designing databases and novel data structures in support of research projects, and implementing pilot projects to confirm that designs meet specialized research needs.
This environment allows RDS to work with a diverse research ecosystem including Medicine, Science, and Engineering research.
This role requires a highly skilled database and software developer who is capable of supporting multiple research projects simultaneously.
Position Description
Summary of Key Responsibilities (job functions include but are not limited to) :
- Meet with researchers to analyze and understand if a computational research problem can be undertaken and match the research needs with a software solution and set of infrastructure requirements.
- Consult with researchers and teams on possible research programs / ideas.
- Conduct seminars on software and database best practices.
- Contribute work back to the research community as appropriate.
- Provide mentorship and coaching to Tech II software developers on the RCS team.
- Provide training for database analysts on research teams.
- Liaise, collaborate, and provide consultative advice to RCS and researchers.
- Produce data system strategy proposals and documents compatible with existing storage architecture.
- Lead meetings with other RCS staff about data system strategies.
- Create brand-new software, or extend, modify, or integrate existing software as necessary, to meet research needs.
- Support development and application of health informatics data models and ontologies with computational expertise.
- Investigate research software applications.
- Write documentation or directing researchers to existing application documentation.
- As appropriate, investigate and use new development tools and environments.
- Promote the use of existing code libraries, proven software platforms, and good software development practices.
- Develop RESTful Database interfaces for supporting FAIR data creation workflows.
Qualifications / Requirements :
- A BSc in a computationally focussed discipline (such as computer science, computational biology, or applied mathematics) is required.
- A minimum of 5 years of directly related work and educational experience in developing health informatics research databases is required.
- Programming experience : Python, C, R, and shell scripting required. Haskell and Rust are assets.
- A minimum of 5 years work and educational experience in SQL and NoSQL database design : schema design (including index and constraint design) experience with query optimization and transforming data debugging and troubleshooting
- Database experience : Significant Relational database (e.g. postgres or mysql) experience is required. Some Document database (e.
g. MongoDB) experience required. Some Graph database (e.g. Neo4j) experience is required. knowledge of Key-Value stores, hash functions and join algorithms is also an asset.
- A strong working knowledge of Linux operating systems is required.
- Experience deploying and maintaining data pipelines using open-source workflow management software such as Apache Airflow is an asset.
- Experience with software packages and libraries used in health informatics is required.
- Experience using the git command line interface for version control is required.
- Experience developing RESTful APIs is required.
- Working knowledge of job scheduling systems such as SLURM is an asset.
- Working knowledge of different parallelization paradigms and frameworks such as openMP, MPI, CUDA and OpenCL is an asset.
- Proven experience in successfully developing and supporting all aspects of modern software development in a higher-education research environment is an asset.
- Strong experience installing and managing research software packages is an asset.
- The incumbent must have the demonstrated ability to : Work collaboratively and cooperatively to provide exemplary service and advice to the research community on research software;
- Understand research needs to match and link software development efforts to the researcher's research program; Be able to communicate clearly, both verbally and in writing;
- Analyze the needs and requests of the researcher to define, propose, negotiate and deliver successful solutions; Reach set and agreed-to goals while working independently with limited supervision;
- Analyze, decipher and understand technical problems, and to find, develop, and implement software solutions where there may be little local expertise or existing material;
Establish and maintain excellent and effective working relationships