[ML Engineer Stories: Lab Edition] How my lab, hackathon, and internships paid off after I joined a company
Introduction
Hi, I’m kittchy.
This is the second post in my “ML Engineer Stories” series. Once again it’s for students doing ML in a university lab who want to become ML engineers. Last time I wrote about getting hands-on with things outside ML. This time it’s about where the way I spent my student years paid off at work.
Note
Everything in this article is my personal opinion and does not represent the views of any company or organization I belong to.
The lab wasn’t the only place I learned
As a student I spent my time in the lab, at a hackathon, and at internships, and each gave me something different.
Lab: building fundamentals through experiments and papers
My research topic was domain adaptation for speech recognition. I read a lot of related papers while running experiments, so my basic knowledge of machine learning grew a lot during this time.
Hackathon: once wasn’t enough
I only entered one hackathon: HackAichi+2023, an inter-university hackathon in Aichi Prefecture. I discovered the joy of building things, and the other participants pushed me to pick up knowledge around the edges.
On the other hand, people who had entered many times built things fast, and I came to see hackathons as strength training for development. If you enter one, don’t stop at one. Enter many.
Internships: go to many different companies
I interned at three or four companies, and each taught me from a different angle. Running lots of model training and speech processing experiments gave me the stamina to keep experiments going, and I gained implementation skills and web service basics that research doesn’t give you. Going to many companies helps you understand companies and helps you grow.
If you want to go a step further, it’s also worth leaving school to work for a while. Personally, I think finishing your undergraduate degree, working at a company, and then going to graduate school is the better way to produce research results.
I got off to a fast start after joining
What helped most was getting up to speed right after joining. In ML engineering, the services and infrastructure that run a model come up as often as the model itself. Because I had basic knowledge, broad if shallow, I didn’t get stuck at the entrance even with technologies I was touching for the first time.
The company I joined used Kubernetes, and I got into it surprisingly smoothly. Of course I didn’t do nothing: I studied for the CKAD and read a lot of related books. I had never written Ruby either, but with help from AI I could write it better than I expected.
How I ran my research became how I run my work
As a student I had to make my research succeed and finish papers on my own, so I set up my own research management and process. At work, deciding what to do, by when, and how far comes up more often than building models, and that skill is paying off there.
Connections from my student years help too
My connections with student friends also mattered. Many of them are in mechanical or electrical engineering, and I still learn a lot from hearing what’s going on at their companies.
You should go to conferences too. I went to the Acoustical Society of Japan meetings and PyCon, and hearing talks outside my research field gave me broad knowledge. I still want to go to more kinds of conferences.
Where I still fell short
What I lacked was experience developing inside large systems. The company I joined as a new graduate taught me a lot there.
I also wish I’d learned more about project management and organizational theory, and read books on the philosophy of code and of organizations. Among the books I read after starting work, Clean Architecture impressed me most for code, and Team Topologies was the most interesting for organizations. But that’s something I only understand now that I’m working.
Closing
What I use at work isn’t only the ML knowledge I gained from research. Knowledge of service development got me up to speed quickly, and the experience of running research on my own helps with how I run projects.
If you see your research through and also do the following while you’re a student, it will pay off after you join a company.
- Hackathons: don’t stop at one, enter many
- Internships: go to many different companies. Working once before graduate school is also an option
- Conferences: go to both academic meetings in your own field, like the Acoustical Society of Japan, and conferences outside it, like PyCon
- Books: read books on how to think about code and organizations, like Clean Architecture and Team Topologies
Next time I’ll write about what I’m glad I did in my first two and a half years of work. See you.


