Machine learning is permeating every facet of our lives, from learning our preferences to self-driving cars, but what happens when you apply neural networks to code? How do you even view code as data? The key ideas are easy to summarize and fun to play with. This talk will provide an overview of fundamental concepts of machine learning, and then delve into how learning can be used to analyze and improve code. The talk will also provide pointers to available commercial and open source tools and discuss what’s been achieved so far (coding in English, context-aware code completion, automated Stack Overflow). The talk will close with speculation on where the field is going, and how machine learning won’t take our jobs, but hopefully will take over some of the repetitive work we don’t like doing.