One of the best parts of studying CS at Waterloo is the co-op program. By the time I graduated in 2025, I had completed six internships: Tesla, Dagster Labs, Streamforge, Arctic Wolf, Aboard, and Maesos Technologies. Each one was a different company size, tech stack, and engineering culture. Here are the lessons that stuck.

Big companies teach you process, startups teach you ownership

At a company like Tesla, you learn how software ships at scale: code review culture, CI pipelines, on-call rotations, and the discipline of not breaking things that millions of people depend on. At a five-person startup, none of that infrastructure exists — you build it, or you live without it. Both experiences made me better, but in opposite ways. The big company taught me to slow down; the startups taught me to ship.

The first two weeks decide your term

Every internship, the pattern was the same: interns who asked lots of questions early and shipped something small in week one got trusted with bigger work by week four. Interns who tried to look smart by staying quiet fell behind. Asking a "dumb" question on day three is free. Asking it on day thirty is expensive.

Read the codebase before you write to it

My most productive terms started with a few days of just reading: tracing a request end-to-end, reading recent PRs, understanding how the team names things. Code you write that matches the existing patterns gets reviewed and merged fast. Code that fights the codebase gets stuck in review forever.

Tools compound

Somewhere around internship three I started keeping a personal library of scripts — dev environment setup, log parsing, deployment helpers. A lot of them live in my school-helper-programs repo. Every term, that library made me faster on day one than I was on day thirty of the previous term.

The takeaway

If you're a student deciding between one long internship or several short ones: take the variety. The range of environments — hardware giant, data infra startup, security company — taught me more about what kind of engineer I want to be than any single team could have. It's also how I ended up where I am now, at Robinhood.