The Workspace of a Modern Programmer

Ten years from now software developers will commute to work only if they’re invited to a corporate party or they have to work for an old fashioned client. Software professionals (not the average 9-to-5 workers) will have a freedom to equip home office to their taste. In our company we already work in this mode trying to minimize/eliminate the commute time as much as possible, and I’d like to share with your the home office setups from three concrete people of our company, circa April 2013.

But first I’ll touch on the monitor connectivity solutions that might be useful for some of you. Computer professionals should be having computers with more than one monitor. Hooking up the monitor number two is easy. Your laptop has this video output (VGA, mini DVI, etc.) that presenters use while delivering their powerpoints via projectors.

Every time I was working on a project for a Wall Street firm I got envy passing by these traders sitting in front of four monitors. So I decided to switch to the multi-screen mode in my home office too. I’m using a single MacBook Pro for everything I do (I do only a light programming these days). I’m not one of these geeks having a basement with a bunch of Linux servers buried under a pile of wires, connectors, and adapters. My MacBook Pro has CPU with 4 cores, lots of memory, and a large hard disk. It’s a two-year old machine, but so far Apple didn’t give me enough reason to give it as a gift to my wife and buy a new one for myself.

Now I have in my home office an 24″ Apple’s monitor plugged into my notebook, and I’m using a very inexpensive solution that allowed me to hook up yet another 22″ monitor that was collecting dust in my basement. This is how my desk looks today (click to enlarge).


That little thingy to the left of my MacBook is a $39 Sabrent’s USB adapter with DisplayLink chip. It simply connects yet another monitor via the USB board (go to their Web site and update your visual driver). That’s all. It works. With this solution you may experience some flashes during the video plays on that monitor, but my colleague told me that they are working on the hardware acceleration for their MAC driver and Windows users shouldn’t experience this issue.

My setup is a relatively inexpensive solution, but I’m planning to upgrade my set up to be more inline with what’s right for working more productively. Being able to have more quality monitor real estate is important. The word quality is the key here. you can live with less CPU cycles, but poor quality monitor affects your eyes. So let’s not be cheap and earn some cash for a high-resolution 27″ monitor(s).

Let me show you a setup of my colleague at Farata Systems. He’s a team lead and heavy-hands-on developer. This is what he built in his home office.

Is this nice or what? He’s connecting two Apple displays via the thunderbolt interface, and a Dell monitor via another inexpensive USB adapter based on the same DisplayLink chip. A 13″ notebook MacBookPro has enough juice to bring life to three screens. It’s a very neat and professional setup, and can serve as an exemplary desktop of a serious hands-on software developer.

Finally, I’ll show you a couple of more photos that were taken today in the home office of our top-notch software pro, my business partner Anatole. Don’t try to repeat this at home cause even if you will be able to replicate all this power, you might not know what to do with it. Luckily, Anatole knows, or so he says🙂.


He likes MacBook Pro as a good solution if he’s going on vacation and needs to have a computer that fits in a briefcase. Anatole runs 20+ virtual machines on that box that you see under the table (2 CPUs, 8 cores, 32MB, 20TB raid storage). Having multiple monitors allows him to monitor most of the VMs without the need to use the mouse.

There is a drawback in such multi-monitor-multi-os setup though. When I call Anatole on Skype, there is a latency between the moment when he’s getting the call and finds the right instance of Skype to use. I forgot to tell you that the above photo reflects just the right side of Anatole’s home office. The left side is more compact, cause it’s about mobile development, so these screens are smaller by definition. If you are not sure what’s that thing between two iPads, it’s a 3D printer with the roll of plastic for printing 3d constructions.


Once in a while I find myself in a corporate environment, where managers frown at developers who want to work from home complaining that they don’t have working environment as good as a typical cubicle where the employee could stay focused on work and be productive.

One manager told me that he hates when during the conference call a person dials in from home and the dog is barking in the back. Well, when Anatole will be dialing a meeting from his home office, you might be hearing the sound of Atlantic ocean. If this bothers you, hire someone who fits nicely in the cube.

6 thoughts on “The Workspace of a Modern Programmer

  1. I have different fillings about Antoly’s home office. On the one hand is the worst office I’ve ever seen, but on the other hand view from the window is gorgeous…

  2. Yakov, one very important part seems to be missing, unless of course you stand all the time while you work. A chair? I would expect to see a Herman Miller’s Embody, or at least an Aeron. Am I right?

    1. I have Embody, its now in the closet. Sometimes use ball (in one of the pictures), sometimes 99$ short armchair with good armrests. Most comfortable chairs with most support are the worst for your spine – it has to work to remain functional. Chin bar is strongly suggested instead.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s