We sat down with our VP of Engineering, Cory Hicks, to talk with him about a response he gave on Quora about “What’s the Easiest Way to Learn Machine Learning?”. While other responses focused solely on just the Machine Learning aspects (including watching online courses, taking math classes, and more), Cory provided a healthier take on the subject that makes a developer far more valuable to himself, his organization, and the industry as a whole. Read on to learn not simply and “Easy Way” – but a more complete way to approach Machine Learning.


Shannon Johlic (SJ): I noticed that your answer came in about a year after this question was asked. What prompted you to add your $0.02?

Cory Hicks (CH): Basically, my background in working for companies that create personalization products at scale led me to take a different approach for my recommendation. I wanted to give someone the advice that they would need to become a key member of the types of teams I run. That requires you to not only be a star ML engineer but also a star engineer in general.


SJ: Why do you draw the distinction between the two? What’s the value for a budding engineer?

CH: Well, there are lots of folks in the market that are great engineers and there are also lots of folks who are great at machine learning, but there is a severe shortage of great Machine Learning Engineers.

Engineers who are great in both fields are basically unicorns and are at least 10x as valuable as someone who is great in just one of the fields. These are the engineers who don’t just work on algorithms or systems all day but instead launch personalization products in the market. These are the types of engineers who are behind the personalization teams at companies such as Amazon, Netflix, LinkedIn and many successful personalization startups


SJ: So, what do you do if you want to become one of these unicorns who are Machine Learning Engineers? Where does one start?

CH: In no particular order, here is my advice:

(1) Learn how to be a great engineer.  Learn multiple languages and get really good at them. Don’t just focus on a single language such as Python as many Machine Learning Engineers do. Instead, broaden your scope to include languages like Java, C++, Scala and JavaScript. This will allow you to join a team and and to hit the ground running with any company’s systems you work with.

(2) Learn how to build highly-scaled distributed systems.  Build systems that have a 50ms SLA and take hundreds or thousands of transactions per second. Ideally, systems that are critical for a business to run. Real-time event ingestion and recommendations systems are ideal.

(3) Build your machine learning fundamentals by studying some material on the subject:

(4) Play with some big datasets that are publicly available. Find a dataset that you find personally interesting or that you have theories about and see if you are correct!

(5) Take a role with a product-focused machine learning or personalization team.  The team you search for should be filled with engineers whom you think you can both teach and learn from. This will make you a much better machine-learning engineer. Also, by working on a product team you will quickly learn how the science and theory of machine learning differ from the practice. In particular, how customer behavior will teach you something new every single day.


Key take-aways.

  1. Look beyond JUST being good at Machine Learning and become a Machine Learning Engineer. (They are in short supply)
  2. Learn the Fundamentals for a solid foundation and apply, apply, apply your skills.
  3. Work somewhere that has a strong focus on machine learning and personalization.


That concludes the interview portion. I have often been reminded through Cory’s advice that he is not simply a theorist – he is a practitioner. He’s “been there, done that” in the world of machine learning, and under his guidance, Boomtrain has developed industry leading technology with some of the smartest people I have met in the Bay Area. With evolving development/engineering roles comes the need for a new breed of talent that brings a more holistic approach to the table.

Are you already knee deep in Machine Learning? Are you an Engineering superstar? Join the Boomtrain team where your actions directly impact our daily success! Learn more about our open positions here.

Share This