This is for someone who worked on a few ML projects and want to apply to ML Engineer positions without much of professional ML experience.
Note: Whenever I say “ML”, I actually mean Deep Learning, not traditional/classical ML
Note 2: This is a very rough draft that just sprouted from my mind written in about 20 minutes. So don’t consider this as a well thought through article. Please let me know if you have any suggestions or topics you want me to cover.
I was a software engineer turned ML Engineer. I gave more than 50 interviews (not 50 companies) in about 2 months to get a stellar job I always wanted — Machine Learning Engineer in the R&D team.
What skills do you need before applying?
- Able to write a neural network and train on some dataset. The domain depends on the job. Have some projects under your belt already.
For computer vision roles, you need to know image classification, image segmentation and object detection at the very least.
For NLP roles, you need to know a lot — TF-IDF, RNNs, Embeddings, Transformers, various NLP tasks.
- READ the foundational papers like AlexNet, ResNet, YOLO1, FasterRCNN, Transformers, BERT, GPT, word2vec, etc. The interviewer assumes that you read all of these so you don’t wanna look like an idiot when they mention something specific from these papers.
There’s a pattern to the interviews.
- HR screen
- Technical Round Oral
- 1 week test OR coding round OR 4 hour long interviews.
- Final round with a senior manager
HR round will give you a lot of confidence. But don’t get too happy.
Technical Round is usually good. They will want to know about your background and your extent of knowledge with their ML areas.
The 3rd round is often the most challenging, especially with NLP roles. You pass this, you almost have the job in hand. I failed this round countless times.
The worst type of 3rd round is the 1 week coding assessment.
The easiest is when they just try to see your algorithm skills.
The 4 person interviews — You’ll have to impress EVERYONE. Don’t get too happy if your first interview here was awesome. Even if the last person dislikes you, you’re not getting the job.
Build up your catalog of Q&As:
- You will be asked a lot of weird but awesome questions. You might not have answers to these on your first interview. But the beauty is that with every interview, you keep increasing your catalog of these questions.
- Even if you fail to answer these questions during the interview, you can prepare your answer AFTER the interview. The next time an interviewer asks this difficult question, voila! you can answer it without even thinking hard.
- Build up your own questions. I tried to ask the same question to all companies, but that didn’t work well. Keep it dynamic. Ask questions about their product’s inner workings. What model are they using? What would be the input and output of the model? How do they deploy it so they use it in real-time? And any other company specific technical questions.
Don’t have ANY experience?
Here’s what I did:
- Joined as a Software Developer in a company that does ML work somewhere in the product. After joining, slowly learn more about that ML module while working in your own software team. Seek opportunities to work on that ML module.
- Keep working on my own independent ML projects outside of work after work hours.
- Apply for internships — Internships have lower barrier of entry. If you’re a rockstar, you’ll be converted to a full-time employee soon.
If you’re not a software developer, then there are other ways to break into the professional ML area. One such path way would be to start as a Data Engineer, ramp up your role more into Data Science and more Deep Learning related projects.
What I Learnt From 50 ML Job Interviews: resume
There are services that create beautiful resumes. One such service I used was EnhanCV. At first, I used their free version, that increased the influx of interview calls. Then I accidentally paid $20 for their premium features. I further increased the size of my resume from 1 page to 2 pages, used all the premium features. I got a rapid growth in interview calls, it is crazy. You can checkout my latest resume at akhil.ai/resume.
Move those muscles!
Body language is very important, especially in the zoom interviews.
Option 1: Sit like a statue for 1 hour during the interview.
Option 2: Be physically active, use your hands as gestures when you’re explaining something, some expressions rather than poker face.
Which one would you choose? Option 1 or option 2? Yes, definitely option 2.
My manager told me they saw candidates who have better skills than I do, but they chose me for the attitude-fit — I think he said this because of my body language.
Mobile \ Read more \ 27.09
iOS SwiftUI Lists Are Broken And Can’t Be Fixed Swift Combine: Understanding Publisher-Subscriber Pattern in 2 seconds How to Create...
Mobile \ Read more \ 26.09
iOS Compose UI for iOS Aspect Fit Layout Guide Replacing if let in Swift 5.7 Native iOS Game Development w/...
Dotlin – Kotlin to Dart compiler
Dotlin is a Kotlin to Dart compiler. The aim is to integrate Kotlin as a language into the Dart ecosystem,...
Koreography – A light weight Compose Animation library
A lightweight Compose Animation utility library to choreograph low-level Animation API through Kotlin DSL. It does the heavy lifting of dealing...
Mobile \ Read more \ 22.09
iOS Understanding Swift’s Opaque Types Implement Core Spotlight in a SwiftUI App MVVM + POP to deal with complex UI...
Dynamic Islands – A sample of Dynamic Island designs
A sample of Dynamic Island widgets that will help you make better things! Dynamic Islands This repo aims to provide...