As software developers, we find ourselves at our computer workspace most of the time. Although it seems harmless to be at your desk, there are hidden dangers associated with it. One of the most dangerous side effects is RSI (repetitive strain injury).
I have done another post about ways you can stay healthier as a developer. Seeing the importance of ergonomics, I want to dive into more details about it. I am going to cover about:
- Sitting posture
- Ergonomic tools
- Ergonomic layout
Sitting Posture
The Occupational Safety and Health Administration (OSHA) has an official page about computer workstation ergonomics. It is filled with details, much more than what most people would need. So, I would like to summarize what is on there with this picture OSHA provided.
Some of the main points this picture tries to show are:
- The top of your monitor should be at eye level and directly centered in front of you. The monitor should be approximately one arm length in front of you.
- Your feet should be flat on the floor with your knees at about 90-degree angle. Your seat should not be pressing against your knees. Most importantly, sit fully back in your chair, with your back and shoulder straight and supported by the chair.
- The desk surface should be roughly at your belly button level. When you place your arms on the desk, your elbows should be about 90-degree angle. The chair’s armrest should be about the same level as the desk surface to offer support for your elbows.
- When you are typing, your wrists should be in-line with your forearms. Your wrist should not be bent up, down or to the side. The keyboard should be centered in front of you with other frequently used items within arm’s reach.
Ergonomic Tools
As software developers, we are constantly using the keyboard and mouse. We are also sitting down most of the time. Therefore, it would only make sense to invest in a quality chair, keyboard, and mouse.
Keyboard
There are many varieties of keyboards out there nowadays, ranging from full-size, tenkeyless, 75 percent, 60 percent, and ergonomic. For software development, not all the form factors are viable. Personally, I only see the full-size, tenkeyless, or ergonomic keyboard as possible options.
In addition to the form factor, the type of key the keyboard uses is also important. For example, mechanical switches, rubber dome, and membrane are the common types. Often the membrane/rubber dome variant feels mushy when pressing down on a key. To actuate a key on a membrane keyboard, you must fully press down the key (bottom out). For mechanical keys, you only need to press the key down part way before the switch takes over to hit the bottom for you.
I personally use a tenkeyless mechanical brown Cherry MX switches keyboard because of its portability and typing comfort. I have not tried any ergonomic keyboards, so I cannot offer any personal experience with them. However, from my research, they definitely do help developers by providing comfort and reducing strain on their wrist when typing.
Update: I have made the move to ergonomic keyboards such as the Microsoft sculpt and Kinesis Advantage 2 and have never been happier. After an entire workday of typing, my wrist does not have any pain at all.
Mouse
An ergonomic mouse is becoming more common and affordable nowadays. Some are curved and maintain the common mouse layout of a left and right click with a scroll wheel. Then there are others such as trackball mouse where you move the cursor by rolling the trackball around with your thumb or fingers.
I am currently using a curved ergonomic mouse to see if I notice any difference from a regular mouse. So far, I am definitely noticing a difference in the strain I feel at my wrist when using the curved mouse. By the end of the day, I do not feel any pain in my wrist at all. For those of you that are interested, the ergonomic mouse I am using is the Anker Ergonomic Wireless Vertical Mouse.
Update: I have been using the Anker ergonomic wireless vertical mouse for over a year and it has been great. After an entire day of usage, I feel no pain at all in my wrist.
Chair
A chair is surprisingly important when you are sitting a lot each day. A quality chair provides you with comfort and helps you maintain proper seating posture. This can have an overall impact on your productivity and health (especially your back). If I have not convinced you that a quality chair is important, maybe this will.
Workrave
Workrave is a software that assists in the recovery and prevention of Repetitive Strain Injury (RSI). The program frequently alerts you to take micro-breaks and rest breaks. You can find out more from the posts where I talk about using Workrave to increase your productivity and being a healthier developer.
Ergonomic layout
With so many different possible combinations of desks, keyboards, mouse, and chairs out there it is impossible to cover them all. Instead, I will go over the important layouts for your workspace. These layouts focus on offering you the most comfort and reduced strain to your wrist.
- Your monitor should be directly centered in front of you. If you are using a multiple monitor setup, angle the monitors. Do not have them all straight across the desk as it would be strenuous to your eyes. All the monitors should be about equal distance away from you when you are looking at one directly.
- Your keyboard is directly centered in front of you. By centered I mean the alphanumeric portion of the keyboard is centered in front of you. So if you have a full-size keyboard, the number pad would be to the far right.
- Your mouse should be as close to your reach as possible. If you have a full-size keyboard you may notice close is still far from your reach. This is where a smaller size keyboard may be worth trying out. If possible, you should keep the keyboard and mouse within reach without having to reposition your arm.
- Set up your chair and desk based on the sitting posture section above.
Investing early in preventing RSI is important for developers. RSI can put a halt to your career as a developer. So you should take care of yourself before it is too late. A simple way to start is by creating your own ergonomic workspace.
Did you find this post helpful? If so share it with someone else who can benefit from this post.
Are there other ergonomics related information I did not touch on?
To get in touch, you can follow me on Twitter, leave a comment, or send me an email at steven@brightdevelopers.com.
Pingback: 8 Ways to Prevent Burnout as a Software Developer - bright developers
Pingback: 8 Ergonomic Tips to Make the Most Out of Your Standing Desk - bright developers