Backend Programmer, Authentication, the CanDIG project

The Hospital for Sick Children
Toronto, ON, Canada
Job Type:
  • Programmer/Developer (12-month term position)
Degree Level Required:
No firm degree requirements
Apply Now

Backend Programmer, Authentication, the CanDIG project

Genomics and related health data volumes are exploding. These rapidly expanding pools of data have the possibility of making entirely new types of health research and clinical decision-making possible, but only if the data is available for researchers to analyze, and for clinicians to study.

The Center for Computational Medicine (CCM) is a core facility within the world-renowned SickKids Research Institute, and leads the Canadian Distributed Infrastructure for Genomics (CanDIG; CanDIG is a four year project, two and a half years in, building the infrastructure to make Canada-wide private health genomics data available for federated analyses while respecting institutional and provincial needs to protect their data and their patients privacy.

As a driver project for the Global Alliance for Genomics and Health (, we are part of an international community of peers tackling these problems together, often for the first time. Combining modern tools in novel ways, we are tackling the particular problems of genomics and health data (i.e. massive, complex, data sets of many quite different data types) all with very strict privacy needs.

After an initial prototyping phase, CanDIG is moving in to production and developing a scalable, API-driven backend for genomic and clinical/phenotypic data for its sites. As this is developed, we will be building privacy preserving federated analyses methods on top of that foundation.

For this position, we are looking for a developer to help us develop the scalable, flexible back-end data services that our project needs, and the authorization techniques for our federated approach to oversee those services.


Why Join the CanDIG Team?

• Build open-source tools to make national health genomics research projects possible while respecting provincial and institutional responsibilities to patients and their data

• Work with a talented, multidisciplinary team across the country

• Have national visibility through the support of two national cancer projects

• Have international visibility through participation in international research and standards-setting projects

• Help us as we create entirely new, and fundamentally Canadian, federated approaches to bioinformatics analyses and discovery

Here’s What You’ll Get To Do:

• Work on the OIDC-based authentication infrastructure and further develop authorization tools based on those identities and fine-grained policies

• Work with international peers on ensuring that our authentication and authorization standards are interoperable across continents, as well as with national projects developing nation-wide identity federations

• Participate in GA4GH working groups to establish, update, and implement new API, data model, and authorization standards

• Develop back-end data services based on emerging standards and API-first development, in Go or Python, for both genomics data (variants, reads) and clinical/phenotypic data (ontology terms, numeric data, text fields, complex data models)


Here’s What You’ll Need:

• Knowledge of software engineering concepts and methodologies (version control, issue tracking)

• Familiarity with OpenID Connect (OIDC) - the OAuth2 dance, and OpenID Connect claims

• Excellent communication and teamwork skills

• Experience in documenting and writing tests for code

• Ability to learn new technologies and techniques

• Solid understanding of the linux environment and automation (e.g. bash, scripting)

• Experience with Python

• Experience with back-end development for web services

• Experience with git + GitHub

It would be great if you already knew, or wanted to learn, some of these skills:

• Experience handling genomics or clinical data

• RESTful API design and implementation

• Deep OpenID Connect (OIDC) knowledge

• OpenAPI for API-first development

• Docker containers for micro-services application development

• Go for web services

• HL7/FHIR data model for clinical/phenotypic data

• Twelve-factor application stacks

• Docker compose or Kubernetes for orchestration

Additional Information

Not sure if you’re interested or have the right skills? Any other questions about the role, project, or job? Email and ask!

Further reading available here: