July 2016, rev. August 2017, rev. June 2018
Office chairs are painfully bad for programming. A better chair is more likely to be the $49 Ingolf chair from IKEA instead of a "proper" $150 swivel chair or a $595 Aero chair. And not just because of the cost. Throwing more money at this problem doesn't fix it. I used all three and the expensive chairs are bad enough that I prefer the Ingolf.
There are many reasons for this, but fundamentally office chairs are not designed for programming. They're designed to write with a pen on paper, or turn to talk to your neighbor, or make phone calls, or surf the web. Sitting down to write software with a keyboard is different than all of these activities.
First off the rollers in swivel chairs squeak and squeak is noise. No programmer prefers noise when they're actively working on a tough problem trying to think. Sometimes swiveling and bad plastic make noise too.
It also doesn't help when the chair rolls off underneath you as you're trying to think. Thinking benefits from stillness. Are rollers the best way for a chair to encourage thinking?
Another problem is the cushion. It's too warm to sit on for a long time programming. That's one of the reasons the Aero is a better swivel.
Surprisingly the seat and back are comfortable. In comparison a folding chair cuts around the waist when turning, a chair with a basket seat pinches, and a stacking chair with weak legs shakes.
The best part is there are no arm rests. This lets me bring the chair as close to the desk as possible. Arm rests have to be the biggest mistake in desk chairs for programmers.  Since the arms must be parallel to the desk to be comfortable when programming, and the desk must be below the elbows, why can't arms rest on the desk instead of the chair?
Arm rests are ok in desk chairs for writers, because the elbow can be further out on the desk to write with a pen on paper. But not for programmers. A programmer's elbow needs to be in, close to the core.
When you sit on a chair with the arms parallel to the floor, there are about 5cm (less than 2 inches) of space between the arms and the legs. That's the maximum amount of space a desk's surface can use.
Arm rests that get in the way aren't the only problem with the Aero. Problem number two is you can't fold one leg under the other and sit on it, to stretch it, partly because you're caged by the arm rests. And partly because the seat curves upward; sit sideways and the seat presses in the thigh. Problem three, adjusting the chair is confusing, if it works; I leaned back on one yesterday and nearly fell off. So much for a chair: you can't sit straight, can't sit sideways, and can fall off.
The Ingolf isn't without flaws either. The biggest is its weak skeleton. I learned how poorly the legs are held together when I broke two Ingolfs leaning back, standing the chair on its back legs. Eventually I found a way not to break it: I can move, but the chair can't. This turned out to be a good tradeoff. When I sit down I feel comfortably trapped between the chair and the desk. It makes me get to work.
I can't be the only person to ever notice most chairs and desks are bad for programming. Why isn't this a solved problem?