Best Path for Developers to Get into Machine Learning (ML4Devs Newsletter, Issue 4)
Photo by Alice Dietrich on Unsplash: https://unsplash.com/photos/FwF_fKj5tBo

Best Path for Developers to Get into Machine Learning (ML4Devs Newsletter, Issue 4)

The most frequent question I get from developers is: what is the best way to get into Machine Learning?

A few years back, my response was:

  • Google for best resources and learn
  • Find problems at work and apply what you learn
  • Repeat

Though that response was honest and sincere, I realized soon that it was taken as a motherhood statement. So as a more concrete reply, I narrated my path in an article:?An Engineer’s Trek into Machine Learning, and I shared the link whenever someone asked.

I genuinely thought I have simplified it with that article but it was still not simple enough. The reason is fearful analysis paralysis:

  • Material available on the internet for learning ML is overwhelming.
  • Somehow it gives an impression that you must first master hard math, and that scares away people.

So, let me first say that I do NOT know what is the BEST way. but I know a reasonably good way. And starting on a reasonable good path is much better than looking for the best path.

If you are a developer, and you prefer learning by doing, here is a path that optimizes for speed in acquiring functioning knowledge. It first does a breadth-first scan of ML techniques and applies those to problems, and then explore deeper based on the problem at hand.

Step 1: Start with Kaggle micro-courses

Each of the Kaggle micro-course takes 3-5 hours. Start with these 5:

Move to Step 2, but return and do these 3 as you gain more experience:

Return to these when you feel the need to learn neural networks:

Step 2: Participate in Kaggle Competitions

Nope, I am not talking about those $$$ competitions. Checkout:

If you prefer a more structured approach, you can try:

By now you will have a good overview of techniques and some taste of applying them.

Step 3: Do an ML crash course or Bootcamp

The last two steps were designed to quickly get you up and running. Now is the time to scratch a bit more. Try?Google’s ML crash course, or any other course for practitioners (e.g.?Udemy DS/ML Bootcamp).

My advice: don’t do it passively. Apply it to a problem that you have at work or play. Maybe even try out $$$ Kaggle competitions.

Step 4: Andrew Ng's ML Course

Many people use?Andrew Ng’s ML course?as the starting point. It has math but not too much. I highly recommend it. It will give you a peek into what is happening behind the Scikit Learn APIs that you have been using so often. The course uses Matlab, but some people have implemented the?ML course assignments in Python?too.

Step 5: Neural Networks

Neural Networks are used for processing images, natural languages, and speech audios. After Kaggle DL and Vision micro-courses mentioned in Step1, you can try?TensorFlow?or?PyTorch?tutorials.

Then What?

These 5 steps will give you a pretty good practitioner’s know-how to work on various ML problems. And that is what I recommend: now apply what you have learned.

There might come a time when you will feel that you don’t know enough. But by then you would know the field and yourself well enough to figure out your next step. Maybe dive into math with?An Introduction to Statistical Learning, or advance courses at?DeepLearning.ai, or?NLP course from HuggingFace.

Finally, on Jupyter Notebooks

While you do these courses and practice, you will be using Notebooks. But as software developers, you will also see the challenges in productionizing the notebooks. This is a continuing debate:

My opinion: tools are designed for a purpose, and we should develop judgement for picking the best tool for the task at hand. I neither love nor hate notebooks, I just use them when convenient.

I hope you enjoyed this issue. Do let me know what path you took from developers to data science.

ML4Devs is a biweekly newsletter for software developers. The aim is to curate resources for practitioners to design, develop, deploy, and maintain ML applications at scale to drive measurable positive business impact. Each issue discusses a topic from a developer’s viewpoint.

Enjoyed this? Originally published in?ML4Devs.com. Don't miss the next issue. Join 1.2K+ subscribers and?get it in your email:

No alt text provided for this image
Ramani Balasubramanian

Cloud SME/Architect Booz Allen Hamilton

2 年

How do I learn ML although I have not programmed for a longtime

回复
Vipul Kumar Singh

InsureTech and HealthTech

2 年

Satish Chandra Gupta Very well written!! A crisp guide for a developer to jump into ML

要查看或添加评论,请登录

Satish Chandra Gupta的更多文章

社区洞察

其他会员也浏览了