Machine learning is not harder than software engineering , but it requires a different mindset. A software engineer writes rules for a computer to automate a task. A machine learning engineer feeds computer data and algorithms, and the computer creates the rules.