LOLWUT. Random.
Yes. Kinda.
So here's the thing; I recently watched a reaction video by ThePrimeTime for a clip about the "Best Programming Setup" from the Lex Fridman interview with John Carmack, and for some reason it sparked an urge to write about something.
The specific bit was here (from around 19:45 to 21:12), where John talked about making the move from 2 to 3 monitors, and Prime commented on being a 1 monitor person.
Erm... okay?
Stay with me.
I really liked his comment here about the argument for multiple monitors being about your ability to navigate your OS, because I agree, this is a very big part of it.
But it's not all of it.
As I've moved through different phases of my career, and focusing on different types of applications and types of development, I've found my monitor usage requirements changing.
Earlier in the clip when they talked about debuggers and logging, I think he hit the nail on the head when he said
I know we'll probably disagree on the debugger thing. Or really, I don't even think we disagree, we're just in different environments.
And there for me is the crux of all this. The single- vs multi-monitor debate. The Vim vs Emacs debate. The text editor vs IDE debate. The OOP vs FP debate.
If I am only ever remembered for one thing, let it be:
Get to the point old man...
In a minute!
So here's the thing, I started my professional career in QA Automation, and one screen was fine. The scope of what I worked on was small, and it was easy to keep in my head. Doing the Alt-Tab thing was easy, and not disruptive at all.
When I moved over to frontend development, I found having two monitors really helped. I could keep designs and specs open on the one monitor, while keeping my IDE open in the other. Having the additional context in my vision was super useful.
When I moved to backend dev, I found the use case similar. Being able to keep the IDE and Terminal connected to the server on one screen, while keeping the UI and specs open on the other meant I had all the context I needed right in front of me. The system was a micro-monolith (bunch of separate WARs packaged in a single EAR) in a single language (Java), so I could keep all the code in one IDE instance no problem, and debugging was still easy to do.
But when I moved to startup where we did "proper" microservices, including services in different languages (Scala, Python, Go), this became much harder to manage. In extreme cases I would need the source of two or three services open at once, along with a Confluence page or DrawIO diagram to understand the flow, with multiple windows open in iTerm all connected to different containers or servers... Suddenly I felt 2 wasn't enough. Hell, after using 3 (laptop plus two externals), I often found that wasn't even enough.
Just git gud, scrub
HOW!?! I never could figure out how just being better at navigating or using better window managers would solve this problem. I have too many windows, because I need the context. I'm not getting any younger, and my brain space is too full of random crap to keep the work stuff in there too.
Upgrading to a 1440p monitor made a huge difference for a while, since I could physically fit more onto the monitor, and allowed me to go back to 2 for a while, but I eventually just went back to 3 because of the complexity of the system we worked on.
Maybe that should be a different discussion... Should a system ever be this complex? Another time maybe.
Anyway. When my one monitor fell of desk and stopped working for some strange reason, and my other monitor developed a massive block of dead pixels completely unrelated to knocking it with a vacuum cleaner, I figured it's time to shift gears, and move to a new trend I've been seeing. Huge-ass single monitors.
Enter the ULTRA-WIIIIIIIIIIIIIIDE monitors.
3440 x 1440 ... Chef's Kiss.
Only, holy crap are these expensive. I have some friends and colleagues that swear by their Ultrawides, but when I started looking at my needs, I figured I needed 5120x1440 which got even bigger and more expensive, and I just noped out.
Until I saw a sale on the 43" Samsung QN90B 4K QLED TV, which got a whopping 9.0 score for use as PC Monitor over on RTINGS.com.
At that size and that resolution, that would be like having four 21.3" Full HD monitors in a 2x2 configuration with NO BEZELS AT ALL.
I was sold. And now after using it for 6 months, I can never go back to anything else.
Using a decent tool like Magnet, I now have full control over my setup. 3x1 portrait? Done. 2x2 landscape? Sure. Top full length + bottom left + bottom right? You got it. Center to just focus one thing? Hell yeah.
Conclusion and your thoughts
Okay, very long post for something I tagged #discuss. There is a question here, I swear. But first to summarise.
I am a single monitor developer. When some of my friends saw my office setup, I got literal eye rolls. But I don't care. They don't understand.
The fact is, I am now sold on large format displays of at least 4K resolution. Together with a window organiser like Magnet, I now have full control over my workflow, from simple to complex projects, and everything in between.
And I love it.
So let me know in the comments; what is your setup? How many screens do you use? How many do you need? Not always the same answer, those two π And why do you prefer the setup you have?
Curious to know. Thanks.
Top comments (33)
I mostly just use my 13β MacBook Air with no monitor these days, which is kind of crazy but works for me.
Same here (when I am not sitting/standing at my desk). I actually move around quite a bit during the day to create different surroundings ... which helps me look at problems from different perspectives. I've found changing your surroundings (and the genre of music you're listening to) also helps with the creative process when writing new software. Ha
Oh wow @ben, yeah, sounds crazy. I'd miss the screen real estate too much. I struggle when I just have to use the 14" by itself, although to be fair, it's not like I can't work that way, I just feel a lot more productive otherwise.
I love my ultrawide at home, but I was really surprised how productive I was recently when I was travelling with just a Macbook. I might do it more often!
Are you sure its not just laziness? :) I have been there.
I'm also a single monitor user. It helps me focus better. I use workspaces and window tiling/tabbing. And my screen is just 24''. But i often work from the 13'' screen on my laptop just fine.
I use exclusively Linux and i3 as the window manager. Took a bit to find the ideal config but now it's perfect :)
That was one of the issues I had, and I never quite figured it out. Before I moved to Mac I did most of my dev work on Linux, and I just found multi-monitor easier than getting i3 to work the way I wanted to...
Admittedly I haven't tried using Linux with the large display yet, it's only really been the Mac, I wonder how much different the experience will be. Something to try out I suppose.
Arch Linux with Xmonad to manage apps on one/multiple screens with all kinds of layouts with a single config file works great for me. That is stopping me from trying ultra-wide monitor. I really don't know if I would have all the keybindings just like I want them.
I also use a single Linux with i3 monitor and, honestly, it is perfect to me.
I've gone through phases through my career, too. I started with one screen, because that's all there was back in the late 80s. Then I thought I was so cool and productive when I had two and then three. At some point, when I started traveling more and programming on beaches and from hotels in foreign countries, I got used to using a laptop. Around that same time I realized that I can really only think on one problem at a time anyhow, so I really only need to see one thing at a time, as long as it's easy to choose what that thing is. So now I'm back to being a one screen programmer, 30 years later.
For fullstack dev I've settled into using three (15" Macbook Pro & two 24" monitor displays):
I've considered switching to laptop + an ultrawide, but I swipe between full-screen windows and Spaces a lot and I think it would be trickier to do so with just one big screen.
That's an interesting split @seandinan , kinda how I keep my things organised as well (for the bulk of my work at least). Using the 4K with Magnet I basically break the display down into 3 zones (left half, top right, bottom right), with IDE on the left (finding it super useful to have more vertical real estate), and then Browser or Terminal top right (depending on context) and Slack or second browser bottom left (again depending what I'm working on).
My concern I had when I looked at the ultrawide as an option is that it would still just effectively give me a left half and right half, so I'd still need to use the laptop screen to have enough windows open. Splitting the ultrawide into three zones felt like the windows would still be too cramped.
Iβm rejuvenated to read someone else out there is a single monitor guy. Iβm usually on my 16 or 15 inch MacBook Pro for work as an dev and systems admin for seperate entities. One screen has served me well while using magnet. Iβm usually simultaneously handling tickets, in cloud or VMs, watching logs, scripting, database / backend building, having design open while building front end, troubleshooting networks, the list goes on. Iβve yet to feel the pressure to use a 2nd monitor. Iβve gotten adept at multitasking and prioritizing my work flow. I often feel many screen is a distraction for myself. People laugh at me at work for using just my laptop or one screen. I feel focused. I feel better organized. I feel flexible to walk away with my work and change the scenery. The only time I feel the need for more screen real estate is if I actually feel the pressure to do so with a demanding workload. I have yet to meet this need. I get through it with prioritizing, finding the right times to multitask, organizing tabs and windows in orders Iβm working them etc. two + screen is generally not healthy for me unless I feel the need. I get distracted and I may throw a movie or game or videos or some distraction on that screen as my work is always dead ahead. I also work slower as I often lose my curser when working with more than 1 screen π and gets a bit disorienting. Iβm usually moving very fast so one screen guarantees I stay in one real estate. I tried coding with a vertical monitor setup on the side and I JUST CANT! Iβm a one mon man I guess til Iβm fidgety with the need to expand. Then I realized, rather than two monitors, I enjoy multiple machines. So my workflow, if I am working with two monitors, consist of two separate laptops/ perhaps a desktop mon on top and me sliding back and forth through them. If I need something from the other then use a shared folder or I send it over pretty quick. Of course, this gives me more compute power to work with as well which has been handy.
The problem I find with two monitors approach is that the best spot in front of you is bezels and I would often end up sitting with turned neck most of the time, which hurts. So I'd rather stick with one big instead.
That's why my setup is laptop in front of me, and monitor above the laptop, aligned vertically. Having monitor and laptop side by side is dumb as heck.
Yep, same for me @mrlopis. When I have to work from the office and there is only the one extra 21" Full HD monitor, I do the same; laptop on the desk, monitor above it on a stand/box. At least that way I can mainly focus on the larger monitor at eye level and just look down for whatever I put on the laptop.
Agreed @bwca, you definitely don't want bezels stuck in your eye level. The only side-by-side setup I've found that works is if you can have Monitor <> Laptop <> Monitor, or just 3x1 monitor, which I tried many many moons ago when AMD Eyefinity was a thing. But then one big one, maybe an ultrawide, makes way more sense anyway.
I see what you mean, want to be single monitor user, but still have some shenanigans of multi monitor setup?
Get one big giant monitor!
Just joking! As you said, it all depends on which environment you are in.
Myself being a gamer & dev, I use chat app on on secondary monitor, and the main work/game being on primary monitor
Thanks @mrdgh2821, this is actually a great example of how environment matters. I wrote this post from the dev perspective, but fact is, for my gaming and streaming setups, I still prefer dual monitor as well; I don't want my game to share focus with anything else, and can't always just Alt-Tab. And also there I want my main monitor to be high refresh rate as well, which I find much less important for development. Different Environments == Different Requirements.
I'm also a 1 monitor person. And I love it. I've not always been like this though, I used 2-3 monitors for many years. But for most stuff I do I don't really need 2. The only time I use 2 is when working on websites and so on.
I went from 2x24 to 1 ultrawide and it's amazing, you can have SO MANY VSCode split tabs open. The only downside is that it really highlights how bad window arrangement is on Mac compared with Windows!
Using my MacBook Air m2 (13.6), I had never come across any problems related to lacking screen space, and whatβs more, I actually use split screen to have vim + browser windows. I have the second laptop 15.6, but have never used it for these purposes like development.