I used to code with only my MacBook for 4 years. No external keyboard, no external monitor, sometimes no desk1 and definitely no mouse.
It was clearly not the best setup, but I could get work done with it. It was not ergonomic, my wrists would hurt after a while and my position while working was not great. It is certainly not something I can recommend to people, but if you need to, it can be done. I’ve been working like that for years and I know people who have done it for decades, the fact that it is possible does not mean that you should do it though.
For the last 5 months I have been using an external monitor, an external keyboard2 and a mouse on a daily basis. Between all of the changes having 2 monitors has been the greatest one to increase my productivity. When I’m using my mac on the go using only one monitor now I often find myself for things that I would usually have open on my external monitor and I have to stop and switch to a different space. With 2 monitors I have all the information I need at a glance.
These are a few of my current setups. Mostly for other developers:
My usual setup:
- Screen 1: Full screen IDE.
- Screen 2: Simulator or browser tab (on left side of the screen), Terminal (top right), Finder (bottom right).
- Screen 1: Fullscreen Github/Gitlab/Bitbucket tab with Pull Request.
- Screen 2: tab with Commit lists or local copy open in Tower/SourceTree.
- Screen 1: VSCode fullscreen for merge conflict with embedded terminal for git commands.
- Screen 2: Tower/SourceTree to see git history and branches.
- Writing Setup:
- Screen 1: Writing app in fullscreen.
- Screen 2: Live preview of the website for article writing or Hemingway Editor / Grammarly each taking half the screen for editing.
With two monitors organizing the screen space tightly is less important, but it is still useful to do. I’m currently using Rectangle to manage windows and spaces3. If you’re not used to it, it may feel daunting in the beginning, but it is very beginner friendly and easy to use. Once you get used to it it will become second nature. I’ve also tried Amethyst which is way more advanced, but I did not find it very intuitive and the initial learning curve is very steep so I abandoned it, I may try it again in the future though.
After using a multiple monitor setup for so long I can’t go back. Unfortunately at home I still don’t have an external monitor and it is a pain each time I try to work there. Luckily I have the rest of the setup so the ergonomics are taken care of. I can get work done, but I’m slower and more annoyed at the setup.
As a freelancer I had to travel to the client’s location and there have been a few cases where there was only an available corner of a desk or just some place that could be used as a desk even though it was not its intended purpose. ↩
I used Spectable, but it is no longer maintained and this is its spiritual successor. ↩