Machine Learning Developer – Toronto & Edmonton

Machine Learning Developer

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 Machine Learning Developer, you’ll be responsible for owning and delivering a project 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 and computer vision. You can find out more about our research areas at

Your responsibilities include:

  • Reviewing scientific literature to identify state-of-the-art algorithms in project-specific areas.
  • Prototyping solutions to evaluate the impact of selected algorithms on the target problem.
  • Collaborating with research and business teams to converge on the best solutions.
  • Optimizing algorithms and prototypical solutions for efficient implementation.
  • Extending prototypes into fully functional, polished solutions ready for internal and/or external use.
  • Supporting projects with thorough documentation of usage, design decisions and capabilities.
  • Extracting, transforming and loading massive datasets using distributed computing framework technologies (Hadoop, Spark etc.).
  • Demoing products and projects to various internal and external stakeholders.

You’re our ideal candidate if you:

  • Are a recent (0-3 years) post-secondary graduate in Computer Science, Software Engineering, or equivalent.
  • Have 2+ years of software development experience (including co-op and internships) in a high-responsibility, minimal-supervision environment.
  • Have demonstrated interest or experience in two or more of the following areas: Traditional Machine Learning, Deep Learning, Natural Language Processing, Time-Series Analysis, Computer Vision, 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.
  • Have 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