TechnologyUncategorized

No Obstacles: the Journey of a Blind Developer

woman climbing rocky mountain photo by on Unsplash

Before learning to code, I thought all developers wrote in the cryptic 0’s and 1’s of machine code. Little did I know that, within the first few hours of learning to code, I would be putting up my first web page. In this post, I tell a bit about my story getting from beginner to creating responsive web pages an applications. I also gives some reasons for why it’s so great for people with disabilities, especially those who are blind, to learn to code.

How It All Started

My coding journey began back in 2014. After spending a couple weeks learning basic HTML and CSS, I got excited about seriously learning to code. Since I was in college, I decided to enroll in an introductory course from my university that was based on MIT’s popular course, Structure and Interpretation of Computer Programms. This course gave me the most thorough overview of programming concepts I could have asked for. Topics we covered include basic programming building blocks such as variables and functions, intermediate concepts like recursion and object-oriented programming, and advanced programming paradigms that included writing a programming language interpreter and parallel programming. I took the course because I wanted to be challenged, and I was given difficult problems to solve from day one.

Since I did not know any other blind or visually impaired students who have taken the course before me, I had to figure out how to best leverage the functionality of my screen reader and the text editor to establish an accessible development environment. I spent many days pouring over the course material in order to understand it and apply what I learned to tackle the programming assignments and quizzes. I was blessed to have had wonderful TAs who went out of their way to help me, answering questions through in-person and by E-mail in record time, patiently explaining difficult concepts and debugging my code with me, and allowing me to complete the course at my own pace. Thus, when I finally passed the course, I felt that I had a firm grasp of the programming fundamentals, and I was charged with the thrill of having solved many difficult problems.

During the next three years, while I was pursuing a master’s degree in rehabilitation counseling, I was also reading books and taking courses in programming and technology at the same time. I am passionate about increasing access to opportunities to people of all abilities, and knowing how to build accessible software would make me more effective to this end.

Therefore, I took courses in the areas of assistive technology, web development (HTML, CSS, Javascript, the Ruby on Rails framework), computer programming (using the Python and Java languages), and data structures and algorithms (using Java). With my new-found skills, I have been able to create web sites, command-line games such as Tic Tac Toe and chess, and solve difficult programs such as sorting and searching through data using various algorithmic techniques. Even though programming is hard, I love the opportunities programming gives me to tackle challenges and build useful tools.

What I Would Have Done Differently

If I were to learn to code over again, there are certainly some things I would do differently.

Learn essential keyboard shortcuts for my text editor early on.

In the simplest terms, text editors are applications that help programmers write code more efficiently. Unless you can listen to several hundred words per minute, programming with a screen reader is going to take a bit longer, since they could only read a line at a time. In addition, sighted programmers use syntax highlighting and indents to visually keep track of which part of the code they are working in. However, having the screen reader read out every space and highlighted character becomes annoying very quickly.

When I first started using the text editor Emacs to write short programs, I would code using the standard set of keyboard commands provided by the screen reader on the Mac, VoiceOver. To find errors, I would use the arrow keys to move up and down my file to locate specific lines, and I had to retype my code many times because I could not use the standard cut and paste commands to move my code around. When I learned several keyboards shortcuts for Emacs, including commands to quickly cut and paste code, search, jump to a specific line, and work with multiple buffers to allow for quick reference and transfer of code between files, I more than doubled my efficiency.

Stop Debugging and Ask for Help

There is certainly a lot of benefits to try and figure out the solution than if you merely searched for and copied an answer, you tend to learn and retain more information, and you may pick up strategies for tackling similar problems in the future. However, I often found myself struggling for hours, implementing similar solutions, hoping, with each try, that this time would be when I finally find the breakthrough insight for my problem. When I finally asked for help, I learned that, when looked at by someone else with a fresh pair of eyes, a bug that seemed impossible for me to fix or a concept that took me hours to understand could be resolved in minutes! If no help is available, taking a break, preferably overnight, can also be useful. When I wake up bright and refreshed in the morning, I am able to look at the problem in a new angle and find a new way to resolve it.

