Machine Learning (ML) has some hefty gravitational force in the Software development world at the moment. But what exactly is it? In this post Ill take a top-down approach attempting to make it crystal clear, what it is, and what it can be used for in the real world. Machine Learning is a branch of Artificial Intelligence. Fundamentally it is Software that works like our brain, learning from information (data), then applying it to make smart decisions. Machine Learning algorithms can improve software (a robot) and its ability to solve problems through gaining experience . Somewhat like the human memory. Whether you know it, or not, youre probably already using applications that leverage Machine Learning algorithms.