Senior Software Engineer AI

Toronto / Canada (Remote)

Our client is on a mission to accelerate and transform the diagnosis and treatment of cancer. Our client is creating a digital platform for pathologists to transform their workflow and is developing a new class of computational diagnostics positioned to drive the future of pathology.  


Our client recently raised $70M in series B investment to continue their mission and expand their impact.

We’re seeking a Senior Software Engineer, AI. In this role you’ll join a team of world-leading experts in machine learning, computer vision and pathology.  You’ll be part of the team that builds solutions for pathologists, clinicians and researchers to accelerate and improve the accuracy of cancer detection, classification and staging. This is an extraordinary opportunity to be part of a high-performing team and to pursue a life-changing mission. 

This position is fully remote for candidates based in Canada.


  • Work closely with scientists as well as engineers to build applications that allow our machine learning models to be put into production.

  • Work with the team to plan, develop, train and test machine learning models for the purposes of computational pathology while leveraging and championing software engineering best practices.

  • Drive development of machine learning tooling and infrastructure to improve the scale and efficiency of machine learning development.

  • Identify and evaluate new patterns and technologies to improve performance, maintainability and traceability of our machine learning systems.

  • Participate in driving the whole product development life cycle from high uncertainty research and experimentation to deployment in production and maintenance.

  • Mentor engineers to foster a culture of technical excellence.


  • Extensive experience in Python development.

  • Extensive experience with modern product development practices, including software testing (e.g. unit testing, regression testing).

  • Extensive experience with Agile development methodologies.

  • Experience with parallelization, threading and concurrency problems.

  • Experience with design patterns, algorithms and data structures.

  • Experience with distributed systems.

Minimum qualifications:

  • Master’s degree in computer science or a related field, or equivalent years of experience

  • 5+ years of industry experience as a software engine