Sometimes it’s good to have one with your code, one with the running program and one with a browser looking stuff up. You can argue one or two more (like database model, expected output, …) but you barely need a whole monitor for each. The photo is just pretentious and comically overdone
It tends to depend on your branch, though, and in some fields, you really don’t need anything other than your code, because you’re not testing anything before it’s compiled anyway. For something like frontend development, on the other hand, having some extra screen space is a blessing, be it more monitors or just one bigger monitor, especially if you have the tools to easily manipulate the screen space, like automatic window tiling.
To take the frontend example further, when you have something like i3/DWN/sway or any other tiling windows manager (that’s on Linux), you can easily set up more “desktops” (workspaces), divided into tiles like the browser window (to preview the changes), your editor (to make the raw changes), and the developer tools of the browser you’re currently testing things on. Not like it’s impossible to achieve the same with any other tool that lets you create virtual desktops, but the less time and brainpower you use on switching tabs/desktops/workplaces, which you achieve by always being able to access everything you need at a glance, just kinda helps you enter the flow state - you just dissolve into the process completely because you stare at everything you need all the time.
The more you need to look at, the more you gain with these setups. The frontend example from above is a rather simple scenario, which is not too likely in this era, because you’re pretty much guaranteed to be using at least one framework, most likely with a live preview feature with real time output of the compiling results and errors. There’s no shortage of windows to open, all of which will be relevant and useful to your current task.
Either that or put some non-work related crap on the side to switch to whenever you get mad because you don’t get the result you wanted to.
Like if you’re writing an essay on paper. You have your desk covered with a reference book or two, your draft version, working version, assignment, additional clarifications and notes, … It would be such a hassle to put it all in one neat stack and search for whatever you need every time.
So programmers like to have the programming manual, design, notes, remarks from the customer, … spread out over the screen(s) instead of switching back and forth every time.
one 1080p screen for code with 3-6 pages open simultaneously (approx 80x24 or 90x40 depending on whether the file tree is also open)
one 1080p screen for a terminal with 4-6 terminal sessions displayed (80x24)
one 1080p screen for reference documentation
or more 1080p screens for even more documentation as rabbit holes in documentation can go quite deep
…and that’s before even more screens for monitoring services, CI status, rabbit holes in documentation, etc.
Then there’s video chat. It gets really fun when someone asks “@inetknght, can you share your screen?” during a video call. Then I have to pick which screen gets shared and hope it’s the right one. It would suck if they how many emails I ignore. I currently have 15,070 unarchived emails in my inbox spanning over a decade. I’ll get to cleaning that inbox when the bug reports stop coming.
Plus, I sometimes run VMs fullscreen. It’s best to do that on a dedicated monitor. Especially if there’s multiple VMs running. Otherwise good luck finding the real desktop!
As a non-programmer - why does programmers need so much screen space?
Sometimes it’s good to have one with your code, one with the running program and one with a browser looking stuff up. You can argue one or two more (like database model, expected output, …) but you barely need a whole monitor for each. The photo is just pretentious and comically overdone
Pretty much this.
It tends to depend on your branch, though, and in some fields, you really don’t need anything other than your code, because you’re not testing anything before it’s compiled anyway. For something like frontend development, on the other hand, having some extra screen space is a blessing, be it more monitors or just one bigger monitor, especially if you have the tools to easily manipulate the screen space, like automatic window tiling.
To take the frontend example further, when you have something like i3/DWN/sway or any other tiling windows manager (that’s on Linux), you can easily set up more “desktops” (workspaces), divided into tiles like the browser window (to preview the changes), your editor (to make the raw changes), and the developer tools of the browser you’re currently testing things on. Not like it’s impossible to achieve the same with any other tool that lets you create virtual desktops, but the less time and brainpower you use on switching tabs/desktops/workplaces, which you achieve by always being able to access everything you need at a glance, just kinda helps you enter the flow state - you just dissolve into the process completely because you stare at everything you need all the time.
The more you need to look at, the more you gain with these setups. The frontend example from above is a rather simple scenario, which is not too likely in this era, because you’re pretty much guaranteed to be using at least one framework, most likely with a live preview feature with real time output of the compiling results and errors. There’s no shortage of windows to open, all of which will be relevant and useful to your current task.
Either that or put some non-work related crap on the side to switch to whenever you get mad because you don’t get the result you wanted to.
Like if you’re writing an essay on paper. You have your desk covered with a reference book or two, your draft version, working version, assignment, additional clarifications and notes, … It would be such a hassle to put it all in one neat stack and search for whatever you need every time.
So programmers like to have the programming manual, design, notes, remarks from the customer, … spread out over the screen(s) instead of switching back and forth every time.
Java class names.
As a programmer:
…and that’s before even more screens for monitoring services, CI status, rabbit holes in documentation, etc.
Then there’s video chat. It gets really fun when someone asks “@inetknght, can you share your screen?” during a video call. Then I have to pick which screen gets shared and hope it’s the right one. It would suck if they how many emails I ignore. I currently have 15,070 unarchived emails in my inbox spanning over a decade. I’ll get to cleaning that inbox when the bug reports stop coming.
Plus, I sometimes run VMs fullscreen. It’s best to do that on a dedicated monitor. Especially if there’s multiple VMs running. Otherwise good luck finding the real desktop!
Imagine trying to read 5 different books at once while simultaniously writing 30 books at once.