Why multiple monitors?
It’s a matter of productivity and attention.
If a programmer uses one monitor, the programmer will have to switch between IDE, browser (for debugging or search for information), documentation, communication programs (such as Skype, Slack), email programs, etc. Not to mention media player programs. Or some advanced programmers use tiling window manager, such as i3, xmonad or awesome. Unfortunately, those programs are not easy to use, and may even reduce your productivity if you can’t adapt to them. I tried, and I know. So it’s really painful to code with only one monitor.
I don’t say it’s impossible, but certainly painful. Try to imagine you have 10 windows, switch between windows to find the right window you’re looking for. Take you few seconds to do that, right? Now, programmers are creatures of focus and single-minded. We tend to focus into one activity, coding, if somehow we switch to the wrong windows/tabs, our train of thought is broken, and that means troubles.
There is also a well-written article on ninlabs research about the interuption of a programmer: “A programmer takes between 10-15 minutes to start editing code after resuming work from an interruption.” and “A programmer is likely to get just one uninterrupted 2-hour session in a day“.
So most programmers prefer at least 2 monitors: the main monitor will be for coding, while the other monitor will be used for other purposed. This setup may not maximize one programmer’s productivity, but it will certainly improve productivity. In software development, more productivity means less time spent on one task, and time is money.
There’s also a study states the same statement:
Folks who use a single 24″ display are 52% quicker at tasks like editing documents and tossing numbers between spreadsheets than those who use a single 18″ display. Having two monitors instead of one helps, too, although not quite as much: the speed increase from switching to dual 20″ displays from a single 18″ monitor is 44%
44% is pretty good for me, do you think so?
How many monitors should a programmer have to be more productive?
So with the question above asked, I dug around the internet, and not so surprisingly, I found the answer: ideally at least 2 monitors.
- Within the answers on the question Ideally, on average, how many screens would programmers have when programming? on Quora, I find that almost everyone agrees on that they prefer to use at least 2 monitors.
- Even CodingHorror agrees that “more is more“.
- A post on reddit /r/Python also agrees that at least 2 monitors.
- Almost everyone on Software Engineering StackExchange agrees and prefers to work with at least 2 monitors.
Okay, so we should have at least 2 monitors. How about the maximum number of monitors we should have? Maybe 4, 5, or 6? That depends on characteristics of your works and your preferences. But there are few things you should concern before purchasing more monitors:
- Can you utilize all your monitors?
- The more monitors, the larger the distance your mouse have to travel to go through monitors, are you willing to do that?
- Are your computer powerful enough to handle all monitors? Do you have enough video output jacks for all those monitors?
- Do you have enough space or equipment to hang all those monitors?
Personally, I’m using 3 monitors at work, and 2 monitors at home.
It’s needless to say, a programmer should ideally have at least 2 monitors to boost productivity.
It is better to have multiple monitors or one big monitor as a programmer?
While I was writing this article and asking around my friend, one of my friend said: “Hey, why not one big ass monitor? I’m using one 27″ iMac and I’m happy with it”. So it strikes me with a question: “He got a point. Why not a big ass monitor?”. So I stick around to see how he works with one monitor. Surprisingly, with one monitor and proper setup of windows stack, you can work comfortably. But one of the biggest cons of using one monitor is you will have to stack your windows, or using a window tiling manager (which I mentioned in the beginning of this article).
While look at this problem from another angle, using multiple monitors have cons, too. A setup of multiple horizontal monitors will probably have angles between each monitors, while transitioning from one monitor to another, you’ll face another angle from your view point, I find that some people don’t prefer that. To get the consistent angle from your eyes to the monitors, maybe a curved monitor is the answer, unfortunately, I haven’t had the chance to test one.
Why do so many programmers have a vertical monitor?
One thing strikes me next is why not use “vertical monitor” or “portrait monitor” (portrait mode monitor). For anyone haven’t heard of the term, this is what portrait mode monitor looks like:
You may have notice not everything on computer are made for horizontal mode monitor: documentations, webpages, code (most coding standards limit 80 characters on one line), etc.
Let’s take a close look:
How about code? I have some example for you:
It’s really hard to find the perfect setup for you, and I don’t think I’m in any position to do that. It all comes down to personally preferences. What you should do is to think about what you needs, think about what’s best for in your case, then try to setup your perfect monitors setup.