9 ms·
Brain, Bytes, Back, Buns - The Programmer's Priorities
- tucaz 15y agoI totally agree with every word of it. Buying good stuff (good as in quality, not in fancy) is crucial to make your life better and easier as a professional programmer and I bet one of my fingers that this holds true for other professions too. I'm just sad that most of this (best chair in the world, motorized desk) are not available (at least not close to an affordable price) in most countries, being Brazil one of them :(
- mattgreenrocks 15y agoHow do I find the right chair for me? I have visited those expensive chair stores and tried a bunch, but it seems like none of them really clicked with me. Or at least, in the time while I was at the store. Also, is there anyone/anywhere I can talk about setting up my desk properly? I've reviewed a lot of the literature online but still seem to deal with my desk setup triggering flareups after using for a long time...especially with something like Starcraft. I'm starting to think the fact that I took the arms off my chair is making my forearms tense up since they have to both flex (to move my fingers) and hold themselves up.
- zerostar07 15y agoUCLA ergonomics is your friend: http://ergonomics.ucla.edu/office_Chair.html http://ergonomics.ucla.edu/office_Chair.html http://ergonomics.ucla.edu/ws_checklist.html http://ergonomics.ucla.edu/ws_checklist.html I dont think there's a perfect chair, just pick a sturdy one that adjusts a lot and keep adjusting it all day. Also, i find that when the chair is on a carpet floor, thus not able to roll easily, i feel more comfortable than when it rolls easily.
- ctdonath 15y agoIf in an established company, ask for a new chair. For decades I put up with whatever POS I could scrounge ... until I discovered that one could just ask for a new chair, and whoever was tasked with corporate ergonomics made sure I had one pronto. Maybe not perfect, but chosen for reasons known by someone tasked with understanding such things, and way the heck better than any discarded seating we're used to.
- akmiller 15y agoMost reputable and higher end stores will allow you to take chairs home and try them for several days at a time. Do not make the decision on what chair feels the most comfortable to sit in at a store. If you've been sitting in cheaper chairs and have bad posture then immediately changing to a chair which forces you to site correctly is going to feel uncomfortable for awhile and you might even experience more pain initially. It's very important to try any given chair for at least several days before purchasing (even at that, sometimes days is not enough).
- PaulHoule 15y agoAeron chairs look awesome but they're not that good. The Steelcase Leap is a lot better.
- leftnode 15y agoAs someone who doesn't own either but is looking into a more expensive chair, can you clarify either of those sentences?
- yelkeew 15y agoI had an Aeron at my previous job. My experience with that chair was that it tended to act like sandpaper for whatever I had in my back pockets, even a very thin wallet. I bought a Leap for my home office and I really like it. In my opinion, the upholstered bottom and back on the Leap are more comfortable than the mesh on the Aeron. YMMV.
- bitmage 15y agoNo matter what chair you're in, if you are going to be sitting all day - get everything out of your back pockets! Otherwise you're putting strain on your lower back, and it might punish you someday. I bought an Aeron over ten years ago and have never regretted it. Everyone's different, so go try chairs and make sure you have a return period. What feels fine after five minutes in the store may not feel so good after five hours of coding.
- hammerdr 15y agoWhat are the quality on those? I've been sitting in a Steelcase Think for a few months now and, for a $700+ chair, it feels cheap. It is crazy configurable and seems to be doing all the right things, but here are some of the problems with it: One of the chairs arrived broken. I understand that shipping is stressful but if a chair breaks during the stresses of shipping, I cannot imagine the rigors of thousands of hours of work is good for it. It looks metallic and even has a metallic name, but it is mostly plastic. The lumbar .. bar never stays up. It will also get caught between the horizontal "wires" that make up the back of the chair. These two annoyances means that no one uses the lumbar support. And, lastly, it just feels like a cheap knockoff of a "real chair". I have been attributing this as a manufacturer-wide problem with Steelcase and just assumed that the Think chair would be symbolic of the rest of their line. That's why I'm surprised to hear a comment that suggests a Leap over an Aeron. Did they just suck with the ultra-configurable Leap and actually make better chairs in general?
- zerostar07 15y agoSome tiny details seem to make a big difference for me: - A clicky, model-m type keyboard makes it easier to type effortlessly - I find i get full-body rigidity when i try to do precision tracking with my mouse. That's why i love the alt-click to move/resize conventions of linux window managers which unfortunately i cant have anywhere else - An ipad is a good excuse to get up and read that article walking around instead of sitting - Good lighting , and a window in my visual field so i can fixate at distant objects and rest my eyes. f.lux also helps - More than 1 monitors are eye sore, i prefer 1 large screen
- eru 15y agoYou can also a standing desk. If you are into nice keyboards, you might want to give the Kinesis Advantage a try. (It's expensive, but nice.)
- zerostar07 15y agoThe problem with non-standard keyboards is that when you find yourself working on someone else's desk it's too hard to adapt.
- eru 15y agoActually, not. Have you tried? I find the short term transition between Dvorak and qwerty when using other people's computer much harder than just the shape of the keyboard. (And setting other computers to Dvorak for temporarily is easy nowadays.)
- espeed 15y agoThis is almost my set up exactly. My parents got me an Aeron when I graduated college, and I recently went to three monitors. Three really is the sweet spot -- I keep Emacs split vertically on the middle monitor, a series of Chrome tabs open on the left screen for reference, and a mosaic of terminals on the right.
- edw519 15y agoI'd like to add one more "B" to OP's title: Body. I have found after many years of programming that how I take care of my body before I ever sit down is much more important than the environment I sit down to. I have sat in over 100 offices of every possible condition (some you wouldn't believe) and have figured out that there's a "time warp" involved here... If I've taken care of myself, then I can function quite well in the worst client dump. If I haven't taken care of myself, then the most expensive of everything won't help much. I have had scoliosis my whole life, so I've had to learn how to take care of myself or I never would have made it this far. Some of the things I always do: - jogging (3-4x per week) - body weight exercises (I love Hindu squats and push-ups.) - stair climbing - proper eating (a whole subject itself) - monthly chiropractic visits - getting out of my chair every hour (a must for ANY chair) Oddly, I have never really followed most of OP's advice because I never thought it was very important. Most other programmers can't believe me, but here is my typical arrangement: - cheapest chair from yard sale - cheapest (disposable) laptop (currently $350 Lenova) - one monitor (I can't stand > 1; I lose my focus.) - good keyboard & mouse (the only things I don't skimp on) - any work surface, as long as it's lower than 29" - at least one feline companion OP brings up some good points, but the most important thing is to find out what will work for you for years. It's a marathon, not a sprint.
- sophacles 15y agoI completely agree with this. Anecdotally from my own experiences. About a year ago, I decided it was time to be in shape again, lose some pounds, feel better, all that. So I went to the gym regularly, went for runs, bike rides etc, went dancing on the weekends. Nothing super heavy, just a lot of solid activity. About 2 months ago, I sort of fell off the wagon because I let work get in the way (then laziness crept in a bit too). So I am currently well versed in the whole gamut of exercise benefits (and non-exercise drawbacks). They directly relate to programming too! Not exercising is correlated with: - Not sleeping well - Feeling anxious more frequently - Lack of focus - Lack of motivation - More difficulty following complex problem/solutions - General irritability After this next deadline in a week, I'm renewing my commitment to exercise and putting it in the non-negotiable list of things to do everyday.
- rodh257 15y ago3 monitors is absolutely the sweet spot. On my MBP I use 2 USB display adapters and shut the lid to give me 3 external monitors running, works really well for a number of workflows. To main screen setups I find most useful are Web Dev: Web Page - Code - Documentation/Google/command line and TDD: Test Code - Code under test - test runner
- udp 15y agoWhat's the latency like with USB display adapters? I've been running a triple-head setup for years, which is one of the reasons I've never been able to use my MBP as my primary machine.
- rodh257 15y agounder Windows they perform really well, no noticeable difference between them and the main screen, on OSX they aren't quite as good in certain applications because their drivers aren't as solid for OpenGL but I barely notice it
- rodh257 15y agoAlso, anyone suffering from wrist pain, mine went away after I bought one of these for use in the office: http://www.microsoft.com/hardware/en-us/p/natural-ergonomic-keyboard-4000/B2M-00012 http://www.microsoft.com/hardware/en-us/p/natural-ergonomic-... I don't have one at home (they aren't that good for games so I haven't bothered to change my home setup) but just using it for the 8 hrs in the office a day was enough to get rid of the constant pain. Take a little getting used to , but really the way your hands sit on the keyboard make more sense than twisting them in to sit properly on a flat keyboard.
- gtani 15y agoWrist pain, the Dynaflex and powerWeb and wrist curl bar seem to have helped a lot of musicians, rock climbers etc http://www.guitarcenter.com/Finger-Exercisers-Practice---Performance-Aids,New-Gear.gc http://www.guitarcenter.com/Finger-Exercisers-Practice---Per... http://www.amazon.com/Weider-Wrist-and-Forearm-Developer/dp/B002DHIRX0/ http://www.amazon.com/Weider-Wrist-and-Forearm-Developer/dp/...
- zargon 15y agoI have two of those keyboards, and I really like the layout. And it's one of the only keyboards that gives you a negative tilt angle. But I wish they were available with mechanical key switches. I have gone back to flat keyboards with cherry brown switches, because as good as the layout on the ergonomic board is, the key action is unbearable.
- rwallace 15y agoRearranging the layout of the keys never helped me, but this did: http://specialneedscomputers.ca/index.php?l=product_detail&p=127 http://specialneedscomputers.ca/index.php?l=product_detail&#... Recommended if you need an alternative to the usual high-force keyboards.
- cpeterso 15y agoI love my Microsoft Natural Ergonomic Keyboard 4000. Microsoft discontinued the model for a while, replacing it with a smaller, crappy version that had half-sized function keys and non-standard cursor key layout. I actually bought some 4000 models on eBay to scrounge for replacement parts. <:) I'm glad Microsoft has apparently resurrected this model.
- dugmartin 15y agoInvest in a good window that you can see out of too - it will let you look up every few minutes and change your focal point, thus reducing eye strain and the eventual headaches that follow.
- davidedicillo 15y agoAfter years with a super cheap Office Depot chair I just purchased my first nice chair (an Embody who should be delivered today). Funny thing is that the bad chair messed up my back enough to cost me in chiropractic visits more than the nice chair.
- georgieporgie 15y agoAbout a month ago, I bought a used Steelcase Criterion chair from an office liquidator for $120 (I believe it was Portland Office Furniture). I think the retail on these was around $800, and mine was in great condition. It looks like an ordinary office chair, but it's super adjustable. Seat height and back height, of course, plus arm height and arm width, overall tilt, seat position forward/back (it slides), and back tilt adjustment. Unlike any other chair I've ever had with a tilting back, this one can be locked in a properly upright position. As you may or may not recall, I built a standing desk and was using that for about six months. It helped, but my neck/shoulder pain continued. Three days after getting this Criterion chair and having proper elbow support, my neck started cracking like crazy. For the first time in three years, my neck muscles were able to properly relax. I'm sleeping on a normal pillow for the first time in two years. So, my conclusion is that adjustable elbow/forearm support is absolutely critical. This goes against all of the old ergonomic literature I've read. Also, upright posture is very important, and you can't achieve that with a chair that lets you sag backwards. Since most of HN is quite young, I'll do the old guy thing and give a stern warning: you may not have any problems now. You probably think your back and neck will be fine. And you might be right. But here's the thing: you won't know whether you're susceptible to these sorts of injuries until you develop one, and then it's too late. And by the way, stop slouching. ;-) For those who haven't looked into it, you can usually find a good, used chair on Craigslist, from a liquidator like I did, or from a private party. Aerons go for $400 - $500, if you can get one for $350 it's a fantastic deal. Criterions go for $100 - $300. The Steelcase Leap is usually $300 - $500. All of these chairs are ridiculously durable, and replacement parts are available.
- cpeterso 15y ago> Aerons go for $400 - $500, if you can get one for $350 it's a fantastic deal. Criterions go for $100 - $300. Do you prefer the Criterion's ergonomics to Aeron's? Or do you feel the Criterion is just a economical alternative?
- chris_dcosta 15y agoI spent 4 years work standing up, at a drawing desk - it was really great. I had a high chair to sit on if you needed to but most of the time I was standing with a pen in my hand and the board at a slight tilt towards me. I wasn't an architect or draughtsman so I wasn't using the t-square - just pen and paper, but I long for those days. I never got tired because you move all the time, and I never had back problems. OK I was younger then. I once saw a long since removed video of a touch interface demo'd on an A0 size table by a company that Apple subsequently bought (about 10 years ago) I'm wondering if they'll ever get round to producing that device for real - I'd certainly by a desk sized touch screen mac and get back to the good ol' days.
- gtani 15y agoGood prudent advice, shd be appendix to oneo f McConnell's books. I would add, keep some exercise equipment and musical isntruments nearby to keep your brain zonable. I recommend a exercise ball and chinup bar with some TRX training straps. And a Ibanez electric guitar and a clarinet!
- callmeed 15y agoI think wrists are as important as back. Of course that doesn't start with a B.
- bengl3rt 15y agoAgree 110% - I destroyed my wrists at age 18 working 12hrs/day on a startup (who recently got acquired, congrats guys!) because my setup was ergonomically very poor and I had terrible typing technique. Luckily, I had my parents' health insurance and was able to go to physical therapy 2x-3x a week. They were both able to reverse some of the damage done, and teach me proper typing technique and other "work hygiene". I've worked just as hard since and I've never had any problems since, by rigorously doing my exercises and practicing good technique. I'm surprised there's rather a lot of discussion in hacker circles about the best chair, but so little discussion of other ergonomic concerns and typing technique. My mom, who has been a software professional for over 30 years, has been dragging around the same external trackpad from job to job. It now has a serial to PS/2 adapter behind a PS/2 to USB adapter, but she swears by that thing. Mice are awful for wrists.
- lubujackson 15y agoPro-tip for "programmer's back" - take pilates. Just do it. You'll feel like an idiot for a while, but my god will it improve your back strength and flexibility. Most back pain actually comes from your hip flexors, and so you end up working AROUND your back rather than on it directly, which makes it easier to get started. And unlike pumping iron at the gym, you generally leave class feeling taller and refreshed.
- dredmorbius 15y agoSpeak for yourself. Serious lifting at the gym works wonders for me. And the posterior chain work I do (squats, deads, GHRs, GMs), as well as my typical cardio (erging, other than walking around) helps with the flexor/extensor imbalances many people have. Used to do some kettlebell work, not so much these days but just for lack of KBs at the gym. I've done various physical activity through the years, and I've found that virtually any of it provides real benefits: strength training, as mentioned, also HIIT cardio, long-duration cardio, stretching and flexibility work, foam rolling / myofascial release. You want to work each system in balance. Pilates (or any other single practice) may be fine of itself but it's not a One True Solution either.
- kiba 15y agoKnowledge in your brain don't stay forever. You forget. Use SRS software to help keep your memory up.
- dbbo 15y agoI know memory is fairly inexpensive these days, but I think 4GiB of RAM is excessive. I did have a 2x1 dual channel kit in my laptop until one of the sticks went bad about a year ago. I never bothered to replace it, and I haven't suffered either. Right now I'm running a browser with several tabs open, a few shells in one terminal emulator, a couple of file manager windows, a PDF viewer, and an editor with a few tabs open (this is about all I typically use when programming), and I'm using around 615MiB-- a little over half-- of my mem and 0MiB of swap. I wouldn't have much to gain from another 3GiB of memory even if it is only a few dollars more.
- portman 15y ago>> a browser with several tabs open I almost never have "several" tabs open. It's usually ~15 tabs on my main browser (Chrome), and often more than 30. And also an additional 5 tabs in Firefox, Safari, and several versions of IE. Right now, web browsers are using over 2GB of memory. This is fairly typical from the web developers that I work with. So perhaps it depends on what your software targets. But I would argue if you're building web apps, then 4GB RAM is by no means excessive.
- dbbo 15y agoThat might be true, but I don't develop web apps so I can't argue and I'll respect your opinion. Consequently, I don't understand why posting a relevant, evidential opinion is grounds for negative karma. I'm not complaining-- I genuinely don't get it. I thought that was for violating the guidelines (I concede that if anything this comment is the one the should be treated as such for that reason).
- mkopinsky 15y agoAt my previous job (working on e-commerce sites built on IBM Websphere Commerce) the server setup was so heavy and complicated and client-specific that we did everything in VMs that were passed around on external hard drives. If I was working on one client and needed to look up something for another, I regularly came close to maxing out my full 8 gig of RAM.
- mkramlich 15y ago
- outside1234 15y agoi sometimes feel guilty because I consciously spend ~1 hr of my workday working on whatever I want to learn about on my employers dime. These crazy side projects almost always pay off for that employer or the next one 6 to 24 months down the road. Yet I feel guilty about this. Am I the only one that 1) does this and 2) feels guilty about it?
- Natsu 15y agoI recently got a new (and hideously expensive) memory foam mattress. I have to say that it does make me feel less sore in the morning. That said, the mattress before it was a cheap piece of crap, so it's possible that anything would've felt like an improvement.
- yason 15y agoIf you are waiting for your computer, you are wasting time. Humans can work around waiting. Computers can't. No matter what I do, it's my computer that is waiting for me most of the day. The occasional compilation run that takes a while I can wait: I use the time to ponder about my code, or looking for an answer to something I didn't quite get right, or just staring forward and getting a feel for the program I was writing. I might tinker with an Emacs buffer without saving so as to not interfere with the compilation. I often work better when compilations are slow: I realize I need to be sharper myself to justify another recompilation. This means fewer bugs and more thinking before writing. For reference, I have a fairly new quad-core laptop with lots of memory but I'm working on a huge project that certainly takes a few minutes to compile, minimum. I'm still better off with a laptop instead of a more powerful desktop system because the mobility suits my living and coding habits better, so I'm intentionally volunteering for a perf hit.
- cpeterso 15y agoMy sore back loves my "Ma Roller". It's a self-massage tool that's like a rolling pin for your back. It can be intense for the uninitiated, but if you enjoy deep massages then you will like the Ma Roller. http://www.themaroller.com/howtouse.html http://www.themaroller.com/howtouse.html