May 24, 2017


I love programming, and have made a nice career of it at Google, Microsoft, and startups. But when I got old enough to contemplate what I want to do with the rest of my time on earth, I came to this realization:

Computers are designed to be programmed by humans.
But we create computers that program humans instead.

To push against this trend, I turned away from work on the social algorithm of search, and instead began creating tools and lessons to make programming accessible to children.

While child-oriented programming may seem a juvenile escape from the rigors of a competitive business, I think making programming more easily learnable is one of the most important problems facing society today. To avoid feeding a decline of the human condition where people become replaceable by computers, we must make our technology more comprehensible and programmable. Our industry needs to turn its focus away from algorithms that manipulate human behavior, and towards tools that amplify imagination. This means not only changing our technology, but changing the way people know how to use it.

My easy-programming project was called Pencil Code. It was a short book that became a website, and it got going while I was sitting near Professor Hal Abelson at his desk at Google Boston, where he coordinated a similar project, App Inventor. Hal is the author of one of the seminal textbooks in computer science which set the tone for a generation of practitioners, and he continues to lead the charge on issues such as privacy and security and ethics in our field.

Over many discussions with Hal, I came to realize that changing society cannot be done only by making widgets: changing society means articulating the ideas that frame everybody's thinking.

Eventually, determined to make a difference, I retired from Google. I packed up my desk and walked across the street to MIT to pursue a PhD and begin a new career as an idea-maker - a researcher.

A First Semester Realization

At MIT, professor Rob Miller also works on creating programming tools that make programming easier to learn, and he took me under his wing as I set out on that path. My first year would not be spent doing much research - my one academic contribution was to write a review paper surveying the field. Instead my first year as a new student was spent on the array of TQE classes they require for you to broaden your view of the field.

So I sharpened my pencil and re-learned the skill of writing homework and exams. I took classes in security and vision to update my knowledge, but I was left by a feeling that the problem of opaque computing was fundamental to these fields also. Programmers seem intractably blind to security holes; and the remarkable power of deep neural networks seems inextricably linked to their incomprehensibility by humans. I am old enough to see how the field has changed: these problems did not exist when I began in computer science. My conclusion was horrifying.

Humanity is rapidly losing its ability to program its computers.

MIT is a remarkable cauldron for incubating such ideas and putting them to action, so my story will continue next time I have time to write.

Posted by David at May 24, 2017 06:04 AM
Post a comment

Remember personal info?