A Guide to Software Engineering for the Visually Impaired
Abrar Sheikh, Software Engineer
- Oct 29, 2018
My name is Abrar Sheikh, and I’m a backend engineer on Yelp’s Distributed Systems team. Our team enables real-time data transfers between microservices and different data stores by building streaming infrastructure on top of Kafka using technologies like Python, Scala, and Apache Flink.
I suffer from a genetic disorder called Albinism, which is mainly characterized by two things:
- Lack of pigmentation in the body, resulting in a white skin and hair tone.
- Severe loss of vision, which limits the ability to perform routine tasks such as driving, reading, or using computers.
Growing up, I was fascinated by computers. Luckily my parents led me to pursue a career in software engineering. I’ve faced many challenges along the way, but through deliberate practice and employing some simple tricks, I’ve been able to successfully grow my career.
In this blog, I’ll cover the following topics:
- Understanding what low vision really means.
- How low vision impacts certain population groups and its effects on society.
- Common challenges that people suffering from low vision face in education and employment verticals.
- Simple and effective strategies to overcome these challenges.
We’ll start off by discussing which aspects of vision impairment apply to people with low vision, both regardless of profession and in software engineering specifically. This is by no means a comprehensive list of problems nor a complete set of recommendations; this is solely based on my personal experience. My ultimate hope is to convince you that software engineering doesn’t have to be a difficult profession for someone suffering from severe vision loss.
What is Low Vision?
This chart will likely look familiar to most of you. It’s called Snellen’s eye chart and is used by optometrists to measure visual acuity. Essentially, the further down the chart you’re able to read, the better your vision is.
A visual acuity lower than 20/70 may be considered low vision, and would likely require someone to use alternative methods to engage in regular visual activity. However, keep in mind that this definition of low vision is subjective and does not universally apply to every individual.
Personally, I prefer a more functional definition of low vision: uncorrectable vision loss that interferes with daily activities. In other words, “not enough vision to do whatever you need to do.” This can vary from person to person. For example, a visual acuity of 20/70 would be perfectly acceptable for a truck driver, whereas a visual acuity of 20/70 would be too low for a medical surgeon.
Here are some interesting numbers I pulled from the 2015 American Community Survey and Report published by the National Federation of the Blind:
As seen from the charts above, a significant portion of the American population suffering from low vision drops out of the education system early on, and the unemployment rate for this group is significantly higher than those with normal vision.
What are some of the reasons for this distinction?
- Lack of a supportive learning environment in classrooms for students with low vision.
- Restrictive access to reading and learning materials for students with low vision.
- Lack of documentation around access to technology for people with visual impairment.
- Lack of structure and awareness for creating an inclusive working environment for people with visual impairment in a professional work setting.
In the following sections, I’ll outline some solutions that have worked for me to overcome these challenges.
Let’s see what challenges exist in an academic setting for a person with low vision and how they can overcome them.
Our current education system is centered around classroom learning, and for decades this has been the primary way of consuming knowledge. The problem with this system for someone with low vision is that, in most situations, even with the best possible corrective lenses and proximity to the front of the class, it’s not possible to easily decipher the content on the board or projector.
These limitations can be alleviated with some simple strategies:
- Reach out to your student registrar: They can help facilitate appropriate accommodations like extra time for exams and assignments, access to larger font notes and textbooks, classroom assistants for taking notes, etc.
- Make your professor aware of your condition: They can get you access to recorded lectures from previous years, allow you to audio record the lecture, or provide access to slides and lecture notes beforehand.
- Get a monocular: This is a visual aid device that can help read distant texts.
It can be difficult to read certain materials like books and research papers due to their small font size. This can be remedied by using a good magnifying glass; one with at least a 3x-5x optical zoom should sufficiently offset any reading difficulties. As simple as this sounds, it’s often overlooked because it takes some time to get used to.
Reading content on a computer screen can be more challenging than books, as the content on the screen is significantly more dynamic in nature. To elaborate: the layout on a computer screen is less predictable and changes often; text rarely follows a prescribed format and can differ among applications. These factors pose challenges for someone with low vision. At the same time, it’s hard to imagine a career in software engineering without easy access to technology, something that’s become increasingly true across most professional fields. Fortunately for us, the early developers of operating systems built their software with accessibility in mind.
Both Windows and MacOS come with their own versions of on-screen magnifiers, which work great. This is how it looks in reality::
You’re probably wondering how I’m able to swiftly navigate my way through the screen while using a magnifier? I get asked this question a lot, and it can be easily explained with a driving analogy.
Imagine you just moved to New York and have no idea what the city’s map looks like. The only way you can get from point A to point B is by using a navigation system. This navigation gives you a broader view of the city while you use the windshield of your car to actually look around and make driving decisions. This is exactly how a person with low vision uses the on-screen magnifier to engage with applications on computers. The zoom area of the screen is analogous to the windshield of the car, while the rest of the screen is analogous to the navigation system. A person with low vision can see a localized area of the screen clearly while still being able to see where it fits in the broader context of the entire screen.
When I began interviewing with companies, one of the biggest battles I faced was my own insecurities. I would constantly analyze my limitations and conclude that there was no way in the world anyone was going to hire me. It almost sounds silly to say that now, but the fact is, to some degree we all find ourselves in that same mindset.
If that situation sounds familiar to you, this is what I want you to remember: Your hiring manager typically only cares about the answers to the following three questions:
- Do you have exceptional analytical and problem-solving abilities?
- Do you have the right leadership skills to drive important business decisions?
- Are you a strong team player?
I know it sounds simple, but in my experience, this has always been the case. One thing I can say with confidence is that your visual limitation has little to no impact on your ability to fulfill these job requirements.
If you do need certain accommodations during the hiring process due to your disability, please don’t hesitate to bring it up with your recruiter. From personal experiences, after having spoken to a lot of technical recruiters, I can attest to the fact that your physical limitation is definitely not one of the factors that goes into the hiring decision.
When interviewing a candidate with the low vision, the interviewer should keep the following in mind:
- Ask the candidate if they need extra time.
- Ensure that all coding questions can be conducted on a whiteboard instead of a computer.
How Can Your Peers Help?
As a manager, you can help provide appropriate workplace accommodations for engineers with low vision. These can vary from person to person, but here are a few things that I’ve found helpful:
- Having a desk that’s away from sunlight, as extremely bright environments make it difficult for me to read the screen.
- Sharing the slide deck with me during each team meeting since I often don’t have visual access to the content on the projector.
As a peer, if you’re working on a problem with a low-vision engineer, using a whiteboard for discussions and tickets or documents for sharing problem context makes a huge difference. Engineers with low vision have a certain way of using computers with accessibility turned on; while they can work seamlessly on their own computer, they may not necessarily be able to on someone else’s.
As a tech community, we should all strive to follow consistent coding standards, test coverage, and solid code documentation. This is important because while an engineer with normal vision can read about 10 lines of code without moving a visual muscle, an engineer with low vision can only read about three lines in the same amount of time.
Recap and Conclusion
Gather Your Tools
- Adopt the usage of assistive devices like monocular and magnifying glasses to gain access to classroom education and reading material.
- Use an on-screen magnifier to access computers.
Practice and Perfect Your Skill
Spend time familiarizing yourself with the above mentioned devices, as it’s likely going to take more time for you to reach the same level of efficiency to perform routine tasks as a person with normal vision.
Ask for Help
It’s in your best interest to make your peers aware of your limitations so that they can step in and help whenever necessary.
The content in this blog was first presented at PyOhio 2018.
Yelp fosters an inclusive work culture that brings out creativity and enables self development for all. To learn more about working at Yelp, I highly encourage checking out our Careers page.
If my blog post has left you curious and with lots of questions, or if you just want to say “hi,” I’m reachable via twitter at @abrarsheik.