Are you a programmer looking for the right keyboard?
In this article, we’re going to break down what a programmer might want in an ergonomic keyboard, and then call out a few options that could fit the bill.
Note: this article is just based on my research and experience. If you’re experiencing any physical issues, it’s always a good idea to seek professional advice.
What makes a keyboard ergonomic?
Before we talk about what a programmer needs, let’s start with what exactly we mean when we call a keyboard “ergonomic”.
An ergonomic keyboard is designed to reduce physical strain when typing, leading to a more comfortable and sustainable typing experience.
For people that type for a living (i.e. programmers), this can be a significant consideration.
Let’s step through some design features to look out for from an ergonomics point of view.
In this design, the keys are split into two “halves”, one half for each hand. This allows the wrists to rest at a neutral, shoulder-width position, rather than being forced to bend inward.
Thumb clusters reposition all the highly-used control keys (ENTER, CTRL, SPACE, etc) to a central spot on the board near the thumbs.
This allows your thumbs to take on a lot of the “work” your otherwise overstressed fingers would be doing.
“Tenting” refers to angling each half of the keyboard so that your hands don’t lie flat on the board and rest at a more comfortable angle.
For more information on what makes a keyboard ergonomic, check out my guide.
Of course, the physical design of your keyboard is not a silver bullet. An ergonomic keyboard should be part of a more holistic plan to work ergonomically (i.e. take regular breaks, adopt good typing posture, etc).
What does a programmer need?
Like writers and other computer-oriented professionals, programmers spend much of their workday typing.
However, programmers also have several other needs unique to their line of work.
While the specifics of these additional needs will vary depending on the coding languages and tech stacks used, let’s step through a few typical things a programmer might care about.
Writing code in an editor or working in a command-line shell often requires several special characters and key combinations you wouldn’t encounter in everyday writing.
Working in a *nix command-line environment, you might be piping commands together “|” or redirecting standard output to a file (“> file.txt”).
Remappable keys is a keyboard feature that enables you to remap keys relevant for programming to more convenient locations on your board.
Easy access to control keys and arrow keys
Working with code often involves heavy use of control keys and arrow keys.
For example, de-indenting a block of code typically involves pressing “SHIFT + TAB”. Jumping words (at least in my VS Code setup) involves pressing “LEFT/RIGHT + CTRL”.
Therefore, you’ll want easy access to these keys.
As a programmer, you spend a LOT of time hammering away at your keyboard.
Flimsy keyboards with poor build quality may have appealing price tags, but can be a pain when they fall apart in a few months. You’ll want something that is sturdy and goes the distance.
You need to ensure whatever you pick works with the operating system (or systems) you’ll be using. This one may seem obvious, but it’s worth mentioning since it can be easy to overlook.
Best ergonomic keyboards for a programmer
Without further ado, let’s get into some of the ergonomic keyboards I think work best for a programmer.
Logitech Ergo K860
This wireless ergonomic keyboard from Logitech has a curved, (semi) split design for improved typing posture.
According to Logitech, this keyboard is certified to improve posture and lower muscle strain. The pillowed wrist rests provide 54% more wrist support and reduce wrist bending by 25% compared to a standard keyboard.
In addition, this keyboard can be personalised to some extent with the Logitech Options software. This allows you to assign the function keys for special functions and set up custom shortcuts.
Note: only the function keys are programmable, so this functionality is more limited than in some of the other options we’ll discuss (i.e. the Kinesis Advantage 2).
From a compatibility perspective, this one is multi-OS, compatible with Windows, Mac, Linux, Android, and iOS. It also allows connection with up to 3 devices. For more info on compatible platforms, click here.
The only feature some users might not like with this keyboard is the included numpad. Ergonomically, this can sometimes be an issue since it forces you to reach out at an awkward angle for your mouse.
If you’re experiencing shoulder issues, you may want to consider whether a tenkeyless (i.e. numpad-less) keyboard works better for you.
The ErgoDox EZ keyboard is another popular ergonomic keyboard.
It features an adjustable split design, ensuring natural positioning of the wrists and arms.
It also utilises an ortholinear layout, which arranges keys in straight columns rather than the more traditional staggered design.
This minimises unnecessary lateral finger movement, reducing strain. See my guide here for more information on what this type of layout looks like.
One major selling point of this board for programmers is how highly configurable it is.
The keys can be remapped according to whatever layout works best for you, using a nifty graphical configuration tool called “Oryx” (or by directly manipulating the open-source QMK firmware, if that’s your cup of tea).
Check out the graphical configurator here. I like this simple, visual option.
This ensures any of the special characters used in programming can be made easily accessible.
Kinesis Freestyle Edge
The Kinesis Freestyle Edge is another popular ergonomic keyboard that would suit a programmer.
Like the ErgoDox EZ, it boasts an adjustable split design, making it a versatile choice that works for a variety of shoulder widths and body types. Each half of the keyboard can be optimally positioned to ensure a neutral wrist position.
There is also an optional lift kit accessory that allows you to adjust the tenting angle and reduce forearm strain. Check out my guide on ergonomic keyboards for more information on tenting.
In addition, the Kinesis Freestyle Edge is highly programmable, allowing you to remap keys via the SmartSet programming engine.
The board is also durable and reliable, featuring the industry-leading Cherry MX mechanical switches.
For those of us trying to impress members of the opposite sex, the Freestyle Edge also has some cool RGB backlights and flashing modes. If that’s not a major dating life hack, I don’t know what is.
The keyboard is also plug-and-play compatible with all major operating systems (Windows, Mac, Linux, and Chrome OS). Note, however, the SmartSet app is only available on Windows and Mac.
Last but not least, we have the Kinesis Advantage2!
This high-end ergonomic keyboard is widely loved and somewhat of an icon in the space.
It features a fixed split design that allows your arms to rest shoulder-width apart. It also goes a step further and adds concave keywells, which help minimise wrist extension.
Like the Kinesis Freestyle Edge, this board is highly programmable via the SmartSet programming engine.
This means you can remap any keys relevant for programming to the most convenient spot on the board for you. There is a graphical app option to do this, as well as by directly editing a layout config file.
Another bonus is the thumb clusters, which position all the frequently used control keys centrally near your thumbs. This makes many common shortcuts used by code editors easier to hit.
It also allows you to transfer load from your overworked fingers and onto your thumbs, which are stronger and underused in traditional keyboards.
I’ve been using this bad boy for around 2 years now, and it’s worked wonders for my hands.
The serious wrist discomfort I was feeling previously has more or less disappeared.
Of course, I can’t say with 100% certainty this is due to the keyboard – I’ve made some other changes to how I work. But it seems to have been a big contributing factor.
You can read my longer review of this board here.
Sporting Cherry MX mechanical switches (browns or reds), this board provides a premium typing feel and is highly durable (rated for 50 million key presses).
Now, for all the wonderful ergonomic features this board offers, it does come with a big price tag.
The other downside is the significant learning curve required to adjust to the board’s layout.
Therefore, this may not be the best choice if you’re budget-constrained or not currently in a position to manage a learning curve (i.e. major work deadline coming up next week).
If you’re a programmer, your keyboard is a key tool of your trade, and you’ll want to make using it as comfortable as possible.
To do this, look for ergonomic design features like a split keyframe, tenting, mechanical switches, and an ortholinear layout.
You’ll also want to ensure common keys and shortcuts used when programming are easily accessible. A programmable keyboard or usable default layout will help with that.
I hope some of the example keyboards discussed help as a starting point and this article was helpful to you.