NewThe Scope Gap Playbook - 8 Habits Behind Subcontractor Scopes That Survive the ProjectRead the Playbook →
← Careers

Machine Learning Engineer

In-person · Toronto

Salary

$170K - $250K CAD

Equity

0.05% - 0.15%

Role

Machine learning engineering

About Provision

Provision helps construction teams understand complex project documents, identify risk, and turn fragmented information into decisions. We are building an AI-native product for work where accuracy, evidence, and trust matter.

The Role

We are looking for a Machine Learning Engineer to own applied ML systems from problem definition through production. You will work closely with engineering, product, and domain experts to improve how Provision understands construction documents, retrieves evidence, evaluates answers, and learns from real customer workflows.

This is a hands-on role for someone who can move between models, data, evaluation, software, and product judgment. The goal is not a demo; it is reliable intelligence that customers can use in consequential work.

What You Will Do

  • Build and operate production ML and AI systems for document understanding, retrieval, extraction, and reasoning.
  • Design evaluation datasets, metrics, experiments, and error-analysis loops that make quality measurable.
  • Improve data pipelines and feedback loops while protecting the integrity and provenance of training and evaluation data.
  • Make pragmatic decisions across prompting, retrieval, model selection, fine-tuning, and conventional ML approaches.
  • Build observability for model behavior, cost, latency, reliability, and regressions.
  • Partner with product and construction experts to turn ambiguous customer problems into testable technical plans.
  • Contribute production-quality Python and collaborate across the broader application stack.

What We Are Looking For

  • Experience shipping and operating ML or AI systems used by real customers.
  • Strong Python and software-engineering fundamentals, including testing, debugging, APIs, and data systems.
  • Practical experience with modern language or multimodal models, retrieval systems, and evaluation methods.
  • Sound judgment about data quality, experimentation, failure modes, and the limits of model outputs.
  • Ability to explain technical tradeoffs clearly and work closely with product and domain partners.
  • Comfort operating with ownership, pace, and ambiguity in an early-stage environment.
  • Willingness to work with the team in person in Toronto.

Interview Process

  1. Introductory call · 20 minutes: A focused conversation about Provision, the role, your experience, and mutual fit.
  2. Online technical interview · 2 hours: A collaborative ML problem covering problem framing, evaluation, data, system design, and production tradeoffs. We will share the format in advance.
  3. In-office interview day: Meet the team and learn how we collaborate. The day includes a whiteboarding session focused on designing and improving a production ML system.
  4. References and offer: Complete focused references, resolve any remaining questions, and move to an offer when there is a strong mutual fit.

We share the purpose of each conversation in advance, collect written feedback before debriefing, and aim to move quickly between stages.

How to apply

Send your resume and a short note about an ML or AI system you have shipped to brendan@provision.com.