Data is the new oil. And Machine Learning is the fire. Whoever controls these two will control the world.

No, the above is not some pompous phrase picked up from a dystopian novel.

It’s the reality.

The new world order is all about collecting vast amounts of relevant data and processing it into actionable insights — something the human race hasn’t been able to do in history. It’s the kind of technology that allows a country to get ahead of the others, and eventually, rule the world. As a result, it’s being taken very, very seriously by the progressive nations of the world.

A lucrative career choice

International intrigue aside, data science and machine learning is a hot new field with an incredible opportunity. Demand is off the charts (to put it mildly), and there aren’t enough data scientists around. Not even mediocre ones.

It’s like we’ve suddenly discovered many new inhabitable planets and there aren’t enough people to move them to. I could go on and on and sound like a broken record, but I think this infographic does the job much better:


So we see that salaries start at $50,000+, and for managers, can shoot well past $250,000.

And not just that, by 2020 the average person on this planet will be generating 1.7 MB of data per second. That’s 3,500+ TB of data over the entire lifetime — more data than we know how to handle as of now, let alone use for analysis. To say that the future is bright would be doing a disservice to this magnificent new pasture.

Are data science and machine learning hard?

Good question!

From my experience, the answer is both “yes” and “no.”

Artificial intelligence (and by extension, machine learning), is the hardest thing to do if you’re inclined to get into research and push the envelope. For such work, even a Ph.D. each in computer science and mathematics is not enough. But then, the average person has neither the ambition not the time for such a pursuit.

On the other end is what I’d call Applied Data Science and Machine Learning.

That is, you take existing tools, techniques, and algorithms, and apply them to solve some real-world problem. This part requires dedication, perception and creative thinking (and knowledge of some simple math concepts, which are quickly learned), but regarding true “technical” knowledge, is much more lenient than what the job of a software engineer calls.

In other words, it’s not a cakewalk, but going by the reward to effort ratio, is one of the best investments out there.

Now that you’ve hardened your resolve to become a data scientist and machine learning engineer let’s start exploring the best options out there.

Machine Learning Crash Course (Google)

Not many people are aware, but Google has an extensive, highly practical and free course on Machine Learning. According to the company, it’s part of their commitment to advancing AI/ML technologies and keeping the knowledge in the open.

The best thing about this course is that there are no prerequisites, but do gear up to spend extra time exploring the statistics concepts on your own.

I mean, it’s not needed, but if you have zero backgrounds in advanced statistics, the explanations in this course may not be enough. Another catch is that this course introduces Machine Learning via TensorFlow, which is an ML implementation developed by Google. So, in a way, Google aims to promote its APIs for Machine Learning, but considering the value offered by this course, I don’t see how that should be a stumbling block.

If anything, TensorFlow is one of the easy ways to get into ML and enjoys rabid popularity (for a comparison of AI frameworks, see this).

CS109 Data Science (Harvard University)

The name Harvard inspires awe, and so does this course.

First things first: it’s not a let’s-get-dirty-quick course where you tiptoe around Machine Learning by writing a snippet here or a script here. This course is a severe fire baptism that demands hard work and a significant investment of time.

The course comes with free videos, code (hosted on GitHub), and solutions to lab exercises, so practically, you aren’t restrained by anything if you want to take it.

Ideal audience?

You…I am not kidding.

I’d say working professionals with decent math education, even though they might not be into math anymore (the habits of inference and proof are the most necessary thing). But once again, please be warned: you might think you’re good, but this course will feel like having hardened nails for breakfast — the practice problems are challenging enough to make you weep, but then, that might exactly be the thing you’re looking for!

Machine Learning (Andrew Ng)

Walk into a bar filled with data scientists and ask who Andrew Ng is, and you’ll get a beating of your life.

In the circles of data science and machine learning, Andrew Ng has achieved a godlike status, thanks to his exceptional course on Coursera — Machine Learning.

And if you doubt Andrew Ng’s credentials, I’ll let this speak for itself:

It’s a paid course, in that it’s part of Coursera’s pricing plan, but financial commitment and determination are not the only prerequisites. This is a long course as Andrew dives deep into the math behind all things ML and dissects popular algorithms. But thankfully, it’s a complete course, and you’ll be guided step by step into the darkest depths and brought back.

Highly recommended, mainly because flaunting the completion certificate of this course has become a thing today!

Applied Data Science with Python

Specializations on Coursera consist of a series of courses that aim to take you from zero to proficient in a particular concept. If you’re looking for a complete, serious yet friendly course on Data Science and Machine Learning with Python, I can’t recommend this specialization enough.

At the end of the course, you earn a certificate.

Practical Deep Learning For Coders

This course is a blessing and is my most favorite recommendation on this list if you’re a coder.

I’d say that again: if you’re a coder.

That’s because this course spends no time teaching you the basics of programming. The course description says so in very clear terms (emphasis are original):

We assume that everyone taking this course has at least one year of coding experience. The course uses python as the teaching language, so if you don’t already know python then we assume that you’ll spend the time to learn—for an experienced coder you should find that python is quite an easy language to learn.

So if you already know Python (if not learn here), or can get comfortable quickly, this is the perfect course for the pragmatists who want to build real, usable systems without worrying too much about the theoretical underpinnings of the algorithms.

I might even say it’s for the impatient tinkers (like me!) who hate ceremony and monotony.

And oh, did I mention it’s 100% free and has a great community?!



This was one hard list to compile. Not because there were not enough good sources, but because there were way too many!

Machine Learning is a domain that has literally exploded and is solving hard problems really elegantly, and so there are hundreds of courses online, free and paid, most of them being really, really good. But this can also be a source of confusion, which is why I’ve tried to boil it down to five for different types of learners according to their experience level.

Hope it helped!