Software Engineer (Toronto)

Use your software engineering skills to help build the next generation of a scientific software system used globally to make new discoveries in molecular biology. The code you write and deploy will enable scientists to unlock the molecular mysteries of life and open doors to new drug development and life-saving medicines. If you are excited about using modern software technology to have an impact on the progress of science and medicine, apply now.

Your Role

We are looking to hire a strong Software Engineer to join our team and help build world-class software for our scientific customers. You will take on significant responsibility within our dynamic team and work alongside our scientific developers and product engineers. The ideal candidate will have experience with some of the following responsibilities, and will be able and excited to learn the rest:

  • Take ownership of major parts of our Python codebase, specifically the backends for our compute jobs, user workflow tools, project management system, HPC cluster integrations, automated experimentation pipelines
  • Work together with our product engineers to design and implement entire new workflows for processing specific types of protein data, for curation and visualization of terabytes of electron microscopy images, for user interaction with 3D models
  • Help to streamline and automate our deployment and testing systems, licensing systems, and analytics tracking systems
  • Help to deploy and manage our on-premises GPU compute cluster and our cloud infrastructure
  • Interact with users and customers to collect feedback and fix issues
  • Help prepare training materials and documentation
  • Help optimize stability and performance of core algorithm implementations

Required Skills

  • A University or College degree in Computer Science, Software Engineering, or equivalent
  • Solid experience and proficiency with writing Python applications
  • Solid grasp of computer science concepts, data structures and algorithms
  • Solid experience building applications for Linux/UNIX environments using python, C/C++, shell scripting
  • Experience with numerical computing in python (numpy, scipy, scikit-learn, pycuda, numba, cython)
  • Experience with version control using Git, Github

Nice-to haves

  • Experience writing Javascript and using web technologies (NodeJS, React, Flask)
  • Experience working with relational (PostgreSQL) and non-relational (MongoDB, DynamoDB) databases
  • Experience in HPC environments (GPUs, clusters, resource management, job scheduling)
  • Experience with security considerations and best practices
  • Experience with cloud-based technologies (AWS, Azure)
  • Experience with deployment containers (Docker, Kubernetes)
  • Experience configuring and maintaining servers, storage and network infrastructure

More information and how to apply

We are looking for the right person to join us full-time as soon as possible. Please apply by email to with the subject line “Software Engineer”, and provide us with your resume and a paragraph or two explaining why you would like to join our team.

About Structura

Structura is a growing Toronto-based technology company affiliated with the University of Toronto’s Computer Science Department. Our team of friendly, focused and ambitious individuals is engaged in cutting-edge research, algorithm development, and software development for cryo-electron microscopy (cryo-EM) image data processing. Our software product, cryoSPARC, was launched in early 2017 and is being used today in over 35 countries by academic and industry research labs to solve the 3D atomic resolution structures of important biomolecules. Our foremost aim is to continuously build new algorithms, methods and workflow features that enable scientists using cryoSPARC in pharma and academia to make groundbreaking discoveries using the revolutionary new technology of cryo-EM.

Cryo-EM (electron cryo-microscopy) is a powerful new, Nobel prize-winning structural biology method for determining the 3D structure of biological molecules, including proteins, protein-drug complexes and viruses. Cryo-EM enables discovery of protein structures that could not be obtained before by other techniques, and many cryo-EM structures are highly sought-after drug targets. Examples of structures solved recently by cryo-EM include CRISPR, the Zika virus, and tau filaments implicated in Alzheimer’s disease.