👩🏻‍💻 Miki’s 🔥Hot-Takes🔥 on MLE Interviews: Top Advice & Resources (Part 2/2)

Mikiko Bazeley
Ml Ops by Mikiko Bazeley
19 min readSep 19, 2021

--

The second part of a loquacious guide to resources, tips, & lessons learned interviewing for Machine Learning Engineer roles.

Photo by Michael Maasen on Unsplash

Thanks for joining me for part 2 of the series!

We left off in Part 1 (👩🏻‍💻 Miki’s 🔥Hot-Takes🔥 on MLE Interviews: Types of Roles & Interview Prep (Part 1/2)) on talking about the best way to prepare for the data structures and algorithms related portions of engineering focused ML Engineer interviews. In this second part of the series, I’ll be dropping some hard-won wisdom and pointing you to some resources.

New to the series? Here’s a refresher on who I am and why I’m sharing my experiences.👇🏻

My goals for this blog series are to demystify the interview process for Machine Learning Engineer roles and avail readers of my personal experiences as a useful guide post.

Over a period of four months I interviewed at multiple companies for MLE roles ranging from associate to senior (beyond the initial recruiter screen).

In the beginning of my search I was confused, frustrated, and at times felt the process of getting an MLE offer was even more opaque than getting an offer as a data scientist.

My goal is to provide some insight into the types of roles available in MLOps+Eng, resources I found useful (depending on whether I was studying or interviewing), and some of the advice that helped me secure three offers.

This blog post is for people who are:

  1. Actively interviewing for MLE roles and trying to prioritize their preparation;
  2. Thinking of making a switch from data science and analytics to ML ops & engineering and would like to understand the different opportunities within MLOps & ML engineering;
  3. Interested in learning more about MLOps & ML Engineering and want some recommendations for awesome educational content.

⚠️ Warning: This is an opinionated post from someone talking about their particular experience. Results not guaranteed.⚠️

Main Sections

The portions we’ll cover in Part 2 are marked by 👉🏻 (everything else is in Part 1):

  1. Types of roles in ML Engineering, specifically the difference between Research vs Ops (Sherlock Holmes or Bob the Builder — Pick One At Least For Now);
  2. ⛔️ Types of interviews, specifically FAANG-style vs holistic-style interviews (Leetcode Queen, Holistic, or Blended); (⛔️ — Not Writing About For Now, may revisit in a separate post)
  3. 👉🏻 Top 3 pieces of advice for the MLE job hunt (Advice for the MLE Job Search — Optimize the Bottleneck, 80/20 Your Efforts, Ask for Help);
  4. 👉🏻 Top 4 general pieces of advice (Advice from the Soapbox — Cash is King, Get a Squad, Creature Comforts, Be High-Value);
  5. 👉🏻 My favorite resources I used (The Good Stuff — Excellent Victuals for the Discerning Scholar’s Palate).

Resource Legend

☝🏻 Quick note: Throughout the post I’ll link supplementary resources in addition to the resource list at the bottom. In order to help you prioritize them, I’ve added a little guide via emojis next to each link.

And to be frank, sometimes other people do a way better job explaining certain concepts. Why reinvent the wheel when I can just guide you to their doorstep?

Section 3: Advice for the MLE Job Search — Optimize the Bottleneck, 80/20 Your Efforts, Ask for Help

➡️ Optimize the Bottleneck, Not the Pipeline 🏗

Photo by Andrew Seaman on Unsplash

Earlier in the blog post we talked about how there are two primary interviewing styles, one which involves LeetCode (and resembles the more traditional software engineering interviews) and one which involves a detailed case study designing an ML system.

In either style you can think of the process as a funnel.

At each stage the number of leads gets progressively smaller as you those leads progress the stages, from “Recruiter Phone Screen”* to “Hiring Manager Phone Call”* to “Technical Screen/Take-home/Design Case Study”* to “Offer”*. (*Note: Remember every company has its own spin on the recruiting process.)

Source: 9 Steps To Hack Your Sales Job Search Process (And Land More Interviews)

If you’ve been struggling to get past one stage (for example, technical screens) you should focus all your efforts on passing that stage instead of splitting your efforts across multiple activities (like studying for the technical screen AND system design case study AND the panel interviews).

