If you understand how machine learning works and have watched a handful of machine learning teams fail, then you can see that the author makes a good case. IMO machine learning is an excellent tool for _investigation_, but should never be used to make important decisions. Patterns that are learned through machine learning should be first understood and then used to manually tune algorithms. That makes them testable. It's too easy for machine learning to make the right decisions for the wrong reasons (or the right reasons in a previous context). Later, when a system is completely dependent on machine learning it will eventually start making bad decisions due to new variables that it hasn't had enough training on. Remember, machine learning depends on good training data, but that training only generates good algorithms for a given set of inputs. If you add new inputs or the real world changes without having corresponding data inputs, then decisions that would be obvious to a human would not be made by a machine learned algorithm because it hasn't been trained with that information.