A few years ago, when I was a junior software engineer, I worked on a problem with one of our algorithm developers. I thought that I found the breaking point: there was an algorithm that did something wrong. I asked the developer why the algorithm did what it did, and the answer I got was:
" I Don't Know"
What do you mean "You don't know"? You wrote this, right? Let me rephrase: There's a machine, that you created, that does something that you can't explain?
Of course sometimes in software development, we encounter things that are hard to explain. But in this case, there was no option to debug it: going step by step and slowly make the picture much clearer. In this case, there was a line of code, that returned some value, and it was impossible (or very hard) to know why.
It stunned me. The ability to create something that you can't explain fascinated me. On that day I decided that I want to work on things that it will be hard for me to explain.
Today, I know that Machine Learning (or Deep Learning, AI, Data Science and Computer Science in general) is the best field be in. There are many reasons for this, let me focus on these six:
As I mentioned above, working on systems that are far from straightforward, that are able to perform really extraordinary tasks, is super exciting. Think about "text" for instance. Today we have systems/agents that are able to understand what we are saying or writing. Ok, not really understand, but it's able to represent our language into something that can help us in many tasks like translation, question answering, classification (e.g. spam detection) and much more! Many of us take for granted what machines are doing for us. Not only in "text" of course. Machines solve a lot of our problems/tasks in many other fields (more on that later). Being in the middle of this revolution brings us the most interesting challenges.
There's no limit to what machines can do today. It's very hard to find a field that is not benefited by machine learning (and if there's one, it makes it much more interesting). Today, fields like Natural Langauge, Image, Medical Data, Advertising, Human Resources use Machine Learning more and more. Machines play games, hire people, trade cryptocurrency, drive cars, help in diagnosing diseases, suggest applications on your phone, show you ads on Facebook, help you arrive at your destination by car and much much more. By being in the Machine Learning field, you can work almost in any other area.
It's not Magic
Technology and magic may seem similar to some, but they have one crucial difference. Both when you see great technology and cool magic trick, it amazes you at first. Then, you are very curious to know the under-the-hood. In most cases, when you understand how the magic trick works, you're disappointed with how foolish/straightforward it is. With technology, however, when you better understand how it works, it amazes you even more. In Machine Learning the solutions are brilliant and creative, which brings me to my next point:
It Involves Infinite Creativity
It is true to many fields, especially in Mathematics and Computer Science. In Machine Learning, there are endless ways to solve problems and infinite ideas to try and research. You have nothing at first. You start with a blank paper/file. You begin to build your system/agent/model from scratch. You can use one of many methods that were tried before, you can modify and improve them, make them more suitable for your task or you can work on something brand new. The solution is not trivial and many times, to reach the best results we have to be very creative.
Whether or not you're actively contributing to science by doing active research and publishing your work, when you deal with machine learning you have to be up to date with recent advances. And there's A LOT. Conferences like ICML and NeurIPS and papers from Google, Facebook, and other research labs bring a lot of scientific progress. This field of science is very "alive". There are tons of ways to stay up to date with the latest papers. What makes it "science" is the fact that every day we discover something new about our world. New methods that work for important domains, new techniques that improve our algorithms. It's real progress, and it changes our lives.
It's Open Sourced
As in software development, most of your resources (except computational power) is free! Tools, frameworks, IDEs and many more. Think about sci-kit learn, tensorflow, keras, jupyter noteook and others. All these free tools make our lives much easier and let us concentrate on the really important and interesting parts. But not only tools. All the knowledge is out there for free as well. Today you gain all your relevant resources for free using different MOOCs, free books, and millions of blog posts and tutorials. Just google some topic you what to learn, and you'll get an endless number of resources
I'll sum up by saying that Machine Learning is probably not for everyone. I'm sure there are others who enjoy other things, but for me and many more, Machine Learning is the Best field in the world.