Staff Engineer, Machine Learning



Software Engineering
Toronto, ON, Canada
Posted on Thursday, November 9, 2023

Who You’ll be Joining:

We’re looking for a Staff Machine Learning Engineer to join our Data Science Chapter — a team that’s on a mission to make our ecosystem of products more intelligent and more capable of responding to our customer’s individual needs than ever before.

Reporting directly to the VP of Data Science, you’ll support several teams within the Data Science Chapter, all made up of engineers that come from diverse backgrounds in machine learning and artificial intelligence.

How You’ll Make an Impact:

Working across multiple teams within Data Science, you’ll use your expertise in machine learning to support and advance various projects while also collaborating closely with members of our Product and Business Intelligence teams on missions ranging from personalization, recommendations, energy efficiency, home security, and building a cleaner energy grid.

You’ll contribute directly to the development of our machine learning infrastructure, iterating quickly, running and scaling experiments with data sets containing hundreds of billions of data points, and rapidly shipping products on both the cloud and the edge.

As a Staff Machine Learning Engineer at ecobee, you will;

  • Lead the development of advanced machine learning algorithms to personalize the customer journey across several touch points, including paid ads, SEO content, web pages and in-product experiences.
  • Collaborate closely with technical and non-technical stakeholders, including business partners, engineering and analytics teams.
  • Manage the full machine learning development lifecycle from problem framing, data wrangling, and model development all the way to productionization, experimentation, and maintenance.
  • Design and deploy large-scale machine learning products on structured and unstructured content (telemetry, audio, video, user behaviour and preferences) with correctness, usability, interpretability, experimentation, and maintainability in mind.
  • Determine the feasibility of initiatives through quick prototyping and with respect to performance, quality, time, and cost.
  • Leverage your experience to drive best practices in machine Learning Engineering and mentor Senior Engineers within the Data Science Chapter.
  • Bring cutting-edge research and industry knowledge into the team around natural language processing (NLP), computer vision, machine learning, generative AI, and related areas.

What You’ll Bring to the Table

We’ve built the following list as a guideline for some of the skills and interests of our development team — but we strive to build our team with members from a diverse background and skillset, so if any combination of these applies to you, we’ve love to chat!

  • Graduate degree (Masters/PhD) in Statistics, Mathematics, Computer Science or another quantitative field.
  • Extensive experience applying machine learning to multiple projects aimed at solving real-world problems.
  • Extensive experience with manipulating data sets, building statistical models, and productionizing machine learning solutions using state-of-the-art and big data technology.
  • Experience working with data at the scale of 1TB or more, leveraging big data processing frameworks like Spark and Google Cloud Dataflow.
  • Experience with software engineering and DevOps practices as well as ML-Ops deployment and infrastructure.
  • Experience optimizing for resource constrained edge devices.
  • Proven software engineering skills across multiple languages such as Python, C/C++, and the accompanying frameworks and libraries used in machine learning packages.
  • Proven ability to lead cross-functional projects to successful conclusions using strong problem-solving skills and the ability to communicate complex concepts to technical and non-technical stakeholders.
  • Proven ability to develop and train production-ready machine learning models including transformer models, reinforcement learning, neural networks, model training in an area such as classifiers, recommenders, vision, and speech.
  • Expertise with implementation details of large neural-network architectures using frameworks like PyTorch, Tensorflow, Keras, JAX, etc.
  • Expertise working in environments that leverage Scrum and Agile.
  • Knowledge of how to manipulate data to perform analysis — including querying data, defining metrics, and slicing data to evaluate hypotheses.

What happens after you apply?

Application Review. It will happen. By an actual person in Talent Acquisition. We get upwards of 100+ application for some roles, it can take a few days, but every applicant can expect a note regarding their application status.

Interview Process (3 Rounds)

  • Round 1: A 45-minute phone call with a member of Talent Acquisition.
  • Round 2: A 45-minute virtual meeting with a Senior Manager within Data Science. This will be a technical interview in the form of a Q&A.
  • Round 3 is broken into two parts;
    • Part 1: A 1-hour virtual meeting with a pair of senior members of our Machine Learning team. You’ll present your solution to a case-study (provided in advance for you to prepare) and respond to their questions regarding your presentation.
    • Part 2: A 45-minute virtual meeting our VP of Data Science, and a Staff Product Manager for a Q&A on machine learning in a product-context.