Matthew D. Hancher

Work email: mdh@google.com
Personal email: mdh@maximumentropy.org
Mobile: 415-341-7628 (emergencies only, please)
My Resume (PDF, out of date)


Since 2009 I've been a senior software engineer at Google, where I was one of the founding engineers of the Earth Engine project within Google’s Geo division. These days I mostly work on large-scale geospatial data processing, especially satellite image processing.

Prior to joining Google I worked in the Intelligent Systems Division at the NASA Ames Research Center. There I was the lead developer of the NASA Vision Workbench, an open-source image processing library in C++, and I lead the Planetary Content Team, working with partners in the private sector to make NASA’s planetary data more accessible and useful to the world. Previously at NASA I developed prototype modular robotic systems, robot control and simulation software, autonomous aircraft control algorithms, and FPGA radiation-hardening software, among other things.

I completed my Bachelors and Masters degrees in Electrical Engineering and Computer Science at MIT, where I was a researcher at the MIT Media Lab. While I was there my primary areas of focus were distributed embedded systems, robotics, and control theory. The highlight of my Masters work was developing the motor control system for Leonardo, a 67-degree-of-freedom expressive upper-body humanoid robot. While at MIT I competed in many robotics competitions, including first-place victories in the AUVSI’s autonomous submarine competitions—my first experience with being Slashdotted—and I developed lots of robot control hardware. I tought classes for, and served as president of, the MIT Robotics and Electronics Cooperative for a while. During my undergraduate years I lived at pika an experimental coop where I got to learn about many disciplines of engineering in the comfort of my own home.

Looking way back, I grew up in Minneapolis, where I got an early start when my father bought our first computer (an IBM PCjr) when I was five. It had a built-in BASIC interpreter, and we had a Logo interpreter as well, so I grew up learning to program as I was learning to read. Minnesota was the unlikely home of Gopher, the predecessor to the Web, so I grew up around network technology too. When we couldn’t afford a real compiler (back before GCC) I tought myself assembly using debug.exe, and I was maintaining my first Linux box a couple of years after the first version was released, back when you had to install it off of a stack of floppies. Later I effectively ran much of my high school’s computer systems, and in my last months I helped captain the Minnesota State Math Team to national victory in the 1997 ARML competition.