things i learned interning
just finished a summer internship. can't say where (NDA), but it was hardware-adjacent ML work. some things i learned.
research code and production code are different things. i knew this in theory. in practice, the gap is bigger than i expected. research code needs to be correct. production code needs to be correct, fast, and debuggable by someone who didn't write it at 3am six months ago. a lot of what i did this summer was making things that already worked work again under real constraints.
latency matters in ways i didn't appreciate in school. in a research setting, you run a model, you wait, you get results. nobody cares if it takes 20ms or 200ms. in production, 200ms might as well be infinity. the difference between "fast enough" and "not fast enough" is a hard line and it doesn't care about your elegant solution.
i learned i'm ok at reading other people's code, which might be more useful than writing my own. most of the summer was reading. understanding the existing system, figuring out where the bottleneck actually was, then making a small change in the right place. i thought engineering would be more building and less archaeology. it's mostly archaeology.
the people were intimidating for about two weeks and then they were just people. turns out even senior engineers google things. the difference is they know what to google.
i got a return offer. going back to campus for senior year feels weird now. like going back to a simulation after seeing the real thing.