ML Systems Software Development Engineer Intern, Annapurna Labs – Amazon – Toronto, ON
Location: Toronto, ON | Company: Amazon
The Toronto Neuron team at Amazon’s Annapurna Labs is looking for driven engineering students ready to do serious work on custom silicon and machine learning systems. This isn’t a fetch-coffee internship — you’ll be embedded in a team that designs the chips and software powering AWS at global scale, working on ML Systems Software Development from day one in Toronto, Ontario.
Depending on your background and interests, you’ll be placed on either the Frontier Model Performance team or the Developer Experience (DevEx) team. Both focus on AWS Trainium — Amazon’s custom machine learning silicon — and both involve real engineering problems with real customer impact.
About the Role: ML Systems Software Development Engineer Intern
On the Frontier Model Performance team, you’ll take newly released machine learning models from first bring-up to peak performance on AWS Trainium silicon. That could mean writing and tuning kernels, optimizing sharding and model execution, building benchmark infrastructure, or tackling architectural bottlenecks that shape future chip designs. The best ideas get turned into reusable Neuron components and optimization techniques that flow into flagship open-source and customer workloads. On the DevEx team, you’ll build the tools that make Trainium performance visible — owning Neuron Explorer and developing profiling, debugging, and analysis capabilities so engineers can identify bottlenecks and optimize faster. That could mean low-level performance data collection, analysis engines, interactive visualizations, or developer workflows.
In either team, you’ll work alongside experienced machine learning and systems engineers who are invested in your growth. You’ll collaborate across disciplines, take ownership of real deliverables, and contribute to software that runs at massive scale. Safety, code quality, and clear technical communication are valued throughout the team.
Benefits and Salary
This internship position in Toronto, ON offers a starting salary of $100,810 CAD annually. Amazon also provides basic life and AD&D insurance, paid time off, and access to other resources aimed at improving health and well-being. Internship terms are flexible, with options for a 12–16 month placement starting May 2027 or a 3–4 month placement starting January 2027, May 2027, or September 2027.
Job Details
📌 Job Type: Internship
🏢 Company: Amazon (Annapurna Labs)
📍 Location: Toronto, ON, Canada
🆔 Requisition ID: 10538066
🗓️ Date Posted: September 11, 2026
⏱️ Schedule: 3–4 month or 12–16 month internship terms available
💰 Pay: $100,810 CAD Annually
Responsibilities
Your day-to-day will vary depending on which team you join, but the common thread is solving hard engineering problems at the intersection of machine learning and custom hardware. You’ll own meaningful workstreams, produce results that matter to real customers, and learn from engineers who’ve built some of the most sophisticated ML infrastructure on the planet.
- Bring up and optimize state-of-the-art machine learning models for peak performance on AWS Trainium silicon
- Write and tune kernels, optimize model sharding and execution, and tackle architectural bottlenecks that influence future hardware designs
- Build benchmark and measurement infrastructure to evaluate model performance across hardware generations
- Develop reusable Neuron components and optimization techniques applicable to flagship open-source and customer workloads
- Build profiling, debugging, and analysis tools within the Neuron Explorer ecosystem to surface performance data for engineers
- Design and implement low-level performance data collection pipelines, analysis engines, and interactive visualizations
- Collaborate with ML and systems engineers to identify and resolve performance bottlenecks across model and kernel execution
Requirements / Skills
Amazon is looking for engineering students who are genuinely curious about machine learning systems, compilers, or hardware-software co-design. You don’t need to be an expert in everything — but you should have solid fundamentals, hands-on coding experience, and a demonstrated interest in at least two of the technical domains listed below.
- Current enrolment in a Bachelor’s degree or higher in Computer Science, Computer Engineering, Electrical Engineering, or a related field
- Programming experience in Python, C, and/or C++ through coursework, research, or a previous internship
- Academic, research, or project experience in at least two of: performance engineering or profiling; kernel or parallel programming; developer tooling; data structures and algorithms; ML frameworks such as PyTorch or JAX; compiler or ML systems technologies such as LLVM, MLIR, XLA, or TVM
- Experience optimizing machine learning models or writing kernels for GPUs, ML accelerators, or FPGAs (preferred)
- Ability to communicate technical challenges clearly and work independently through ambiguous or undefined problems
- Full stack development experience including TypeScript, React, or Go is a plus for DevEx candidates
How to Apply
To apply, visit the official Amazon job posting using the link below. Make sure your resume is up to date and highlights relevant coursework, research, or project experience before submitting.
Share This Opportunity
Know someone who might be interested? Share this job posting and help them join Amazon in Toronto.
Job Summary & Tips for Applying
Quick Summary & What to Highlight: This ML Systems Software Development Engineer Intern role at Amazon (Annapurna Labs) in Toronto is perfect for candidates who excel in low-level systems programming, machine learning frameworks, and performance engineering. On your resume, emphasize any experience with Python, C, or C++, kernel development, or profiling tools, and your ability to work in a fast-paced, technically demanding environment. If you’ve previously worked in ML systems, compiler research, or hardware-adjacent software development, make sure to highlight specific projects and measurable outcomes that align with either the Frontier Model Performance or DevEx team focus areas.
Resume & Application Tips: Before applying, tailor your resume to match the job description. Include keywords like AWS Trainium, performance optimization, and kernel development that appear in the posting. Quantify your achievements where possible (e.g., “reduced model inference latency by 20% through kernel tuning” or “built a profiling dashboard used by 5+ team members”). Write a brief cover letter expressing your genuine interest in Amazon’s Annapurna Labs and why you’re excited about this opportunity in Toronto. Double-check your application for spelling errors and ensure your contact information is current.
Interview Preparation: If selected for an interview, research Amazon‘s Leadership Principles, Annapurna Labs’ hardware portfolio (Graviton, Trainium, Inferentia, Nitro), and the role of the Neuron SDK in the AWS ecosystem. Prepare specific examples using the STAR method (Situation, Task, Action, Result) to demonstrate your problem-solving skills in technical or research settings. Common questions may include scenarios about debugging performance issues, working through ambiguous problems, or explaining a technical project to a non-expert audience. Dress appropriately for a software engineering interview setting, arrive 10–15 minutes early if in-person, and bring copies of your resume. Prepare thoughtful questions about team dynamics, mentorship structure, and what a successful internship looks like. After the interview, send a thank-you email within 24 hours reiterating your interest in the position.