If you haven’t gotten bites on your resume, focus on generating leads or recruiter calls rather than the technical screen and the panel interview.

There’s a good chance you might be in various stages of interviews for different companies and at that point you might need to balance multiple preparation activities, which is normal. But if you don’t have the situation of multiple opportunities and there’s a particular stage that’s bottlenecking your pipeline, there could be something systematic that’s missing. And I’d argue that addressing the bottleneck will do far more for your job search than going after a few whales like the FAANG companies.

For example: If you reach out to 100 companies, improve your resume and application conversion by by 2X (with a historic call back rate of 10%), that’s an additional 10 opportunities to impress recruiters on top of your usual 10. And when you have multiple final stage interviews ongoing, that’s more leverage you have in negotiations down the line.

🧠 My biggest take-away and recommendation from that experience:

Focus on removing the bottleneck.

➡️ Ruthlessly Prioritize, Don’t Boil the Ocean 🌊

Photo by Anastasia Taioglou on Unsplash

You’re not expected to be an expert in every single cloud provider, multiple languages, and all the open source tools (unless you say you are — even that will be suspect).

Much like data science interviews, machine learning engineering interviews can only cover so much ground in 10 hours (assuming on-sites are 5 hours, with an additional 5 hours spread throughout the recruiter screen, hiring manager screen, technical screen, and maybe system design exercise).

I had a really ambitious 6 month plan to crush the interviews. Hundreds of hours of content to consume, videos to watch, case studies to read, etc etc.

What actually happened was the roadmap got completely scrambled and I postponed most of my review and learning milestones while having to pull forward later planned resources early into the process.

Need, more than any planning, dictated what I covered.

For example my plan I put together last year roughly followed:

  • Months 1–2 : Review all of data science & machine learning 101 (algorithms, feature engineering techniques, etc.);
  • Months 3–4: Review all of deep learning, computer vision, and NLP;
  • Months 5–6: Review all of applied mathematics & statistics (focused on experimental design);
  • Months 7–8: Review & improve C++ and Java knowledge as well as focus in on weak areas & then start applying & interviewing

(Yes, my eyes were much bigger than my stomach in this case.)

That plan got swapped out for the one below:

Painful just looking at the mess, huh?

And even that plan was abandoned because while I was working on Sidewalk.ai I needed to research and implement serving solutions way before Month 4 — like I needed to solve the problem that same week something broke.

Instead of developing fluency with multiple languages I needed to understand one language (Python) well enough to optimize a single threaded operation.

Instead of learning all the cloud vendors (GCP, AWS, Azure, etc) I needed to understand the underlying principles and core products of one vendor in order create a working pipeline and warehousing solution. (Hint: The key phrase is “Managed services for [insert the most popular open-source tools that you already know and love/hate].”)

Need drove the learning to the absolute necessary & critical knowledge required to solve the problem I was facing at that point in time.

“To achieve great things, two things are needed; a plan, and not quite enough time.”
- Leonard Bernstein

🧠 My biggest take-away and recommendation from that experience:

Instead of doing what I tried to do (planning everything I thought was important in ML Engineering & MLOps), do what I actually did, which was to identify the core problems that companies are trying to solve when it comes to scaling out machine learning (either through study or hand’s-on experience), identify potential solutions and practices, then match tooling as needed (picking a subset to get familiar from industry recommendations). Understand the pros and cons and the decision process behind the choices people are making.

Don’t have a startup to work on? That’s okay, the time-honored tradition of working on a personal project is a great way to make a go at understanding the day-to-day work of an ML engineer.

Don’t know where to start? Check out Goku Mohandas’s Made with ML MLOps Track and code-along, adapting his teachings to a project of your own.

➡️ Get a Second (Third, Fourth, Fifth) Invested Opinion 💁🏻‍♀️

Photo by Christina @ wocintechchat.com on Unsplash

Going solo on the job search can be appealing and a form a self-protection against getting burned when you’re feeling vulnerable.

And (🔥 hot-take warning 🔥) there are a lot of very loud, opinionated personalities in the analytics, data science, and machine learning spaces that are heavily invested in gatekeeping the field out of a perverse desire to maintain job security and elevate their statuses.

And (🔥additional hot-take🔥) when it comes to tools and infrastructure, a lot of the noise and chaos of the different spaces are being driven by vendors (companies peddling to make money) and influencers or content marketers that use LinkedIn as a sales and marketing machine.

