Software Engineering Intern, Data Platform
About Terminal
Terminal builds telematics data infrastructure for the commercial fleet industry. Commercial auto insurers and fleet software companies, including industry leaders like Intact Insurance, depend on our platform to access GPS, speeding, and vehicle data from 330+ telematics providers. We recently raised our Series A led by Battery Ventures and are backed by Y Combinator, Golden Ventures, Penske Transportation Solutions, and Intact Private Capital. Our team works together in person in Toronto, combining early-stage speed with late-stage maturity while processing many terabytes of vehicle data every day.
For more on working at Terminal, see our careers page at withterminal.com/careers.
Note that this role is only open to Toronto/GTA-based candidates.
About the role
We're looking for a software engineering intern who's excited about building scalable data platforms. This is an opportunity to work on real production systems, contributing to the data platform that powers Terminal's API and handles everything from data streaming and storage to analytics at petabyte scale. You'll work closely with our senior software engineers, contributing to projects that directly impact how we process and deliver high-volume telematics data to our customers.
What you will do
Help build and optimize streaming and batch data pipelines that support our core product
Work on scalable storage solutions for handling petabytes of IoT and time-series data
Support implementation of data quality and data processing capabilities
Participate in code reviews and learn best practices for writing clean, maintainable code
Directly support and engage with our customers and partners
Collaborate with cross-functional teams to understand requirements and deliver solutions
Gain hands-on experience with modern data infrastructure technologies and AI tools
About you
Available for a 4-12 month internship on-site at our office in downtown Toronto, starting this upcoming fall or winter term
Currently pursuing an undergraduate degree in Computer Science or a related field
Completed at least 2 full years of undergrad (3rd+ year)
Completed at least 1 prior professional software internship
Required qualifications
Understanding of software patterns, data structures, algorithms, and basic system design
Experience with a compiled programming language like Java
Curious about large-scale data systems and real-time processing
Strong problem-solving skills and eagerness to learn
Able to work collaboratively in a team environment
Bonus points
Coursework or projects involving databases, distributed systems, or data processing
Personal or academic projects involving data pipelines or stream processing
Exposure to cloud platforms (AWS, GCP, or Azure)
Experience working with Java
Exposure to technologies similar to Kafka, Flink, or Spark
Technologies you’ll learn
Languages: Java, Python
Framework: Spring Boot
Storage: Apache Iceberg, Apache Doris, AWS S3
Streaming + ETL: AWS Kinesis, Apache Kafka, Apache Flink, Apache Spark
Infrastructure as Code: Pulumi, AWS CDK
CI/CD: GitHub Actions
The interview process
Coding Screen (25-45 min)
Coding Challenge (30 min) + Project Showcase (30 min)
On-site culture Loop (60 min)
Accessibility and accommodation
Terminal is committed to an accessible hiring process. If you need an accommodation at any stage — applying, interviewing, or completing an assessment — email [email removed] and we will work with you to meet your needs. Accommodations are available under the Accessibility for Ontarians with Disabilities Act (AODA) and the Ontario Human Rights Code, and requesting one will never affect how your application is considered.