Christine O.
Mar 12, 2023
•5 minutes
Programming with mechanical keyboards
Back when I was a kid, there was a store called CompUSA that had a variety of locations in the United States that specialized in computers and computer accessories. Mechanical keyboards were ubiquitous back then; Packard Bell was king and programming from home was just beginning to take off. My parents learned how to type on mechanical keyboards, and I learned how to as well.
The design of the mechanical keyboard back then was good because it allowed for faster typing, which is critical for good work flow in coding. Ergonomics are important because typing long stretches of code requires a keyboard that provides comfort, reduces strain, and is designed to keep the hands properly aligned to prevent wrist problems.
Much like cooks need proper materials to create dishes like the right pots and pans, programmers need the right tools to become more efficient programmers. Mechanical keyboards are the best tools needed for good typing, which in essence is at the heart of being good at writing code. - Professor Larry Lay
One consequence of using mechanical keyboards (which could either be negative or positive) as a programmer is the sound. Mechanical keyboards can be configured to make more noise than not, which could be soothing to the ears (as many ASMR videos demonstrate) or distracting if pair programming or working in a group setting. For that reason, if you're looking for a keyboard that you'd use in a shared setting, you probably want to install silent switches on your board. I'd recommend taking it a step further and having one keyboard for the office (silent) and at least one for home.
PolyCaps Code Keycaps
Now mechanical keyboards are a rather niche field, more for hobbyists and gamers than programmers. I conducted an impromptu survey on the NJIT campus to see whether students and faculty could answer the question of whether or not using a mechanical keyboard could make you a better programmer. Here is what they answered:
From Vishnu and Kranthi Teja, CS students: “I think it’s just the clicks that people like.”
From Dylan Jemma and Jess Wood, engineering students: Dylan’s sister uses mechanical keyboards, not for programming, but for her accounting job. He explained that she uses her keyboard for more practical purposes rather than leisure. Mechanical keyboards allow you to map special keys to different layers using a tool called VIA, so you can get creative when it comes to optimizing your flow. For example, a popular mapping for programmers is mapping H, J, K, and L as VIM-style arrow keys, especially for small keyboards such as 60% layout keyboards.
In general, most of the people I interviewed didn’t quite understand what mechanical keyboards were exactly, which was a shock considering that I attend a STEM school. Others weren’t taking classes that were heavy in programming either. Even with gaming, which most would assume would have people that know what mechanical keyboards were, my classmates were befuddled by the question.
From Dylan Thon-tat: “I’m not sure what a mechanical keyboard is…” and a chuckle.
From Micheal Piscopo: He assumed that mechanical keyboards would be better for programming the same way that it would be good for gamers.
From Professor Larry Lay: Professor Lay explained more about the reason that programmers need mechanical keyboards in their day to day life. He said that much like cooks need proper materials to create dishes like the right pots and pans, programmers need the right tools to become more efficient programmers. Mechanical keyboards are the best tools needed for good typing, which in essence is at the heart of being good at writing code.
Concluding remarks: Mechanical keyboards are making a comeback. Whether they take off at NJIT is a matter of preference rather than time. As for some of the key benefits that mechanical keyboards can bring to programmers, here's a condensed list:
To truly customize your mechanical keyboard, you'll generally want to stay away from large retailers like Amazon or Best Buy, which currently do not cater to mechanical keyboard enthusiasts by allowing you to customize every aspect of your keyboard. For that reason, I recommend buying from the expanding list of keyboard options at Kinetic Labs, which offers both budget-friendly and premium keyboards. They also offer a huge selection of switches and accessories. Here are some ideas to get you started:
TG67 V2 Keyboard with Code Keycaps
Keychron Q8 Keyboard with Whale Keycaps
Keychron Q6 with Seal Keycaps
Below are some of the most frequently asked questions that I've come across when discussing mechanical keyboards with software programmers: