Senior Programmer/Analyst

The Hospital for Sick Children
Toronto, ON, Canada
Job Type:
  • Programmer/Developer
Degree Level Required:
Apply Now

Senior Programmer/Analyst

You will play an integral part within the team, supporting the CCM and ensuring that the facility helps meet the business needs and strategic direction of the SickKids Research Institute. Located within the SickKids Research Institute, CCM is a core facility providing the scientific community with expertise in bioinformatics, high performance computing and machine learning. The successful candidate will be collaborative, analytical and have a passion for tackling challenges head on. Do you want to work for a world class organization that is dedicated to improving the lives of children around the world? If this sounds like you, let us jump start your career!

Why join the CCM Team? -Design, build operate, and support open-source tools to make existing health genomics research projects easier to access.

  • Operate and implement entirely new federated approaches to bioinformatics analyses and discovery.
  • Have high visibility by supporting multiple national and provincial projects that inform clinical decision making.
  • Participate in the national Care4Rare and international Rare Disease projects.

Genomics and 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. We are looking for a passionate candidate to jump right into hands-on operations for developing scalable DevOps solutions for current computational and bioinformatic challenges. You will get to interface with all of our teams (high-performance computing, bioinformatics, and machine learning) to facilitate successful project operation, both internally and in production environments. This role requires a strong level of autonomy and understanding of system infrastructure (configure, maintain and monitor) as well as code deployment and management practices.


Responsibilities - Here’s What You’ll Get To Do:

  • Design and implement solutions for deployment, monitoring, alerting, backups;
  • Design and implement those solutions with minimal supervision, independently seeking input from relevant teammates or collaborators, exploring the constraints/requirements and proposing design decisions based on that input
  • Own the health and operation of internal and production environment operation;
  • Work with the teams on designing and implementing best-practices for operations and monitoring;
  • Contribute to technical documentation;
  • Troubleshoot issues - correctness or performance - on any layer of the technology stack (db, application, software);
  • Work with development team to help automate test deployment and move test deployments into production;
  • Work with health research projects to help them ingest data;


Skills and Background - Here’s What You’ll Need:

  • Experience deploying and operating software in a team environment, including understanding of modern development lifecycles;
  • Practical experience with version control tools (such as git and GitHub);
  • Familiarity with authorization of web applications;
  • Excellent communication and teamwork skills;
  • Demonstrated ability to work both independently and in a team
  • Demonstrated ability to collaborate with external partners
  • Experience in documenting and writing tests for infrastructure code, and using CI/CD pipelines with those tests
  • Extensive experience with Linux (and more generally unix-based environments) and a solid understanding of the linux environment and automation (e.g. bash, scripting);
  • Familiarity with Python sufficient to read and understand infrastructure or glue code
  • Strong collaboration skills to work with internal team members and external collaborators.
  • Ability to manage time and prioritize multiple projects
  • Demonstrated ability to build and ship tools that others can build upon
  • Willingness to learn what is needed for the task at hand and improve the team’s tools and processes

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

  • Security monitoring of web applications
  • Experience handling genomics or clinical data
  • OpenID Connect knowledge
  • HL7/FHIR data model for clinical/phenotypic data
  • Experience with 12-factor app or microservice architectures
  • Docker compose, Terraform, Ansible or similar for deployment
  • Experience working in a distributed team
  • Privacy-oriented mindset or experience
  • Experience with bioinformatics or health data
  • Demonstrated experience writing code relevant to backend services
  • Experience with database modeling and designing
  • Experience with Openstack environment
  • Experience with batch queuing environments such as Torque/pbs or SLURM.

Additional Information

Employment Type: Temporary, Full-Time (one year contract)