Ergonomic setup for JetBrains IDE

Mykola Golubyev
6 min readAug 17, 2022

Yet another problem with my neck and back. Each time a bit more annoying than the last one.

There are only so many times you can solve your neck and back issues with a massage and some rest. Eventually, if bad habits remain, you will be given a diagnosis that you don’t expect for another 20 years, yet here it is.

This time, in addition to more focused exercises curated by physical therapists, I decided to change ergonomics of my work station.

The first thing I changed is how my instrument #1 for software development affects my head placement. I use Intellij IDEA IDE for Java, Python, Go, JavaScript and other languages most of the work day. Any improvements in this area should reduce unnecessary strain on my neck and back.

Goals

Neutral head

Goal is to keep your head and neck in a neutral position most of the time. I.e. not turned to the left or right or bend forward or flexed up.

To reach the goal I centered all the frequently accessed content (details below).

Also, get rid of that second, third and that small monitor. I sweared by multi monitor setup and spent a lot of time and money perfecting it. I wish I didn’t.

Centering IDE Content

My most frequently accessed content is

  • editor
  • project navigator
  • run/debug output

Centering Editor

This is how my IDE looks like when I type. Text is centered whether I work on 27" screen or on my laptop.

To center content I switch IDE into Distraction Free Mode

Centering Project Navigator

To center project window I moved the panel to the right and adjusted its size to make file names be in the middle of the screen.

To move the panel you need to make sure window titles are visible by pressing CMD (on Mac) twice and then drag and drop Project into top-right corner

Main idea is your Project panel is hidden most of the time. When you need it, press Cmd+1 to make it visible, select a file and hide it.

To make Project panel hide automatically on file select, change View Mode to Dock Unpinned.

Centering Run/Debug Panel

Default Run Window (at the time of writing) is at the bottom of the screen. Since this is the place where you see output of your tests and an App, chances are you will spend a lot of time looking at it.

Similar to Project panel, let’s move the Run panel to the right side as well, and adjust its width to have output centered on the screen.

Single Panel Mode

As we center windows, the main idea is we have only one Active window at a time, shifting the editor to the side.

To make it work with all other panels, they all need to be assigned to the top-right corner. This way if I open Project panel while Run panel is active, Run panel will be replaced by Project panel.

Below is a list of panels I use a lot and their screeshots

Maven panel (mapped as CMD+M)
Local changes panel (CMD+9)
Search result panel (CMD+U)
Errors panel (CMD+6)

We also need to change panels like search result and errors to be Dock Unpinned, so they automatically close after selecting a result

Quick Switch Back To Editor

You can toggle panels to show and hide using CMD+1,2,3,etc keys. When it is time to go back to typing, it is convenient to have a single keybind to reset back regardless of the opened panel.

Hide All Tool Windows action lets you close all the panels and go back to the editor. I mapped it to CMD+\

Single Monitor

We do have different functions at work and some require multiple monitors more than the others. Unfortunately it is really hard to keep your head placement neutral if you have monitors all around you.

I am doing both back-end and front-end work and I could swear a year ago that it is not possible to do a good job as a front-end engineer with only one screen.

So I had a second screen to the right with a browser opened showing auto preview of my changes. And then I would debug CSS for half an hour (sigh) keeping my head turned to the right all the time.

My left screen would have slack and sometimes I would be there for a half a day typing without noticing how much time have passed.

My friends would have their additional screens above the main one. They would sit with their chin lifted, straining muscles on the neck’s back, and over-relaxing muscles on their neck front (weakening them over time).

The problem is you may not notice the impact of the multiple screens right away. And by the time you do, you may already have some damage that is hard to repair.

With modern hardware, IDE to browser switch takes what feels like less than half a second.

Sometimes I use desktop spaces. I didn’t before as switching between them took a long time with transition animation. However can disable the animation transition to make a switch from one to another to be an instant.

if you have a dedicated screen with outlook and slack or apps monitoring, have them to be in different spaces and instant switch to them when needed.

Don’t cheat and get like 42" inch single monitor. It most likely is going to make the problem even worse as you will have to turn your head all the time, unless you sit really far away.

Bonus Benefit

If you adjust your workflow to be a single screen focused, you won’t feel weird working on your laptop in an airport’s Starbucks.

Breaks

May be obvious to some to take breaks often, but let me explain why it is important. Something a physical therapist showed to me.

Take your finger and bend it a bit backward. Not a big deal. But hold it there for 10 minutes and you most likely start feeling more discomfort. Bend it in a more weird position and those 10 minutes may become 5.

Regardless of how neutral your position is, you need to take a break. More often so with a bad posture.

The max time I was given before taking a break is 30 minutes. Then I need to walk for a minute or shake my body. That’s basically resetting your finger in the example below.

Changing from sitting to standing is good, but you still need a break in between, otherwise it is merely banding your finger in a slightly different direction.

I put a timer on my watch, but drinking water often could also be a good natural timer.

Good news

30 minutes breaks is basically your Pomodoro Technique. Pick a task apart to have 25–30 mins pieces. Have a focused time, break, walk, repeat.

Summary

To keep your head centered and more-less neutral

  1. center your main content
  2. center auxiliary panels content
  3. single main panel at a time, to avoid head turned to the side looking at debug watch window for 5 mins
  4. if work permits, get rid of the additional monitors
  5. Take breaks as often as you can, ideally every 30 mins
  6. Use professional IDE to do one hour worth of job in 30 mins

--

--