[D] Masters to Industry – Learnings
As a recent master’s grad that just entered into the ML/robotics industry, I’m drafting all the observations and lessons I learned throughout this journey. I hope that anyone else reading this doesn’t repeat my mistakes.
NOTE: This might not be applicable to everyone, for obvious reasons.
A little bit about me – A recent master’s grad with almost non-existent industry experience, apart from one summer internship with my advisor at a robotics company she worked for (I did not end up there). My undergrad was in something different altogether and shifted to CV/ML/DL over the past 2 years. I graduated from a top 5 university in robotics/ML. I took few but highly impactful classes throughout my masters and focussed more on research. I did not publish anything but plan to soon. I was always fascinated about autonomous vehicles and am now working at a promising mid-sized company.
Firstly, there is an extreme dearth of good research engineers and companies are willing to shell out a butt-load of money and stocks to lure you in.
Resume – I had put GitHub hyperlinks to my project code (GitHub) and reports (gDrive) which surprisingly caught a lot of traction. When interviewing for the company I work for now, the interviewers took the time to read through a project report I had done last year (I made it a point to read through all my reports before any interview), grilled me on it for one hour and it was the most fun interview I ever had.
Midway through all the interviews, I started tracking each application through an app like Trello. By ‘tracking’ I mean every single technical or coding question asked, how did I answer or approach it and what could have been done better. It goes without saying that the initial interviews were horrible. Having an answer within 5 sec of the question is not what I was conditioned for. I tend to think for a long time (15-20 sec) before I can spew out an answer. However, by tracking each application, I observed that all companies would pretty much ask the same technical questions and before each interview going over that question bank got me through some rounds that I would have otherwise never been able to crack. The link is here. Feel free to add more questions that you’ve come across.
The dreaded coding rounds – At first, they were daunting! Speaking your mind while you try to come up with a working logic, code and test it in 45-60 min is not humanly possible without a ton a practice. That said, my confidence did grow with time and I noticed that almost every question asked was from the easy and medium collection from this question bank. I had to go through all the questions in that collection TWICE before I could muster this round. If you’re interested in the autonomous driving or robotics industry, C++ skills and knowledge is an extreme necessity. The C++ modules in Geeksforgeeks.com was a life-saver. Specifically, you should be able to understand and incorporate in your code – templates, inheritance, pointers, references, std::vector, std::unordered_map, std::move, std::undordered_set, constructor, destructors, virtual functions and have an understanding of how they work behind the scenes. Again, all coding questions are listed in the same doc as the technical questions one (above).
My unemployed friends and I practiced a few coding rounds amongst ourselves. That helped.
Write pseudo-code before diving into code! I like the pseudo-code to be fairly detailed but that’s up to you. Even though you might not be able to finish coding the solution in time, the interviewer has some data points to look at and also makes sure you and the interviewer are on the same page.
Some other points to consider- Towards the end of the interview, ask meaningful questions. What do they work on, what challenges are they facing currently, how did they tackle a previous challenge, etc.
After the interview, please make sure to send a thank you mail to all your interviewers. It goes a long way.
As always, if you have any questions, I’d be glad to answer