I have no issues necessarily with LinkedIn being used as a lead generation source — but as a job seeker looking to build a career that is long-lasting and meaningful, to peg your job search and body of work to specific tools will leave you feeling like a pile of leaves in the wind, swept here and there without purpose.

Comparing your resume to the trending libraries and packages out in the wild is a great way to feel inadequate (sooooo inadequate) and to forget what you can bring to the table.

Reaching out and talking to professionals doing the kind of work you want to be doing, solving the kinds of problems you’d love to be solving, can make-or-break your job search.

For the first two months I wasn’t getting any bites for machine learning engineer roles (but more for data scientist roles). I was frustrated and feeling discouraged and ready to start saying “Yes” to data scientist roles (even knowing I wouldn’t be happy or fulfilled).

Luckily I was taking the “Full Stack Deep Learning” online workshop (led by Sergey Karayev and Josh Tobin) and posted in the slack community about my current state of progress. Daniel, one of the TA’s for FSDL, reached out and connected me with another ML Engineer Charlene, and both proceeded to give me robust feedback on my job search strategy, resume, Linkedin, and elevator pitch.

Implementing their feedback generated 3X the recruiter screens (which lead to 3X improvement in final stage interviews reached). The opportunities were also higher quality, with greater alignment to my career goals and desired compensation.

Even though I had experience mentoring at bootcamps for data science and analytics and had a good understanding of how to pitch as a data scientist, there was still enough of a difference in what the market wanted for an MLE and what I was communicating that I needed the perspective of two practicing ML Engineers to point out the gaps and suggest how to address them.

Speaking of resumes, a really useful tool I used to improve my resume was Resume Worded— It’s a freemium service that scores your resume & provides feedback (as if the resume was going through an ATS). Ever been told that having an ATS (applicant tracking system)-friendly resume doesn’t matter? They’re wrong. If you use a highly stylized resume with fancy templating, some ATS parsers will slice-and-dice your resume such that your “Contact Information” section gets squished in the middle of your “Education” section and your five years of work experience are sandwiched between that college internship you did and your college degree aka a “hot-mess”.

The “Before” Shot (Stylized, Blocky, & ATS garbage)
The “After” Shot (Clean, 1 page shorter, Still Pretty, ATS-Friendly)

🧠 My biggest take-aways and recommendations from that experience:

  1. Even if you think the issue isn’t your resume, it’s probably your resume.
  2. Review your resume and job search strategy with the type of people that you’ll either be working for or working alongside. If they can’t articulate a proper use case or explanation for why a specific skill should be added to your learning plan beyond “because everyone’s talking about [insert tool]”, they’re probably not using it or know anyone who is and thus the skill should be deprioritized for the short-term.
  3. You don’t need to be the best. Just hit the midpoint of what a working professional with a reasonable amount of experience at your level would have knowledge of and be able to do.
  4. Learn to filter and distinguish advice appropriate for a senior professional versus a junior professional for your chosen type of work.

Section 4: Advice from the Soapbox — Cash is King 👑 , Get a Squad 👨🏽‍🤝‍👨🏻👩🏻‍🤝‍👩🏼, Creature Comforts 💆🏻‍♀️, Be High-Value 👸🏻

Photo by Paolo Chiabrando on Unsplash

Most of this advice is probably more relevant to younger candidates but bears repeating for everyone. Most of these will be self-explanatory.

➡️ Cash Equals Choice & Choice Equals Leverage

Photo by Pascal Bernardon on Unsplash

I didn’t come from a financially abundant background, shall we say. Early in my career I took the jobs I needed in order to pay rent and observed that the lack of sufficient resources at times meant taking a role that was short-term while I built up the safety reserves.

Having a rainy-day fund can be the difference between:

  • deciding to opt-in to a company’s interview process versus having to interview for a company because you need a job;
  • choosing an opportunity that offers a better team, a better culture, and higher work-life balance versus choosing an opportunity that has a higher base but one of the interviewers (and your potential teammate) spends 45 mins berating you for not being 100% confident in your answers and interrupts your explanations to ask that you not interrupt them (yeah, that happened);
  • staying in a role and being able to only prepare for interviews during the weekend and nights (when you’re exhausted and burned out) versus being able to dive head-first into the search so that every day you wake up focused a single mission.

