May is Healthy Vision Month, so here are some thoughts on how software developers can protect their vision.
A career in software or computing can involve years of staring at a computer screen for extended periods. The consequences to your vision, which can affect not only your productivity as a software developer but also your quality of life in general, should be taken seriously. Here we share some key strategies for sustainable vision health.
Understand the Risks
First, know the risks to your eyes. Eye problems caused by computer work are generally classified as Computer Vision Syndrome (CVS). CVS includes a variety of symptoms such as eye fatigue, blurred vision, double vision, dry or red eyes, headaches, and/or neck or back pain. The most common of these is eye fatigue. The eye muscles tire of doing the work required to maintain focus on the screen. As we age, this problem can worsen because the lenses become less flexible, requiring more muscle work to maintain focus on the screen.
Have Yearly Eye Exams
The next best action you can take for your vision is to have your eyes regularly examined by a medical professional: an ophthalmologist or an optometrist. Both perform eye exams, but an ophthalmologist is a medical doctor (MD) with additional years of medical training, including an internship and a residency in ophthalmology. If you are fortunate enough to have vision insurance, take advantage of it. Many programs cover annual vision exams and many employers cover prescription computer glasses. Also, be aware that computer glasses are different from reading glasses. The distance the eyes have to focus on a computer screen is farther than the distance for reading, so ordinary reading glasses may not work well for computer work. By building a medical history of your vision, even subtle changes in vision health can be detected and corrected early, often before they become such that permanent eyewear is needed.
Adjust Your Monitor and Room Lighting
Avoid glare and or light sources in your field of view, even the periphery, as you look at your computer screen. For example, avoid having your screen positioned in front of a window or bright desklamp. For most office spaces, the ambient light should be about half of what the office lighting was designed for. Indirect lighting (off the ceiling or wall) is better than direct lighting because it's more diffuse. Adjust your monitor brightness to match the ambient light in the room. Use LCD monitors with high refresh rates (120 Hz and above).
Select Color Schemes and Fonts Carefully
For your terminal color schemes, should you use light text on dark background or vice versa? The web is full of opinions and anecodotal evidence but lacking in formal medical studies with definitive outcomes. Different color schemes may work better for different people, or routinely alternating schemes may stave off eye fatigue. One color scheme worth considering, however, is Solarized. It offers both dark and light background themes and is designed to maintain good selective contrast for syntax highlighting used in various editors. You can find color settings files for numerous editors and IDEs on Github. What about fonts? The most important strategy is to use fonts that enable rather than get in the way of code development. Of course, use a font size that is easier rather than harder on your eyes. In our desire to cram as much information as possible onto a single screen full of text, we all too often opt for font sizes that are too small and can cause our eyes to fatigue quickly.
Take frequent breaks to briefly rest your eyes. A common best practice is the 20-20-20 rule: Every 20 minutes, find some object 20 feet away and stare at it for 20 seconds. Many apps are available for your phone, pad, or laptop that can help you remember to take breaks. Several apps also can help you exercise your eyes and might even be able to improve your vision. One in particular, Flux, tries to optimize the color mix of your screen's light based on the time of day. There is a lot of research to substantiate that frequent short breaks often lead to greater productivity in general.