Brain, Bytes, Back, Buns - The Programmer's Priorities
I recently said something that ended up making the rounds on Twitter:
"If you're a developer, you need to spend money on a great computer, an awesome monitor, a fantastic chair and a good bed" - Scott Hanselman
This convenient 140-character-friendly statement could be misconstrued, I suppose, as me saying that good developers need to spend money on expensive gear. That's not my message. I'm saying that you need to invest in your tools.
Buns
I was listening to a designer friend recently agonizing over the purchase of a US$700 chair. I realize that everyone makes different amounts of money depending on where they live in the world, but bear with me. This designer spent months trying to decide if this chair was a good idea. "It's so expensive! Should I spend that much?”
Now, we're not talking about jewelry, or video games, or fancy pants. We are talking about a chair that is going to be sat on while work is done for hours a day for at least a few years. Figure 50 weeks a year, for 3 years (at least) for 5 hours a day (because these are round numbers) that's at least 1250 hours in the first year (and more likely much more) and 3750 if it lasts the 3. That's a 19 cents an hour for a comfortable butt. Invest in your own ass.
I don't regret my purchase of a Herman Miller Aeron Chair one bit. The best part is that I bought it for myself, with my own money over 5 years ago. Every day I own it, I enjoy it, and my cost of usage per day goes down.
Back
I spent a decent amount of money on a very nice mattress as I've got Programmer's Back. I'm consistently surprised when I talk to developers who have cheap (meaning, low quality) mattresses and cheap chairs and they complain about pain. A programmer in pain is a lousy programmer. To quote Wu Tang Clan, protect ya neck. Don't skimp on your sleeping quarters.
Physical purchases aside, it's also crucial to invest in your back with things like yoga, stretching and regular exercise. When you are using something eight hours a day for week after week, do the research and invest in that thing. You're flat on your back unconscious for a full third of your life. Give that amount of time the respect it deserves and do what's right for your body. One of the essential tools is a quality bed. I enjoy investing in a new computer but only recently realized that a utilitarian purchase like a great mattress is just as valuable and just as life-changing.
I also have a height adjustable desk (a Steelcase Series 7) which I enjoy. I wouldn't have thought twice about purchasing this desk on my own, but with enough visits to a chiropractor turns out these are easy to come by. It's motorized and has presets so it's easy to set and switch between seated and standing positions. If you think one would be helpful to you, talk to your HR department and request an ergonomic evaluation. Can't hurt to ask, but it is guaranteed to hurt if you don't.s
Bytes
Ya, I couldn't just say "computer" and screw up a potentially killer alliteration. Surely you understand, Dear Reader. I hate seeing people suffer with crappy hardware. I went back and forth with a gentleman on Twitter running a 4 to 6 year old Mac who felt that I was advocating or implying that one must have awesome hardware to be a good programmer. That wasn't my intent, but this is. If you are waiting for your computer, you are wasting time. Forget about religious arguments, I don't care if it's your operating system, your text editor, or that spinning rust you call a hard drive. If it's making your wait, swap it out.
Start by getting an SSD. The fellow on twitter with the slightly older hardware had an SSD in the machine. Everyone can use an SSD. There are only so many life-changing hardware purchases left in the world. Treat yourself. They are, memory, SSD, monitor. No matter what OS you are running, have 4 gigs of RAM at least. You can get little SSDs for under US$100 these days and decent sized ones for $200. I pulled the trigger on a 256 gig OCZ Vertex and even if it lasts just a year, it's just $2 a day for the kind of silent joy that only a saturated PCI bus can give. Every day after a year it lasts (it'll likely last a few) it gets cheaper to have owned it.
Get whatever size or number of monitors that makes you happy. I like three monitors. For laptops, I like a 15". Some folks do great on a 13" LCD but others prefer something larger. My point is, if you HATE your monitor situation, change it. You're worth it and it'll make you more productive.
And, as always, if you have Programmer's Hands, consider your keyboard and mouse. While I realize that many of you insist and persist on using a standard straight keyboard for typing even in spite of the obvious anatomy, the most important thing is to listen to your body. If your desktop set works for you, awesome. If not, get one that supports you and the way you work.
Brain
Books, classes, experience, and challenges all push your brain. I often tell the story of the senior developer who has 20 years experience. The problem is it's the same year of experience, twenty times. Somewhere in year 5, or year 14, you'd think this developer would notice this and break out. What I'm saying is that not only should you as a programmer listen to your body, you should also listen to your brain. If your tool is dull, consider consciously what you can do to sharpen the saw.
When I speak to user group meetings or regional conferences and code camps, I'm always sure to tell the attendees something like this:
"You're already in the top tier of developers just by showing up here tonight. I don't know how talented you are, how much experience you have, but you showed up. You're putting yourself out there because you care to improve. Thanks for caring."
You should give yourself credit for simply being conscious. Not conscious as in 'a living entity' but conscious as in 'paying attention to your journey.' If you are conscious, you're ahead of the pack. We get into trouble when we aren't paying attention. Time goes by and one wakes up years later with no new experiences, no new knowledge, essentially treading water with no inertia. Sometimes just waking up and paying attention is the catalyst one needs to make a change. Every new day is an opportunity to turn it around. Don't feel bad about taking that class, buying that new book, or starting that new mentoring relationship. Get them and put them in your brain - they'll be yours forever.
There's this wonderful story that comedian Paul Reiser told Marc Maron on Marc's podcast. Paul met the actor Peter Falk and asked him if there was a secret to writing a movie script. Peter Falk said "get some paper, put it in a typewriter, type FADE IN...and keep typing."
It's surprising how that answer also works when someone asks me how to succeed in programming. Be conscious, take care of yourself, invest in your tools, and do the work.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Niels - The point is to get a chair that *works for you.* Not the perfect chair, just the one you need.
I'll definitely get a motorised desk as I can adjust the height to suit me perfectly, whereas with a fixed height desk if it's off slightly it could cause more problems.
I have to say I'm really looking forward to standing up to work. I can see it having major health benefits, even to the point of using a few more calories each day :)
So, it's all great advice.
After the new office is done, we'll be buying a better bed too.
mate if I can suggest a topic for a post it would be "how to deliver a message and how the message is perceived."
I clearly got your message on twitter when you said that, yet it's amazing the conclusion some people reached by deriving from your statement. Makes me think:"man, how come he turned this message into 'that'?"
Good listening, thinking before saying something and understaning the message are also skills to develop
Cheers,
E
Don't forget Buds (Friends). Smart people who can challenge you AND watch your back is a recipe for all sorts of awesome!
Really like how you help us remember that being awesome is more than just "how good a developer you are." It's about the wholeness of ones existence...One can hardly put a price on that.
You can allways ask for faster processor, more RAM, bigger monitor, better chair but in almost all situations this will lead to answer "It's not a problem, we make a ton of money but if we give it to you that's just invite call for everybody else. Then we would always have to buy everything new for everyboy. That's just not possible". This alwyas leads to almost political discussions about who needs what , who deserved what etc...
So only chance , from my expirience, is to buy it yourself , then nobody will complain or you must somehow break your current stuff. Literaly, make it worth nothing.
If it's not working at all then there are no problems to get you new one and more often then not new one is far more better.
I long for even a decent chair, but I work in a building where bad chairs go to die and are assigned a developer's ass to keep them company until they do. The chance of me sitting in a chair made for sitting in for more than two minutes, is pretty slim.
We are talking about a chair that is going to be sat on while work is done for hours a day for at least a few years. Figure 50 weeks a year, for 3 years (at least) for 5 hours a day (because these are round numbers) that's at least 1250 hours in the first year (and more likely much more) and 3750 if it lasts the 3. That's a 19 cents an hour for a comfortable butt. Invest in your own ass.
This made my day. Thank you ;-)
I'd heard employment was tough in the US, but that's terrible.
Exercise good posture while working: ears over shoulders, shoulders over hips, everything extending upward as if there's a string attached to the crown of your head.
16 GB Ram + 256 SSD + 6 Core AMD Processor = huge Productivity gain!
For example. I compile our solution now in 15 Seconds on my old machine it was a minute.
A fast machine is very important, not just for saving time. If i compile and it takes to long i stand up and go for something to drink ,read engadet or other website. This is a interruption such as a phone call, skype message or email. Its hard to go back to the "tunnel" after that. The Pomodorro technique helps!
You don't need an expensive chair, a knee chair works well and costs between $100 - $200, have a look on amazon.
As for you lower back, check out www.weakbackbuilder.com the exercises in this ebook will sort you out for life.
thanks
The only thing that solved all of these problems was getting a membership to my local rec center and working with a physical trainer to develop a personal exercise program focused on strength training (back and neck muscles in particular) and 30 minutes of light aerobic exercise 2 - 3 times per week. It turns out, unsurprisingly, that our bodies are not intended to sit (or stand) for 8 - 10 hours per day. Forcing myself to get out of the house and exercise eliminated all my symptoms, reduced my stress, and improved my mood in general.
The cost for the personal trainer is $100/mo which, although not cheap, is well worth the money because in addition to overseeing my exercise program he keeps the pressure on me to show up to my scheduled sessions. Without that, I would probably find ways to "not have the time" for exercise and all my symptoms would reappear.
As an aside -- if you have a decent community rec center nearby I recommend that over one of those expensive hyper-gyms that have been popping up recently. My goal isn't to look like one of the actors from Spartacus, so the rec center is nice and cheap and has plenty of facilities for my needs.
Can you give me some more info on your mattress choice, and does it help?
I have replaced mine twice and find it very hard to figure out in advance if it is going to help.
Love the content,
Clint
"If you are waiting for your computer, you are wasting time."
I have been experiencing this at home and it is driving me up the wall.
I tried to get RAGE to play last night and it just wouldn't. That's another issue. The side issue relating to your quote is that after every driver reinstall/uninstall I had to restart. It literally takes my computer 5-8 minutes to fully boot up into Windows enough to run a program installer. It's ridiculous. Add up 5-7 restarts and you've burned 30+ minutes. Add to that the time it takes to install 150MB video drivers (or a 21GB game) and you've wasted 2+ hours.
The sad part is, I'm not sure what's slow on my PC. I have a Core 2 Duo OC'd to 4Ghz. I think that's fast, right? I have 5 hard drives, with my OS on a 250GB one... regular 7200rpm.
The only things that come to mind are:
1. The CPU is somehow slower at OC than stock (I can't say I haven't run into this, OC seems to shorten your lifespan)
2. My OS hard drive has gotten way below spec and is now slow
3. My OS has succumbed to bitrot
Now the issue is, when can I save up enough to upgrade? Each pay period I put some funds into a personal "everything goes" account just for me. I still need to wait awhile before I can get the upgrades I want: Sandy Bridge motherboard, Core i7, RAM, and SSD. I can barely stand it.
I've been in pain ever since (going on 10 years). I saw numerous specialist consultants - all of whom gave me the wrong diagnosis. Things I told them I thought would work, they would not do until coerced (and my expectations proved right). Things they told me would provide relief were useless. In the end, I was thrown entirely on my own resources, due to their blindness and refusal to listen.
I fixed some pains with surgical manipulation of my coccyx (a procedure I tricked them into doing). The classic lower-back pain was fixed by regular intense pilates (although the relief didn't come fully until I stopped doing pilates after 3 sessions a week for 52 weeks). Most recently I have fixed chronic and acute hip pain by taking some amino acids (who'd have thought there was a connection). One thing is for sure. You cannot trust the experts (be they occupational therapists, rheumatologists, orthopaedic surgeons, neurologists, physios, or pain specialists). Over the last 10 years I've been in touch with numerous patients whose condition has been made worse by the intervention of experts. At least nothing those idiots did with me made things worse (although with one of my problems, they were talking about cutting nerves, when I was convinced it was a relatively transient 12 month phenomenon).
Do take care of your back and your body. I considered suicide 6 times last year (being immobilised from back pain is bad, but is bearable if you can sleep; being unable to sleep night after night because of pain will eventually make you have suicidal thoughts). The only thing that stopped me, was knowing that it took my mother a decade to get over my sister's death.
Trust me. Until you are in pain day after night after day, and even the sub-morphine painkillers like Tramadol have no effect, you will not appreciate your life.
But do not believe the experts (although I note that the author is correctly warning but saying "do what's right for you").
Seriously, the lack of money makes you think about money every day and I'm not so sure I expend it in a chair or a bed if for some reason I get my hands on any amount of it, nowadays I'm sleeping in the living room in an old small mattress and ohhhh, the old laptop finally died.
The reason is this, hard times makes you better and anyone from the so called third world knows this. I would fight hard for free internet, free education and stuff like that but I don't really mind my chair that much.
Anyway, with everything being equal I suppose I could buy a mac book pro just for the fun of it.
Good stuff, I'd loved the Paul Reiser story...
E.g "8 steps for a pain free back" teaches you about how to change your postures so your back improves, being comfortable is not the same as being the right thing for your back, if your back is misaligned then a misaligned chair is comfortable for you.
Another useful tip, try coding standing up and buy a stool on Ikea when you want to seat. It will take 3 or four months for your body to get used to it but it but feels great later.(It took years for your muscles to get used to sit all day)
My chair is nothing special... just a leather office chair I bought for $80 ten years ago. But I think being able to go from sitting to standing throughout the day is more beneficial for the back & neck in general than a more expensive chair would be.
Ikea Galant — GeekDesk standing desk retrofit.
While I sometimes feel it's difficult to justify to developers to purchase ergonomic gear, it's even more difficult to convince them to invest TIME in exercise for the sake of improving overall wellbeing. And that's just because well, people are lazy.
But the reality (in our company) is that we need to fight really hard to have something new like computer, chair, ...
My colleague looks like a tourist on a deck chair relaxing on the beach. That's horrible.
I read a few months ago: Smart & Gets Things Done from Joel Spolsky and i discovered the Aeron chair.
I told to myself why not?
Here is the answer: "Are you kidding me? If you need one then i need to buy one for each employee!"
Please note that we're 10 employees.
8 months later we still have our poor chair.
Then one week ago someone (let's name him Mr X) told me: "Did you know that we paid a company to call a list of thousand prospect customers? It's very expensive but if i can have one or two new customers from that list, it's ok ..."
We don't really need the Aeron chair or the best chair we can find in the world. We just need a good chair for our back.
I'm a fellow PDX programmer, and I saw that Nerd Dinner link in "Sharpen the Saw" article.
The reference you linked to appears to be no longer referenced. Are there still Nerd Dinners going on?
Thanks,
Eli.
The thing we all have in common is that we all paid our own money for the specialized gear. I have (almost) always been a contractor, so I've always paid for my own pens and pencils; I have never even asked an employer for ergonomic doo-dads. On the other hand, I've never been denied and I've never had to leave anything behind when I left a job.
As far as chairs go, though, I have a funny situation. The best one I've found lately has been the ancient desk chair that was in my cubicle when I moved in; newer chairs eventually set off the pinched nerve in my neck. I haven't tried a hyper-expensive chair because they are hyper-expensive for an experiment, and I have not been able to test-drive one.
I try to at least take an hour or so long walk every day, and it's been a while since I experienced any significant problem.
I'm also wondering if there's an age where feeding the brain new knowledge is just seriously harder, which makes it difficult to keep up with the latest and greatest, especially in our line of work where stuff changes all the time.
In the meanwhile, I'm still cramming in whatever I can all the time! I just don't want my brain to turn into the consistency of split pea soup by the time I'm 50.
1. Sitting + Stress + Incorrect muscle usage + Muscle overuse + Muscle weakness + Muscle tightness -> Trigger Points. Trigger points are small areas of extreme muscle tension that can refer pain to other areas of your body.
2. Postural distortions caused by factors in (1), as well as trigger points, lead to even more (seemingly unrelated) postural problems and more trigger points in other areas of the body.
3. Trigger points may go unnoticed for years, until gradually they get so bad that they start to hurt constantly.
4. Trigger point massage eliminates trigger points. After that, heat and stretching can also help.
5. Trigger points will continue to come back until factors in (1) are corrected.
6. Ergonomic equipment, trigger point massage, muscle strength, correct muscle usage, and taking breaks (varying activity) are all part of the solution.
An excellent book on trigger point therapy can be found here: http://www.triggerpointbook.com/. I've used the tips in this book to cure most of my pain.
For example, most lower back pain is actually referred from the abdominal muscles and the psoa muscles. Trigger point massage to these muscles, retraining how you bend down, followed by core strengthening exercises, will eventually eliminate back pain as long as you don't slouch in your chair all day. :)
Another example is wrist pain. Most of my wrist pain actually comes from trigger points in the scalene muscles in my neck. This is also sometimes called thoratic outlet syndrome. I can massage the scalenes to make the pain go away, but as long as I slouch in my chair with my neck thrust forward, and don't take enough breaks, the pain comes back.
Nothing's really helping it, but Sunday night, I set up a new steel bed frame and 12" memory foam mattress we got at Wal-Mart for around $500 total. Since then, I've woken up without pain for the first time in years, and slept through the entire night.
Of course, the pain still comes back during the day, but I'll give a hearty recommendation to getting another mattress/bed frame.
Day 1 of my move to a stand up desk
I really appreciate y'all taking the time to enlighten the fold. grazie mille.
The thing that got me out of it was getting a subscription in a fitness center and train with a trainer twice a week. Not cheap, but worth EVERY cent!
I think for most sitting people this is _the_ best (and necessary) thing to do. Move that ass!
Nice article.
I always thought there is a paradox in the more expensive hardware: my fellow consultants have cheaper, slower laptops with smaller screen-resolution and therefore take a longer time to finish the same job than I do.
So they have lower expenses and can bill more hours just because of that!
I wouldn't settle for the cheaper stuff though!
Typed from my 16Mb DELL Precision M6400 :-)
Cheers,
Karel
Although even my aeron chair and plush memory foam mattress don't fully protect against 16 hour programming stints!
JP
Your blog post about your own issues with RSI/similar is from 2004, so I'm wondering how it's going now ?
And if you've had improvements, or managed to at least stall it so it didn't get worse, I'd really like to hear how ?
I've had RSI for aprox 1½ year now, and whilst I'm able to keep it at a low, I'm constantly scared it'll get worse.
What's worked well for me is:
- Regular exercise, the exercises I got from a physioherapist and they're mostly meant to strengthen the muscles in hand, arm and shoulders.
- Chiropractor visits, he released some muscles etc. and gave a few stretching exercises.
- Getting a raisable table, so I can switch between standing and sitting when working.
Still though I'd really like to improve it further, as I still struggle with symptoms every day.
- Steffen
Sitting or standing or lying in the same position for 8 hours is bad no matter what. The key is alternate as often as possible. Height-adjustable desks are great; they should be mandatory in every office!
But I think the most important is the last one. Knowledge must be a priority in a developer's life.
Thank you! (:
(Or is there some way to prepare for this event and get the PC back up to speed quickly that I'm not thinking of?)
Folks who asked - My desk is a Steel Case Series 7.
The same goes for monitors - only a few employees are lucky to get dual-monitor setups, and many are still working on one 17" monitor for years..
All this in countries with decent wages for programmers (over 1.000euros/month), not India or China.
Sure, who works from home daily, it's another story..
To the list in the article I would add:
- invest in a proper air conditioning system - it's nothing worse than having to work during the summer in a hot room at over 30 deg Celsius, or to have a fan blowing over you for 8 hours ..
This was a very good post. I followed the link to the "Programmer's Hands" blog post and I was wondering if you have any follow up with that post? Do you still use the dictation software? How's your hands doing?
Thanks. Keep it coming.
Brian
Having just had a spinal fusion 3 months ago, I must agree with everything on this post. Please people, take care of your back! A good bed and chair are a must. My company was very kind to me and bought me a LifeForm chair after surgery and wow what a lifesaver. I wish I had one of these at home for those after hour coding sessions.
Anyway, if anyone else reads this looking for advice on chairs etc...go to your local Relax The Back store and look at LifeForm chairs. They are very comfortable and most of them will let you take a loaner for a few days which is a MUST if you are spending $$$$ on a good chair. Everyone is different and not one chair is perfect for everyone.
Scott, thanks for posting your experiences. I was searching all over for posts like this just a few weeks ago before I got my new chair.
To prevent RSI, I rotate out 3 different keyboards. I use an Apple, a MicroSoft ergo and a straight OEM. I rotate them once a week so that there are subtle changes in hand, finger and wrist positions.
On the point of exercise:
A tech writer I worked with made an observation on programmers - We will spend 3 days writting a script that will save us 2 minutes every time we run it. Over the life of the script it pays off. However how many of us will spend 90 - 180 minutes a week to keep our bodies functional (let alone healthy)? Without our bodies none of the other stuff on the list matter. I have found even just getting up and walking to the water fountain once an hour can help out with back problems.
To avoid RSI problems do a few things:
First I have found that using a natural keyboard with a reverse slant works best for me. By reverse slant I mean the side that is closest to me is higher than the other side. See the Microsoft 4000 (my current keyboard) for an example. These seem to keep the arms in better alignment than even a normal natural keyboard.
I routine switch my mouse hand. I find I get more problems from using the mouse, even when correctly using my whole arm, than from typing. Switching it up gives those muscles a rest.
Most nights I also work with a set of Chinese exercise balls. These are sometimes called health balls or baoding balls. Not only does it work the hand (and more importantly wrist) muscles differently but it helps to build strength and some flexibility.
If I am spending too much time on a bad keyboard I also add some simple hand/arm stretches.
So far (knock wood) I have not had any RSI problems. If I think something might be starting I start looking for something new and different to do with my hands/arms to get them moving differently.
First, I've researched chairs and landed on the Aeron as the best choice. Do you think I should buy it outright (around $880 now), or is buying one on Craigslist a valid option (around $500). Just wondering if they hold up well enough to get second hand.
Second, did you do any research when looking to get an adjustable desk? If so, could you let me know (or make a post on it)? I'm currently looking at desks and there's a few nice ones (GeekDesk, NewHeights, and SteelCase like you've mentioned). I'm just wondering if you formulated any opinions between them, and what your opinions were.
- Jesse
As for the chair, they do stand up to time so get one cheap.
I've been researching a better setup, so I'm glad to hear that the chair lasts since that'll make my wallet a bit happier :D
Literally changed the game on sleep and backpain. Also, invest in a good memory foam pillow... don't skimp on the pillow.
Comments are closed.