This post is essentially a text version of a video I made (you can see that video below) so if you’re not in a reading mood, check that out instead! There are some Amazon links scattered through this post, please note these are affiliate links.
Choosing a good keyboard for coding is important, especially if you’re developing something and spend long hours doing nothing but writing code. But how do you choose a good keyboard?
You check out a bunch of reviews BUT since you’re here, allow me to help you make this very important decision.
Before we get into this, you might be wondering why you should listen to me. It might be true that I’m not a keyboard expert, and I’m only a mediocre coder, but I write content for a living and do an average of about 8,000 words a day most days.
Trust me, I’ve had to deal with all the sore fingers, repetitive strain injuries, and carpal tunnel pain in my time. And because of that, I’ve gone through a bunch of different keyboards and setups in my time.
Incidentally, if you are suffering from pain when typing, see a doctor. Or at least someone with medical smarts. Don’t be looking for cures in this post.
Mechanical Keyboards
I know a lot of people who don’t use mechanical keyboards, or roll their eyes at people who do use mechanical keyboards, so let’s get this one out-of-the-way first.
Since I switched to mechanical keyboards, any time I have to use a rubber dome one, it’s exhausting. My hands feel like they have to work twice as hard, it feels “gummy”, and, yes, it doesn’t sound as nice.
Mechanical keyboards have a reputation for being expensive, but I have a cheap mechanical keyboard and a rubber dome keyboard, and the mechanical one cost half the price of the rubber dome keyboard.
If you absolutely refuse to go mechanical, in my personal experience, the low-profile chicklet style keys like those you get on Apple keyboards and most laptops are more comfortable than the rubber dome switches you get in boards like this.
Key Switches
If you are going mechanical, there is the little matter of key switches to attend to.
Now, there’s a gazillion switches to choose from out there, but I’m not a keyboard channel, so I’ll keep this super basic. Cherry MX red or equivalent is your gaming switch, Cherry MX blue or equivalent is your typing switch, and Cherry MX brown or equivalent is a kind of middle ground between the two.
My advice would be to stay away from the gaming switches unless you’re a super competitive gamer because they won’t make that much difference to how quickly you get beat in PubOverNite, but a stiffer switch makes typing so much more comfortable. But, as most people don’t have a different keyboard for all occasions, a brown switch or equivalent would be my recommendation.
And for the keyboard nerds out there who might be wondering, I have Cherry MX Browns in the keyboard I use for coding and gaming, and Gateron Blue optical switches in the keyboard I use for work.
Form Factor
There are several keyboard layouts, but I’m just gonna concentrate on the most common ones. You’ve got your full size—pretty self-explanatory—your tenkeyless, which is essentially a full size board without a number pad, and then they start getting labelled as percentages. 75%, 65% 40%. And there’s even more options because you can a 65% keyboard with certain keys separate from the main cluster, or you can have one with them all smushed together.
So let’s start with the easy one. I strongly recommend avoiding keyboards that don’t have your operators and other common symbols in easy to reach places. Now, you might look at a 60% board, or even a 40% board and think that all the symbols are where they would be on a full size keyboard, and you mostly be right.
Mostly.
There’s one particular symbol that gets cut on smaller form factor keyboards, and it’s the vertical bar, or pipe character, otherwise known as the one you need when you write OR statements. On smaller keyboards you have to do a weird finger contortion to press 18 keys at once while reading from the Necronomicon and standing on your head.
Okay it’s not that difficult, but it does get pretty tiresome. Unless you’re comfortable remapping a key or getting a macro pad, I’d steer clear of any board that has the pipe symbol above the return key.
And, let’s be honest, you’re coding. How important is the way your keyboard looks when you’ve got hundreds of scribbled notes and a half-eaten pizza all over your desk? Get a board with all the keys.
The Keys
This is purely aesthetic, go with whatever keys you want. Personally I find DSA profile key caps the most comfortable, which are these kind of square key caps that are all the same shape. The most common style is OEM, which is fine. If you’re using a rubber dome or membrane keyboard, you probably don’t have any choice.
One side note, and this one might not apply to all of you, but when it comes to coding, resist the urge to flex your finger skills with a blank key cap set. I type a lot. Like, A LOT. And I still take several attempts to find the @ or vertical bar| symbols on my show-off keyboard with no legends on the key caps.
The Price
Keyboards, like everything else in the world, suffer from diminishing returns when you get into the high price ranges. There is a world of difference between a 12.99 Amazon keyboard and any mechanical keyboard over, say, 50 quid, but once you get over 150, you’re getting into the realm of super subtle improvements that you just wouldn’t appreciate if you’re going straight from the crappy keyboard that came with your PC.
Final Note: Protect Your Body!
I’ve seen some real horror shows when it comes to the way people sit when they type. It might not affect you in small bursts, when you type as much as I do, you really start to notice problem areas.
There are all sorts of advice for your posture that I’m going to over-simplify into;
- Sit up straight
- Have your feet flat on the ground
- Set your chair height so that your forearms are parallel with the ground and your elbows are at right angles.
- Have your screen high enough that you are not constantly looking down
And that’s it! No go forth and code something.