The Setup has always been one of my favorite sites on the internet. I love seeing how other people - in vastly different careers - get their work done. Though I don't craft Chinese soliders out of cardboard or anything nearly that fascinating, I thought it would be a fun exercise to put together my own version.
Who are you, and what do you do?
I'm Josh Montague, and I'm a data scientist at Twitter. As you might expect, there are many people at Twitter with that title and many do quite different work. My work is focused on helping customers of Twitter's data products knock their own products out of the park. In real-talk, that means I spend most of my time writing code and working closely with partners to conceptualize and prototype their products.
What hardware do you use?
I use (and adore) my Leuchterm notebook (8", with dots) for taking notes during phone calls, meetings, and any other times when typing on a laptop feels out of place or unnecessary. It's a fantastic thought-collector for all manner of doodles, brainstorms, projects, and data visualizations. In that notebook (and everywhere else, really), I'll write with whatever is around, but my preference is for ultra fine gel ballpoints. I always have to order them on Amazon because the fat-tipped, 0.7" version seems to have some kind of tyrannical reign over brick and mortar stores. Yes, I'm the guy who orders his pens on the internet.
In our open office space, I use a pair of Sennheiser over-ear headphones when I need total focus; they have amazing passive noise cancellation (read: they're thick and insulated). While they are wonderful for listening to music, I can't concentrate on work tasks while listening to music, so I pretty much always have a soundrown.com tab open and playing. My recommended recipe:
0.2*(coffee shop) + 0.5*(waves) + 0.5*(rain) + 1.0*(fire) + 0.1*(white noise) (coefficients relative to maximum setting of 1.0, adjust overall volume to taste)
The Senns are my first foray into >$20 headphones, and so far they've been great; if you need to quickly dispose of a bunch of money, my teammate has these insane Bose in-ear things and I gasped outloud when I turned on the noise-cancellation. At least, I think I did.
I carry an iPhone 5 everywhere for all the uses in the world (+ multi-factor auth all the things). The battery is absolutely terrible, so I always keep a portable battery in my bag. That might actually be one of the most worthwhile $25 I've ever spent.
My work machine is an i7, 16-GB, 15" MacBook Pro, which is usually connected to an external display of some sort (either an older Apple Cinema Display or a Dell). I tend to do my in-focus work on the biggest display available, and use the laptop display for other things that require less frequent attention (Twitter, taking notes, etc). At my seated desk, I bring the laptop display closer to eye-level with a pretty simple stand that makes a big difference in the comfort of my neck. Whether seated or roaming around to the assorted standing desks in the office, I usually have a Magic Mouse and a plain old USB keyboard. The MBP can be a little too heavy to lug around all the time (and a little too big for the bus commute, where I'm typically writing these posts) but the screen real estate and horsepower make it worth the effort. In my 8-year-old Timbuk2 messenger bag, the MBP lives in a Côte&Ciel sleeve in an attempt to minimize bumps and spilled coffee.
And what software?
This is where I spent most of my time. I try out lots of tools to make my work (and life) easier. For me, "easier" is always a balance between "more tools that each do one thing well" and "fewer tools that each do all sorts of things." It's a constant work in progress.
I'm still using OS X 10.9 (Mavericks). When it comes to my work system, I'm rarely an early adopter because new OS updates always break environments. Always. I like to keep one project per "Desktop" in OSX, so I usually have seven or eight Desktops running at any one time.
I probably spend 50% of my time in OS X's Terminal. Most of that time is spent in vim. I write most things there: code (mostly Python and bash), documents (Markdown, text, and TeX), etc. The solarized (dark) theme gives nice syntax highlighting contrast, and also keeps my eyes from getting tired (this will be a recurring theme). I keep meaning to try out iTerm but haven't gotten around to it. I spend a lot of time working on remote Linux servers, so I tend to keep it simple (and similar) on my own machine. When I'm feeling fancy, I'll fire up MacVim for some bonus mouse-clicking magic.
I'd guess the next 45% of my time is spent in Chrome. Among all the articles I've opened to read (but will inevitably drop into the Pocket black hole), you'll pretty much always find some combination of tabs open that include: TweetDeck, all Google Apps (mail, cal, drive, and a handful of docs), StackOverflow, the Python docs, GitHub, the HipChat emoticon reference (chompy), JIRA, soundrown, and often a wikipedia page or two about whatever concept or techinique I'm trying to grok at the moment.
I also use a bunch of Extensions because efficiency makes me incredibly happy: BlueJeans (video conferencing), Evernote Web Clipper (quickly stash anything you come across online), feedly (rss), Google Cast (for Chromecast), JSONView & XML Tree (prettify API responses), LastPass (password manager), Markdown Reader (live rendering of local .md files - usually how I write and review these posts), Momentum (eye candy), Pocket (save-for-later), Smile Always (get Amazon to donate to charity of your choice every time you buy things - thanks to @hspter for pointing this out!), and Tab-Snap (store giant tab list as restorable text file). The other Chrome "hack" that I use all the time is to use
Bookmarks | Bookmark All Tabs... to create a new bookmark folder with all the relevant pages for each project on which I'm working. This is especially helpful when there are (8 desktops) x (10 tabs) open and Chrome decides to crash.
The last 5% of my time is spent switching between a host of other apps: Evernote (daily note-taking and long-term reference storage), HipChat (team/org communication), Cyberduck (FTP/S3 browser), Gimp (for my amateur image creation needs), Keynote (for important presentations, GDocs for less important ones), OmniGraphSketcher/GraphSketcher (super handy for quick copypasta plotting of data from the command line), and Toggl (time tracking; incredibly enlightening if you've never tried it). Not too long ago, I would have also added RStudio (the amazing R IDE), but I've transitioned 99% of my R work into Python. I think this is mostly a function of how I learned to use R in the first place - a topic for another day.
There are a handful of other apps that are hugely valuable and always running in the background, too: TextExpander (saves time and typing all. over. the place.), Dropbox (for both personal syncing - Camera Uploads! - and quick file sharing), UTC Bar (our data at work lives in UTC and timezones are terrible), f.lux (adjusts your display's color temperature - helps reduce eye strain when working at night), Time Out (schedule periodic micro- and macro-breaks to reduce eye strain, and force walking breaks throughout the day; I use 30-second breaks every 20 minutes and 5-minute breaks every hour).
What would be your dream setup?
I think I'm pretty close to it, actually. Some small changes would include: a not-yet-possible 13" MacBook Air with the specs of the burly 15" Retina MBP, a pair of those magical Bose headphones I mentioned earlier, a couple of 27" displays, and a beautiful, automatic sit-to-stand desk would be a nice start.
Finally, I'll also note that at home I have an incredible 2007 MacBook (the white plastic one!) that's just barely hanging on. Don't tell Jony Ive or he'll probably come to my house and punch it. When it bites the dust, I hope to save for a 13" MacBook Air for personal projects.Go Top