Even though money isn’t the only leverage that matters, it’s one of the most important points of leverage and your runway will ultimately set the cap on your landing spot.

Additional Discussions About Leverage

➡️ Interviewing in Tech Can Be Hard & Lonely — Engage Your Squad

Photo by Donald Tran on Unsplash

And spend less time on the subreddits. They can be depressing and give you a really warped view of tech and the interviewing experience.

While subreddits can be highly-entertaining and generate great discussions, the constant stream of “I was just spit in the face by a recruiter 😭 who then proceeded to ghost me and curse five generations of my family” and “I just got FAANGed 🦷 with a 💰 $500K total comp offer straight out of undergrad #yolo #blessed #humbled🙏🏻” can groom you into thinking that data science and machine learning is a “winner-takes-all” space.

For a majority of interviews the experience will probably be closer to mediocre, decent or “meh”.

➡️ Self-Care is For Every Body

Health is wealth. Can’t be productive and happy if you’re not able to take care of the lower levels of Maslow’s Hierarchy of Needs.

Maslow’s Hierarchy of Needs: Notice Physiological and Safety precede Self-Actualization.

➡️ High-Value People Don’t Put Themselves Down & Neither Should You

Also stop apologizing in interviews.

There are subtle differences between honesty, self-deprecation, and self-sabotage. If you give off signals that you’re not confident in your skill set or what you bring to the table, your interviewing team will level your offer accordingly or may decide to go with a candidate that is more confident.

Section 5: The Good Stuff — Excellent Victuals for the Discerning Scholar’s Palate 👩🏻‍🎓

Photo by Thought Catalog on Unsplash

As promised, here are my recommendations for resources I used to learn, review or enjoy the crucial aspects of Machine Learning Engineering and Ops while interviewing and working on Sidewalk.ai.

Reminder of the icon key

ML Eng & Ops: Project-Based Tutorials & Blog Posts

Good examples of end-to-end ML projects are few and far between.

Luckily the examples I listed below do thorough walkthroughs (with corresponding Github code) if you’ve never seen a fully deployed ML app.

  • MLOps (Made with ML) [Tutorial Series] — 💯 ✅👩🏻‍💻 If you really need to focus on only one resource to build your end-to-end portfolio project, this is the resource you should be using. Periodt.
  • Fake News Detection From Ideation to Deployment [Tutorial] — 💯✅👩🏻‍💻 This is an awesome tutoral that walks you through how to create a productionized model, een showing you how to leverage your fake news detection model as a Chrome plug-in. Neat right?

ML in Production: Courses, Lectures, & Talks

What if you need resources beyond examples? What if you need to build the foundation of your understanding and go deep at the same time?

🐍 Python Resources

Although Python isn’t the only language out there (and I’m not getting involved in any arguments about which language because *punchline* you’ll eventually need to learn multiple), here are the resources that helped (and continuously help) me improve my Python fluency.

  • Real Python [Website] — 💯✂️👩🏻‍💻 Real Python is my go-to website when I need Python specific knowledge broken down in a ELI5 format. The team at RP invests a ton of time in the quality and editing of their content and as a result their content is grammar-free, error-free, and comes with working code most of the time (can we say the same about most of the tutorials out there? I think not).
  • Hitchhiker’s Guide to Python [Website] — 🧠✂️ 📚
  • DataCamp [Website] 🧠✂️ 👩🏻‍💻— Used sparingly this round (tutorials were much more useful when I was moving into and interviewing for data scientist roles). Nevertheless I have a standing subscription because of the bite-sized nature of the 4-ish hour long tutorials, especially in the Data Engineer with Python track.

Communities & Newsletters

