Software Engineering Intern, Backend
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 to tackle complex backend challenges. This is an opportunity to work on real production systems, contributing to the integration platform that powers Terminal's API through high-scale data ingestion, and the core product features that our customers depend on. 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
Integrate new telematics data sources into our platform, and expand existing ones
Help build and optimize our internal distributed data ingestion infrastructure
Improve the core product and API to create more value for our customers
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 software engineering 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 server-side framework like Node.js/Express or Python/FastAPI
Curious about customer-facing products and large-scale data systems
Strong problem-solving skills and eagerness to learn
Able to work collaboratively in a team environment
Nice to have
Coursework or projects involving software architecture, distributed systems, or databases
Personal or academic projects involving web server development or API integration
Exposure to cloud platforms (AWS, GCP, or Azure)
Exposure to TypeScript and Node.js
Technologies you’ll learn
Language: TypeScript (Node.js)
Storage: AWS DynamoDB, AWS S3, Redis, Apache Iceberg
Serverless: AWS Lambda, AWS Step Functions, AWS SQS
Infrastructure as Code: SST, Pulumi
CI/CD: GitHub Actions
The interview process
Coding Screen (40-60 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.