Choose One Course or Program and Stick With It

I used to spend many hours browsing the Internet for the best resources to learn to code, signing up for anything that was either free or very affordable. I find that I have only used a few of these resources, while, with the the rest, I have have not even gotten passed the first module! It is better to find a good programming tutorial, a book, or an online course and to stick with it, rather than dabbling in a few things at once. You will learn more and faster, if you focus on mastery in one area than dividing your attention between multiple tasks.

Opportunities in Tech

Technology has been instrumental in creating opportunities for persons with disabilities by providing the tools we use to gain access to information, education, and employment. Just as the number of accessible products are increasing, the availability of resources teaching people to code have also exploded. From programming books and self-paced online courses to coding bootcamps that promise to make you into a developer within 3 to 6 months, there are multiple resources for anyone who wants to learn programming, regardless of background or learning style. Best of all, many of these resources are accessible and completely free!

As the world becomes more and more dependent on technology, the demand for persons with tech skills will only grow. In addition, developers regularly earn thousands more than employees in many other industries. According to statistics from the U.S. Bureau of Labor:

  • Employment for web developers is projected to grow 15%, much faster than the national average for all occupations, with a median salary of $67,990 per year in 2016.
  • Employment for information security analysts is projected to grow 28% from 2016-2026, much faster than the national average for all occupations, with a median salary of $95,510 per year in 2016.
  • Employment of software developers, applications is projected to grow 24% from 2016 to 2026, much faster than the national average for all other occupations, with a median salary of $101,790 per year in 2017.

You get the picture, working in tech is one of the most in-demand and well-paying jobs in this knowledge-based economy. More importantly, though, is the fact that if you know how to code, you can create powerful tools to empower communities.

Although many mainstream devices and applications can bow be accessed by persons who are blind or visually impaired, the digital landscape is still far from universally accessible. Due to the shortage of developers with disabilities, as well as the fact that accessibility is not a concept widely understood by programmers, many web sites and applications still remain inaccessible today.

If you love to learn and solve hard problems, if you are empathetic and want to use technology to improve the lives of others around you, then you have what it takes to be a good developer. Why not explore some of the learn-to-code resources out there and give programming it a shot!

Conclusion

Learning to code is hard, and the challenge only increases when one uses a screen reader and must come up with alternative methods to accomplish various tasks. I hope that, by sharing with you the resources and steps I personally took in learning to code, we could start conversations that would encourage more aspiring developers, who happen to be blind, to embark on their own coding journeys.

Did you like this post? Share your thoughts with me in the comments!

Before learning to code, I thought all developers wrote in the cryptic 0’s and 1’s of machine code. Little did I know that, within the first few hours of learning to code, I would be putting up my first web page. In this post, I tell a bit about my story getting from beginner to creating responsive web pages an applications. I also gives some reasons for why it’s so great for people with disabilities, especially those who are blind, to learn to code.

4 thoughts on “No Obstacles: the Journey of a Blind Developer

  1. It is a great article, which depicted your journey of learning the codes. “Learning to code is hard, and the challenge only increases when one uses a screen reader and must come up with alternative methods to accomplish various tasks”. I admired your passion and perseverance displayed in the learning.

    1. Thank you so much for your kind words. I hope that by sharing my story, more people will be encouraged to take advantage of the opportunities out there and achieve their goals.

  2. OMG Judith. I am so very proud of you and your accomplishments. Who ever imagined you would become a computer geek. Please be in touch and share with me what else you are doing. Where do you work? Where do you live?

  3. It is so nice to hear you are doing well Judith. I am so impressed at all you are doing. Learning new skills is essential in today’s world for finding and keeping a job. Looking forward to following you in your journey.

Comments are closed.