Software Engineer, Machine Learning

Toronto, Canada
Full Time

Job Summary

We are seeking a motivated and experienced software engineer to specialize in productionalizing machine learning models, pipelines, and processes.

Role & Responsibilities

  • Productionalizing validated research prototypes into production-ready code for feature extraction, feature composites, and ML models
  • Maintaining and extending a standard framework for training, evaluating, and storing reusable ML model artifacts that enables full reproducibility and flexible model architectures
  • Designing and maintaining cloud infrastructure systems for large-scale asynchronous concurrent real-time data processing
  • Supporting our ML research team by building tools and processes to enable efficient research experimentation including dashboards, on-demand infrastructure for model training, and systems for managing research models and results
  • Designing deployment pipelines to continuously update ML models in a controlled way as new features and data are introduced, and to ensure there are no regressions or degradations to undermine the quality or scientific validity of a release
  • Developing ML model representations and tools for explainability of model outputs, and quality assurance of model inputs and intermediate steps
  • Providing code reviews for code quality of technical (NLP/ML) papers
  • Providing general software engineering guidance to junior team members
  • Scoping and planning projects from the research phase to productionalization by working together with researchers and product managers to fulfill research, technical and business requirements


  • A Bachelor’s degree or higher in computer science, computer engineering, or related technical field
  • At least 3 years of industry experience in software engineering. Knowledge of software engineering best practices across the development lifecycle, including agile methodologies, coding standards, code reviews, source management, build processes, testing, and operations
  • Experience in, and/or healthy respect for, the application of security and privacy best practices in software design
  • Experience, or a strong interest, in supervised machine learning and natural language processing. Familiarity with scientific computing and NLP packages, such as scipy, numpy, torch, scikit-learn, tensorflow, spacy
  • Python proficiency or familiarity with another object-oriented language
  • Ability to work independently in a fast-paced, startup environment

Nice To Haves

  • Experience working with and/or managing cloud infrastructure (AWS), SQL and NoSQL databases (MySQL and DynamoDb, respectively), web servers (EC2), asynchronous inter-service communication (SQS)
  • Experience designing systems for large-scale data processing
  • Experience with Python web frameworks (Flask)
  • Interest in healthcare and in building software to improve care and quality of life in older adults

Additional Information

Winterlight Labs is a fast growing startup based in Toronto that is developing digital biomarkers to measure neurological and psychiatric conditions. Our machine learning based technology analyzes both the acoustics and content of speech and language, to help identify disease and quantify its severity. We work with life science companies, academia, and senior care companies to improve clinical trials, quality of care, and health outcomes.

Benefits & Perks

  • Competitive compensation with equity options
  • Generous work from home policy
  • 4 weeks vacation
  • Winter holiday week off
  • Half-day Fridays in July and August
  • Office is a 2-minute walk from Yonge & Bloor which is home to many restaurants, amenities and transit options

To apply, send your resume to with "Software Engineer, Machine Learning" in the subject line.

Apply now