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
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.
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.
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.
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.
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.
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
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
Intro call with the CTO (30 min)
Virtual system design (60 min)
Onsite technical loop (120 min)
Onsite cultural loop + final (180 min)
Copyright © 2026 Grabjobs Pte.Ltd. All Rights Reserved.