Not so long ago, Andrej Karpathy famously tweeted: “Gradient descent can write code better than you. I’m sorry.” What he was trying to say is that neural networks, which use Gradient descent optimization technique, will soon be able not just to write code, but to write code better than us – software developers. This is how the story of “Software 2.0” paradigm begins. Basically, everything that we have been doing up until now can be considered “Software 1.0”. We explicitly write code to achieve some goal. In “Software 2.0”, we feed data to the algorithm and it does it on its own. Of course, we are not there yet, but….

I can remember that exact spark of jealousy and flush of FOMO that got me into the field of deep learning. It happened while I was first watching the video that combines Space Odyssey and Picasso’s painting style. Kubrick’s masterpiece mashed together with cubism. Brilliant! Amazing! Creative! That is what I wanted to do!

As it turned out, Deep Learning was not just another language or programming principle. I had to really buckle up. During this process I took notes, writing down my struggles. That is how Deep Learning for Programmers book was created. In this book, I’ve tried to explain the most important topics for deep learning and data science in general, using a software development perspective. Some of the concepts are implemented using the Object-Oriented approach just so the people with such knowledge can have a deeper understanding of the mentioned concepts.

If you are a software developer and you want to learn deep learning, well this is the right book for you!