ML Skills
Machine Learning Infrastructure Interview
The Roadmad
Last updated on May 29, 2022

the-road

Today in this post, I will share with you my journey from when I was a student until the time I fell in love with Machine Learning Infrastructure.

My journey

When I was a fourth-year student at my university, that was the first time I heard about machine learning. I didn't even search on Google to see what it meant. In the same year, 2016, I had a course named Computer Vision which I didn't even know why I had to learn. The course was hard for me. But after finishing it, I knew that Computer Vision will be an important part of my life.

In my fifth year at university in 2017, I got a chance to work on a big Computer Vision project as a researcher with a famous professor in the Computer Vision research area. After graduation in 2018, I continued doing research on Computer Vision with my professor for one year.

From 2019 to 2020, I was diving into the world of Computer Vision. During this time, I also worked for some companies where I had chances to learn about software architecture and to design and implement several software core applications from the very beginning to the end products. At that time, I tried to deliver the products as perfectly as possible. I didn't know that my software architecture design experience helped me a lot in terms of systematized thinking when it came to Machine Learning Infrastructure or Machine Learning Systems Design later on.

software-architecture-stack

At the beginning of 2021, I started learning about machine learning system design. I learned it by taking online courses, reading tutorial articles, searching for best practices, and building my own machine learning systems. I was fortunate that I could also apply what I learned to what I was doing at my company. Moreover, I volunteered for a community project as an MLOps engineer. This was really the moment when my experience was boosted like a rocket.

That is a brief description of my career so far. In short, I want to emphasize two things in my journey: machine learning knowledge is crucial, and software architecture is essential to shape my mindset into a systematic structure.

The roadmap

Instead of giving you a comprehensive list of things that you might get overwhelmed with, I will provide a list of topics that I think you might need in order to become a Senior in the Machine Learning Infrastructure or Machine Learning Systems area. Because Machine Learning Infrastructure is a part of a Machine Learning System, some topics might overlap but they are all crucial for both Machine Learning Infrastructure and Machine Learning Systems.

  • Machine learning
  • Software architecture
  • Software testing
  • Cloud architecture
  • DevOps
  • MLOps
  • Distributed system design
  • Machine learning system design
  • Distributed computing

Please take note that some of the topics above can be grouped into one, but I intend to separate them into multiple lines to highlight their importance. In the future post, I will share with you the resources that I have been learning for years for all the above topics.

During the learning journey, remember that no one can learn those topics once and master them one by one in months. It should take years or even decades. Most of the time, you work on problems that belong to a small subset of the topics. At the end of the day, you at least may aggregate things to build a small system, and you move forward from there. Eventually, you will know how the dots are connected.