How to keep up with MLEng/Ops? These are my favorite reads and communities:

  • MLOps Community [Slack + Newsletter] 🧠✂️ 📰— The slack community is amazing & the newsletter is 🔥.
  • Real Python [Slack]— Already linked above!
  • W&B Forum [Slack]
  • Papers With Code [Slack]
  • WWCode Python [Slack]
  • Artists of Data Science [Meetup]🧠✂️ 📹 Don’t forget to join us on Fridays at 5:30 PM Eastern Standard Time! Free happy hour where data science influencers like Joe Reis, Kurtis Pykes, Vin Vanishta, Thomas Ives, and regular janes like myself gather to talk shop. Hosted by Harpreet Sahota, who is also the founder and host of the Artists of Data Science podcast.
  • Utah Data Engineering Meet-Up [Meetup] — 🧠✂️ 📹 Free, awesome talks by leaders in the Data Engineering space.
  • Machine Learning for Developers [Newsletter] — ⏰ ✅ 📰 Newsletter by Satish Chandra Gupta. This newsletter was critical for me when preparing for the case study portions, especially the diagrams showing a side-by-side comparison of GCP vs AWS tools.
  • Stanford MLSys Seminars [Talks] 🧠✂️📚 — Fantastic free talks by leaders, movers, and shakers in the ML space that tackle topics around scale, ethics, system design, etc.
  • Amplify’s Projects-To-Know [Newsletter] 🧠✂️ 📰 — Talk about staying up-to-date without being overwhelmed, this newsletter delivers bite-sized chunks in the format of 3–3–3; highlighting 3 papers, 3 projects, and 3 pieces of content.

Additional perspectives on ML Enginering

A very short list of some great perspectives on ML Eng and the importance of software development in data science.

Additional resources that are just awesome at any point in your career

Wondering what you missed in Part 1?

In Part 1 (👩🏻‍💻 Miki’s 🔥Hot-Takes🔥 on MLE Interviews: Types of Roles & Interview Prep (Part 1/2)) we covered the sections marked with 👉🏻.
In Part 2 we covered everything marked with 🎉:

  • 👉🏻 [Section 1] Types of roles in ML Engineering, specifically the difference between Research vs Ops (Sherlock Holmes or Bob the Builder — Pick One At Least For Now);
  • 👉🏻 [Section 2A] ⛔️ Types of interviews, specifically FAANG-style vs holistic-style interviews (Leetcode Queen, Holistic, or Blended); (⛔️ — Not Writing About For Now, may revisit in a separate post)
  • 👉🏻 [Section 2B] How to study for the Data Structures & Algorithms portions of interviews (👊 Breaking through the Data Structures & Algorithms interview)
  • 🎉 [Section 3] Top 3 pieces of advice for the MLE job hunt (Advice for the MLE Job Search — Optimize the Bottleneck, 80/20 Your Efforts, Ask for Help);
  • 🎉 [Section 4] Top 4 general pieces of advice (Advice from the Soapbox — Cash is King, Get a Squad, Creature Comforts, Be High-Value);
  • 🎉 [Section 5] My favorite resources I used (The Good Stuff — Excellent Victuals for the Discerning Scholar’s Palate).

Phew, what a ride!

While I’m sure this blog post will probably become moot within the next 3–5 years as the field and tools change, I’m hoping I provided some small amount of entertainment value (and at least as much or more) informational value.

Overall I actively interviewed with 12+ companies for 13+ roles (mostly as an MLE but also as a Data Scientist). These companies included Amazon, Facebook, Cisco, Metromile, Levi’s, Wish, Quora, among others. Out of this group I received 3 offers with an additional late stage interview (pre-offer) pending.

Ultimately I went with Mailchimp’s offer as a Software Engineer III, Machine Learning and started at the end of May.

As of writing it’s been at least a month and every day I am validated in my decision by the way Mailchimp supports its employees. I joined a team of 1 Staff ML Engineer, 3 Senior ML Engineers, and an additional ML Engineer (all of whom are based in Atlanta while I work out of San Francisco) and have felt supported every day as I learn and make mistakes.

More About Me

Interested in following along with my journey? One of the easiest ways is by connecting through LinkedIn or GitHub. Feel free to send me an invite and let me know what you thought about this post!

I’ve also written about my journey to becoming a data scientist in a series of posts starting here: ✂️Breaking into Data Science- From Hair Salon to Data Scientist (Ch.1)🔍

And if you really love what I wrote, consider buying me a coffee at www.buymeacoffee.com/mmbazel & keep me writing!

--

--

Mikiko Bazeley
Ml Ops by Mikiko Bazeley

👩🏻‍💻 MLOps Engineer & Leader 🏋🏻‍♀️ More info at bio.link/mikikobazeley ☕️ First of Her Name 🐉 Maker 🎨 CrossFit Enthusiast