Co-op Machine Learning Developer – Toronto & Edmonton

Co-Op ML Dev

What’s the opportunity?

Borealis AI is a team of researchers and developers dedicated to solving today’s leading problems in machine learning and artificial intelligence. Our researchers are dedicated to pushing the boundaries of theoretical and applied science, while our development team transforms state-of-the-art technologies and algorithms into impactful products with the potential to reach millions of people.

We’re looking for an enthusiastic software developer who’s excited by the opportunity of being at the forefront of machine learning technology, and working on extremely challenging problems. As a Co-op Machine Learning Developer, you’ll be responsible for owning and delivering a product end to end – everything from literature review and data pre-processing to implementing machine learning algorithms and front-end development.

At Borealis AI, you’ll be joining a team that works directly with leading researchers in machine learning, has access to rich and massive datasets, and offers the computational resources to support ongoing development in areas such as reinforcement learning, unsupervised learning, computer vision, etc. You can find out more about our work at

Your responsibilities include:

  • Review scientific literature to identify state-of-the-art algorithms in project-specific areas.
  • Prototype solutions to evaluate the impact of selected algorithms on the target problem.
  • Collaborate with research and business teams to converge on the best solution.
  • Optimize algorithms and prototypical solutions for efficient implementation.
  • Extend prototypes into fully functional, polished solutions ready for internal and/or external use.
  • Support projects with thorough documentation of usage, design decisions and capabilities.
  • Extract, transform and load massive datasets using distributed computing frameworks (Hadoop, Spark etc.).
  • Demo products and projects to various internal and external stakeholders.

You’re our ideal candidate if you:

  • Are currently enrolled as a third- or fourth-year post-secondary student at a Canadian institution in Computer Science, Software Engineering, or equivalent program.
  • Have at least two co-ops or internships with a strong focus on software development under your belt.
  • Have experience or demonstrated interest in machine learning outside of coursework in areas such as: Traditional Machine Learning, Deep Learning, Natural Language Processing, Time-Series Analysis, Computer Vision and/or Reinforcement Learning.
  • Experience with writing modular, robust, scalable software in Python 3.x.
  • Experience with data visualization using D3.js, Chart.js, plotly or other open-source library.
  • Familiarity with the Unix command line and bash scripting.
  • Proficiency with Deep Learning packages such as Tensorflow, Theano, Keras and PyTorch.
  • Exposure to distributed computing frameworks (e.g. Hadoop, Spark) as well as SQL, NoSQL and graph databases.
  • Participate in hackathons or other community events to collectively work on challenging problems.
  • An active public profile where you share passion projects.

How to apply:

Please email your CV and GitHub (or equivalent) portfolio to and include where you heard about this opportunity.

About Borealis AI

Borealis AI is the Research & Development arm of the Royal Bank of Canada. Our team performs fundamental research in machine learning theory and applications and aims to advance the state-of-the-art in financial technologies. Borealis AI supports open academic collaborations and partners with world-class research centres in artificial intelligence to bring cutting-edge machine learning to the banking world.

Apply for this position