The Setup


What do people use to get stuff done?

Jeff Dean

Jeff Dean

Developer, researcher (Google)

Who are you, and what do you do?

I'm Jeff Dean, and I'm one of two Google Senior Fellows at Google. I do computer systems and artificial intelligence research and write software, and have worked on a variety of systems like Google's advertising systems, Google Search, Google Translate, MapReduce, Bigtable, Spanner, Protocol Buffers, Snappy (a.k.a. Zippy), LevelDB, and TensorFlow, among others.

At the moment, I lead the Google Brain project, Google's deep learning research team, where I work on systems for machine learning, especially deep learning, and help lead our efforts in machine learning research, as well as emerging applied research areas where machine learning is crucial, such as healthcare, robotics, perception, and natural language understanding, and our continued development of TensorFlow as a key platform for machine learning research and deployment of machine learning systems and features. You can find out more about our research by seeing our list of recent Brain team publications. You might also enjoy the Reddit r/MachineLearning AMA that our team did in August, 2016.

What hardware do you use?

At work, I mostly use an HP Z620 Workstation with an NVidia GPU card in it, running Linux, with a single 30" monitor. For portable uses and for giving talks, I rely primarily on a MacBook Air and sometimes on a Chromebook Pixel. I have a Nexus 5X Android phone, and also use a Nexus 9 tablet for surfing the web and reading ebooks and technical papers. I use a sit-stand adjustable desk and rely on on the nearby microkitchen's espresso machine quite heavily.

And what software?

For writing code, I use emacs and Google's internal distributed build system (a version of which was open sourced as Bazel) and our version control system, plus Google's internal code searching tools that allow me to quickly search over Google's whole code repository (similar to our once-available Google Code Search product, as described by Russ Cox).

Most of the code I write is in C++, although I've written fair amounts of code in Java, Python, Perl, Self, Cecil, x86 assembly, and Pascal over the years. For writing, commenting and collaborating on internal technical documents, I use Google Docs. For technical papers, I and my coauthors usually use LaTeX. For giving presentations, I almost exclusively use Google Slides. For handling email, I use GMail with lots of filters to automatically file and label message (I get about 1400 email messages per day, so I have to be quite efficient to deal with it all in a reasonable amount of time). I use the Chrome browser and do web searches using Google :).

What would be your dream setup?

I pretty much have it. Mostly I enjoy doing research and writing software to solve difficult problems with great colleagues, and where the results of our work are used by lots of people. A lighter laptop with a bigger screen would be great, though. A view of the ocean would also be nice.

Previously: / Next up: