Logo-of-Terminal-hiring-for-jobs-in-Canada-on-GrabJobs

Software Engineer - Data Platform

Job Description - Software Engineer - Data Platform

About Terminal

Terminal is Plaid for Telematics in commercial trucking. Companies building the next generation of insurance products, financial services and fleet software for trucking use our Universal API to access GPS data, speeding data and vehicle stats. We are a fast-growing, venture-backed startup supported by top investors including Y Combinator, Golden Ventures and Wayfinder Ventures. Our exceptionally talented team is based in Toronto, Canada.

For more info, check out our website: https://withterminal.com

Note: This role is only available to Toronto/GTA-based candidates

About the role

We're looking for an engineer who thrives on building scalable platforms and enjoys tackling hard data and backend challenges. This isn't a data engineering role: you'll design and optimize the data platform that powers Terminal's unified API, owning everything from streaming and storage to analytics, and moving terabytes of IoT and time-series data per day. It's core systems engineering, and you'll work across both data and backend to build the critical systems that drive the product's data flows end to end.

You'll partner with engineering teams and customers to build the right abstractions and reusable components that scale with our growth, help set architectural direction, and shape how the platform evolves. You know when to slow down to build the right thing versus ship a fast experiment. This is a role with real ownership, where your judgment raises the bar for the team and directly shapes how customers succeed with high-volume telematics data.

What you'll do

  • Design and build the streaming and batch pipelines, including replication, analytics, and enrichment, that feed the product and API.

  • Build the storage systems that need to scale to petabytes of time-series data and stay fast under load.

  • Improve the primitives the platform runs on: data quality, lineage, stream/batch processing, and the high-availability infrastructure enterprise customers depend on.

  • Shape how we build, not just what we build: the AI-powered tooling and workflows that let the platform increasingly extend and improve itself.

  • Work on open source technologies, contributing back when we see the opportunity.

  • Make the architectural calls that keep the platform ahead of its scale.

  • Work day to day in Java and Python.

What we're looking for

  • A strong engineer who's built and owned production platforms or distributed systems at real scale, and can drive an architecture to done without being managed.

  • Writes clean, maintainable code with a solid computer science foundation.

  • Hands-on experience with big-data frameworks, building streaming or batch systems that stay correct and fast as data grows from TB to PB.

  • Depth in distributed systems: you anticipate failure modes and design for them up front.

  • Platform builder: you make the systems other teams stand on, and design them to last.

  • Sound judgment in ambiguity: you scope before building, and know when to slow down to get it right versus ship a fast experiment.

  • Strong in Java or another JVM language (Scala, Kotlin), or confident to pick it up fast.

The ideal candidate brings deep data streaming and processing experience (Kafka, Flink, Spark, warehouses, lakehouses), though it isn't required. Strong platform, distributed-systems, or backend engineers who'll ramp into the data side are welcome.

You don't need to check every box. If you're missing some but confident you'll close the gap quickly, apply anyway.

Bonus points

  • Open source contributions (especially relating to data processing and storage)

  • Lakehouse storage (Iceberg, Delta, Paimon, Doris).

  • Orchestration and workflow engines (Temporal, Step Functions).

  • Time-series and spatial (spatio-temporal) data.

How we work

  • In person 4 days / week, downtown Toronto. We build better in a room together.

  • High ownership. Everyone takes projects end to end and helps shape the product.

  • Platform thinking. Our work is the foundation other teams build products on. We design capabilities that compose into features and accept complexity so others don’t have to.

  • Talk to customers. Whether it's a paying customer or internal team, we talk to our customers to understand their problems before we ship solutions.

Tech stack

  • Languages: Java, Python; TypeScript and Node.js is also used across Terminal

  • Framework: Spring Boot

  • Storage: AWS S3, Postgres, DynamoDB, Apache Doris, Apache Iceberg, Redis

  • Streaming: AWS Kinesis, Apache Kafka, Apache Flink

  • Orchestration: Temporal, Step Functions

  • ETL: AWS Glue, Apache Spark

  • AI: LangGraph, Deep Agents, Bedrock

  • IaC: Pulumi

Benefits

  • Strong compensation and equity

  • New MacBook and equipment

  • Top-tier health and dental, plus a flexible health spending account

  • Personal spending account for learning, fitness, and wellness

  • Four weeks paid time off plus statutory holidays

  • In-person culture in a downtown Toronto office

The Interview Process

  1. Intro call with the CTO (30 min)

  2. Virtual system design (60 min)

  3. Onsite technical loop (120 min)

  4. Onsite cultural loop + final (180 min)

Original job Software Engineer - Data Platform posted on GrabJobs ©. To flag any issues with this job please use the Report Job button on GrabJobs.
Share Job
Share Job

Similar Software Engineer Jobs in Canada

GrabJobs is the no1 job portal in Canada, connecting you to thousands of jobs fast! Find the best jobs in Canada, apply in 1 click and get a job today!

Mobile Apps

Copyright © 2026 Grabjobs Pte.Ltd. All Rights Reserved.