Managing My Development Tools

FourCs
5 min readAug 11, 2021

--

pexels.com

Often, when developers share their computer screen, you see so many tabs in one window that you cannot see the website titles but see only the thumbnails. Time is wasted, flipping through multiple tabs to get to the desired webpage. Such a busy screen also can cause unnecessary visual stress for the developer.

two screenshots from colleagues

The following describes how I manage my various workstreams. Each of the numbered paragraphs below describes a distinct page that can have multiple applications or only one.

Disclaimer: This setup of my development desktops and applications works best for me. I have one external monitor and have been refining this setup for over a year. My hope is that the structure presented here will offer new developers a jumping-off point and give more experienced developers new ideas. Remember that these are tools; make sure they are working for you, not against you.

video-chat homepage, File Explorer, terminal

1: Laptop Virtual Desktop: My laptop screen has single-action applications as well as my video-chat homepage. Since my laptop screen is small, I don’t want to spend much time reading or completing tasks here. The single-action applications on my laptop are ones I use for connecting to the company virtual private network, finding files in File Explorer, changing settings in software preferences, and initiating updates. All of these applications are used in short bursts and often only a few times a day. My video-chat overview gives a glimpse of upcoming meetings and quick access to my personal video-chat room.

email, company chat, daily overview/on-call, video chat, ongoing tasks, IDE, flex desktop

2: Full-Screen Application 1: The first page of my external monitor is my email application. My inbox contains my emails sorted by time received. As a frequently visited application, I decided to designate my first page entirely to email. The email application has a calendar that supplements the video-chat homepage. It also has a to-do list, though I rarely use that functionality.

3: Full-Screen Application 2: The second page of my external monitor is my internal company chat. I have the different channels organized with drop-downs: team members direct messages and team-related channels; networking with DMs of people from whom I seek advice and information; Seattle with channels for city and community information; company groups for channels with internal employee-organized communities; IT support with all relevant services I use; and other channels and DMs that are there by default. My company chat application also has a plugin for my email calendar that gives me daily overviews of meetings and reminders when meetings are coming up.

4: External Virtual Desktop 1: My first virtual desktop on my external monitor has my daily overview and on-call browser windows. I pin my team calendar and tracking board tabs to my daily overview window. Pinning these windows gives more room for other windows and decreases the visual noise created by website titles. The only other static tab, meaning not closed and always present, is the homepage for pull requests I opened or am reviewing. This window could be pinned, but I prefer having it expanded. I still have plenty of room in this window to open tabs for specific tasks on the board or pull requests I am actively reviewing. The other browser window on this virtual desktop is solely for on-call responsibilities. Even when I’m not on-call, this window is always there to reference. In this window, I have the metrics dashboard, service tickets, and on-call rotation schedule pinned. These tabs will be referenced the most and have unique thumbnails. All static tabs are pinned on the on-call window as typically troubleshooting problems takes multiple tabs.

5: Full-Screen Application 3 (temporary): This first of my two temporary full-screen applications is my video chat. Of all the screens, the placement of this application is the most intentional. It is a single gesture or keyboard shortcut from my virtual desktops mentioned directly above and below this paragraph. This way, when I am on daily sync-ups or ad hoc meetings, I quickly can get to the relevant windows and tabs.

tracking ticket, pull request, relevant document

6: External Virtual Desktop 2: The other adjacent virtual desktop of the temporary video-chat application is my desktop for active tasks. This desktop has one window per active task. Each window has the tracking-ticket tab and, if already created, the pull-request tab pinned. Each task window contains research windows and any others necessary for completing the task.

7: Full-Screen Application 4 (temporary) : The last full-screen application is temporary and utilizes my coding application or integrated development environment (IDE). If you use multiple IDEs, it might be more effective to change this to a virtual desktop and then use multiple application windows for each IDE and max window size the IDE you are currently coding in.

8: External Virtual Desktop 3 (optional) : This last virtual desktop is flexible and can be considered a parking spot. One-off tasks, like onboarding or training, can be completed here so as not to interfere with the other pages. This is not a highly used page in my setup, but it gives me a sense of breathing room, which is valuable.

Managing your development desktops and application can give your working hours more structure, minimize visual noise on your screen, and increase your productivity. The management of these development tools is continuous. Try different setups and see how each affects your working hours. Make adjustments, keep the improvements, and discard changes that interrupt your focus. Development tools are designed to help you complete tasks, but expect that some tweaks and reconfiguring will be necessary to maximize their usefulness.

As A. D. Aliwat wrote, “It’s not the thing itself, but how you use it.”

--

--

FourCs

Continuously Consuming, Consciously Creating by Kai Demandante