Bring your karma
Join the waitlist today
HUMBLECAT.ORG

Blind and Visually Impaired Community

Full History - 2020 - 11 - 23 - ID#jzstmt
12
Seeking help and support from fellow software developers and visually impaired. I'm going through eye sight loss, depression amd hopelessnes. (self.Blind)
submitted by EggBender93
Hi!

I'm a 27 year old male and I work as a software developer. I've worked as a developer for 2.5 years.

My eye sight is about 20/100 in both eyes. It's even worse because I have started developing blind spots in the center of my vision. It affects my stamina and speed when reading code and forums.

I'm so worried and I'm going through a crisis atm. . I'm worried and feel hopeless that I will not be able to work as a developer anymore. Sure, I am practicing to use a screen reader. But I'm worried I will not be productive or fast enough with the screen reader to make my employee satisfied with my results.

I do get anti depressants now and will see some therapists to help my mental health.

However, I have some questions to you developers out there.

How do you stay enough effective and productive with just using a screen reader? Can you learn to be almost as effective as a sighted person? When I look for answers on Stackoverflow for example, I have to tab through every page element and it's kind of slow and makes me stressed about if I'm not fast and productive enough. I do use the specific element keys too for headers and lists. But there is always some degree of tabbing/stepping element by element I guess, or is there a workaround?

How do you deal with accessibility issues such as using VoiceOver in Visual Code? Do you just try hundreds of IDEs and programs? VoiceOver is a bit clumsy in my opinion compared to NVDA.

How is accessibility on Linux today in the major distros such as Ubuntu or Mint? Should I get a Linux computer or is that a big no-no? Is everything accessible with Orca today? Or should I only use Windows and NVDA?

Just to emphasize, I really have worries about being too slow not being sighted. Did you learn to be almost as productive with a screen reader as a sighted person? Does it just take x years of practice?

How do you deal with missing semi colons, brackets and indentation when building your code?

Thank you all. You are an inspiration to me. Sorry if I'm a bit of a debby downer but I want to become an independent developer like you but have lots of worries.
bondolo 7 points 2y ago
To some extent your effectiveness is going to depend upon the type of development you are doing, the language, IDE and toolchain used or required for that development, and the team practices.

You may find it necessary to adapt your software specialty to be more effective. This may involve learning new tools and more assistive technology. Some jobs are also going to be harder than others with visual impairment.

Some advice that applies to all programmers whether sighted or blind; if velocity is the primary consideration in your work you are probably doing low skilled piece work. You might as well be a tailor running a sewing machine. For harder problems like building protocols, security systems, systems architecture, and a myriad of other areas your "speed" isn't dependent upon how fast you can type, how fast you can use an IDE or editor. The problems involve a lot more context and complexity than "piece work" programming and those are skills you can develop. You can and should still code but your performance won't be evaluated on how fast you can crank out code. Some people might tell you to try to become a manager. You can take that path if you want to but there are also lots of ways to continue to be an individual contributor if that is your preference.

Don't lose hope. There are many blind and visually impaired software developers doing excellent work gainfully employed, contributing to open source, teaching and participating in the software community.
Fridux 2 points 2y ago
> Some advice that applies to all programmers whether sighted or blind; if velocity is the primary consideration in your work you are probably doing low skilled piece work. You might as well be a tailor running a sewing machine. For harder problems like building protocols, security systems, systems architecture, and a myriad of other areas your "speed" isn't dependent upon how fast you can type, how fast you can use an IDE or editor. The problems involve a lot more context and complexity than "piece work" programming and those are skills you can develop. You can and should still code but your performance won't be evaluated on how fast you can crank out code.

While I agree with this statement in principle, in my experience this is not how things pan out in most real world cases, where the economic and sometimes political pressure forces almost everyone to output as much code as possible in the least amount of time, and experience is valuable because it allows you to output greater quality code without having to think as much. I do not deny that there are companies doing very skilled work where quality of code is the primary objective, but they are a very tiny slice of the pie. Everywhere I've worked the rule was to pick up an open source library or framework with a compatible license that could do most of the job and write the glue code to make it work as quickly as possible, sometimes to a fault due to political reasons either from clients or from my own employers that made no technical sense other than to make someone look good for using specific technologies.
EggBender93 [OP] 1 points 2y ago
Thank you so much for the encouragement. You guys are just amazing and a life saver to me in my current crisis I'm going through. ❤

I guess I should always keep trying to look for an OS and toolchain that is accessible for my tasks. Also keep improving my skills so I don't have to just work as a code machine. Maybe I should practice and specialize more in database design and creating the different modeks and relations. Also focus more on backend than frontend.

Are you blind or visually impaired? Just curious.
bondolo 2 points 2y ago
I am sighted software developer. I've worked mostly on systems, middleware, communications and robotics. I know and have worked quite a few blind technologists over they years, including my wife who works in web accessibility and my brother in law who was a blind programmer. I've been a mentor for blind students and early career people working at Apple, Google, Oracle, JPL and elsewhere.
CloudyBeep 5 points 2y ago
Most blind people don't tab through elements. They use navigation quick keys (H for headings, L for lists, etc.).

You can set your screen readers to announce all punctuation. Some programmers use abbreviations like "lace" and "race" to stop "left brace" and "right brace" from becoming repetitive.

You can also set your screen reader to announce or play a tone to indicate levels of indentation.

Many successful blind programmers use refreshable braille displays, though this is by no means a requirement.
EggBender93 [OP] 2 points 2y ago
I use the "H" commands too for headers and so on. But there is no specific button for "go to next forum post answer" for example if I'm on a forum. There will always be some small degree of tabbing/stepping right? Maybe I just need to get used to it.
CloudyBeep 2 points 2y ago
The JAWS screen reader includes a keystroke to go to the next block of non-link text. Do the screen readers you use include such a keystroke?
EggBender93 [OP] 2 points 2y ago
There isn't a text block command for NVDA unfortunately.
Fridux 3 points 2y ago
NVDA does support jumping to the next non-link text by pressing N in browse mode.
CloudyBeep 1 points 2y ago
I didn't think there was. Is there one to move by paragraph?

Because it's open-source, you can suggest for it to be created or add the functionality yourself.
EggBender93 [OP] 2 points 2y ago
That's pretty cool. I use the NVDA screen reader. I will Google on that for a bit. Not sure yet.
annibear 4 points 2y ago
Not a software developer, but an analyst at a FANG company (I write a lot of code in other words lol). I'm legally blind and use a combination screen reader and Braille display--I also have a gigantic monitor that I use on 'good' vision days. I'm tired atm, but am happy to walk you through my setup and how I do things if you DM me. Almost 24 and I've been blind since I was a teen.
EggBender93 [OP] 1 points 2y ago
Thank you so much annibear. It means a lot to me in my current situation to get inspiration and encouragement from you. ❤

I am still thinking about a list of questions I want to ask. I will DM you later today about how you work. Have a wonderful day.
paneulo 3 points 2y ago
To answer some of your questions, yes, it really just is about practice. What you're feeling now sounds no different from how a junior developer feels when looking at a senior developer. What they do almost seems like magic, or at least so hard that you can't ever imagine yourself getting there. But yes, it's totally possible. Here is what has worked for me as a full-time developer:

1. The more you get familiar with your screen reader, the more you will start to crank up the speed of the voice. This will help make up for the extra time it takes to navigate a website. Also, that navigation time will also decrease as you get more comfortable with the tool.
2. Stick with Windows. If you need to access Linux, use PuTTY or another ssh client. Don't throw learning the AT tools of another OS on top of what you're dealing with at this point.
3. If you don't have an IDE, take a look at VSCode.
4. As for how you find missing semicolons, and the rest, well, you do so the same way everyone else does, by looking for them when your IDE or compiler complains. Over time, this becomes less and less of an issue, and most of your time is spent working on logic errors. Again, this is pretty similar to every other developer. Language syntax is a big problem, until one day it isn't. As others have mentioned, changing your screen reader to read more punctuation in certain apps can be helpful here. I personally don't do this unless I'm looking for a particular error that I think might involve a missing bit of punctuation.
5. The use of a screen reader does come with drawbacks; there's no denying that. However, it also comes with some benefits as well. As mentioned, you can probably read faster than most of your peers, and recognizing transposed letters in variable names becomes a lot easier.

At the end of the day, it's rather pointless to compare yourself to other devs. No two devs are alike anyway. Once you gain some experience using alternative techniques, you'll have things you are good at, and things that take you some extra time. Just like everyone else.

Just like very few developers are limited by their typing speed, you are unlikely to be limited by your use of AT after you've mastered it.

I'm reminded of an anecdote I heard from someone who was also dealing with vision loss, and was a relatively slow reader. When he was asked in the interview process if his slow reading speed was going to effect his employment, he responded with something along the lines of "Everyone reads Knuth at the same speed, no matter how fast they read." It probably goes without saying that he got the job.

Good luck. Feel free to post more here or DM me with further questions.
EggBender93 [OP] 1 points 2y ago
Thank you so much paneulo. It means the world to me to get these kind of responses and encouragement from you. It gives me hope. ❤

I will probably DM you at some point with some questions. Maybe later today even. Very interesting what you wrote so far.
paneulo 2 points 2y ago
Happy to help.
BlindGuyNW 3 points 2y ago
I use Emacspeak and the Terminal in general as much as I can, rather than any IDE, though I know VS Code has become more accessible lately. My day job is QA rather than software development, but I do have a Braille display and am familiar with the toolset at least on Mac and Linux. WINdows should be broadly similar, even if the specific tools available will be different.
EggBender93 [OP] 1 points 2y ago
Thank you so much for your comment. As I mentioned it means the world to me to get inspiration from you guys. ❤

So you do use Linux you say. I wanted to start using Linux but was discouraged by some forums that said it's not as accessible as Windows. Is coding and development accessible enough in Linux? Any particular distro you prefer? I also read that Orca is laggy and slow. Does Orca work well do you think?
Fridux 3 points 2y ago
> How do you stay enough effective and productive with just using a screen reader? Can you learn to be almost as effective as a sighted person?

Personally I can't, and as a result I do not develop professionally anymore as I'm extremely self conscious about my limitations as a blind developer.

> How do you deal with accessibility issues such as using VoiceOver in Visual Code? Do you just try hundreds of IDEs and programs? VoiceOver is a bit clumsy in my opinion compared to NVDA.

I use Xcode as an IDE for developing apps for the Apple ecosystem and as an editor for developing other kinds of things, which is more or less what I used to do back when I had sight but instead of using Xcode as an editor I used vim on the terminal. The only difference between now and back when I had sight is the way I mark large source files for navigation: Xcode has rotor settings such as jump to next error, jump to next breakpoint, jump to next mark, and jump to next function which are extremely important to me now. You can access these settings by pressing Control+Option+Command+Arrows, where Left and Right moves you to the previous and next rotor setting while Up and Down moves you to the previous and next item. Marks can be added to code by either using `#pragma mark` followed by a description of the mark in the C family of languages or by making a single-line comment with "mark" as its first word.

I also use the terminal a lot, which is an old habit from my sighted days, and that too has extremely helpful keyboard shortcuts such as Command+Arrows where Up and Down moves you to the next and previous marks on the terminal, Command+U drops a mark on whichever line the cursor is positioned, and Command+Shift+A selects all the text between two marks, which by default are dropped on every command line prompt.

> How do you deal with missing semi colons, brackets and indentation when building your code?

Regarding pairs of quotes, parens, brackets, or braces I just type both the opening and closing pair before typing the text inside, and have the option to do that automatically disabled in Xcode's preferences so I know exactly what I type. Regarding semicolons (which I tend to forget after coding in Swift for a while) compilers do a pretty good job at reminding me. Regarding indentation that's something you learn to live without, just like you learn to live without syntax highlighting, but if you truly need either you can press Command+Option+T or CapsLock+T (if you have CapsLock enabled as a VoiceOver key) and it will tell you the color of the text, the line number, and the indentation level including the number of leading spaces and tabs, and to make sure everything is properly indented for the sighted, you can select all the text in a source file by pressing Command+A after making sure that it compiles without syntax errors followed by pressing Control+I to re-indent everything.
EggBender93 [OP] 2 points 2y ago
I've read about many blind professional developers though. Do you work within any other field? Are you thinking about trying to code at a company? Just curious if you don't mind.
Fridux 2 points 2y ago
No, I just code for fun these days, and will continue to do so as long as my disability benefits remain being enough to keep me afloat. I could probably work as a developer since my 20 years of experience would likely compensate for my loss of productivity, but I don't want to be the clog on anyone's drain, so until I really need to, I won't be applying for jobs.
Dirty_Socrates 2 points 2y ago
I saw this today and it reminded me of this post https://www.reddit.com/r/reactjs/comments/k6gyey/reactaudibledebug_lets_you_hear_react_render_with/?utm_source=share&utm_medium=ios_app&utm_name=iossmf
Amonwilde 2 points 2y ago
I'm 20/800 and a programmer and you'd be suprprised how fast I work (faster than a median sighted dev). I use Linux and I've bound a fourth mouse button to read any selected text. I have no central vision but I can detect blocks of text on a web page and know the layout of most commonly visited website well. I just draw a quick selection around the target text and hit my mouse button. If this sounds interesting I could set up a github repo with info on this, I use a short script in bash to read text out loud using Espeak (I like it) and bind the key using xbindkeys. For 20/100 you probably won't need NVDA and something more targeted at low vision / VI probably makes more sense, though NVDA is really useful to know.
EggBender93 [OP] 1 points 2y ago
Thank you, that is very encouraging and interesting to hear. I replied to you DM. I'm akso happy to hear you're able to work on Linux. Because I've been interested in transitioning to that. What do you think about Orca screen reader? Is it accessible enough to navigate apps and menus, or do you only use terminal?
Amonwilde 2 points 2y ago
I'm in a bit of a weird place. Because I started with Cinnamon when I learned Linux, and haven't bothered to ever create a new install, and customized everything a bunch and don't want to update, I can't use Orca on Linux. My understanding is that Orca is adequate-ish but a big step down from, say, NVDA. The way I use the computer is very hybrid, I use my remaining low vision to parse interfaces and read all text with my improvised screen reader. I also use Emacs a lot for various tasks, not Emscspeak (though I do use that on Windows) but a vanilla version with some customizations. But it works well, and sounds like my vision is a lot worse than yours, so maybe you'd also find it useful. I do know a number of totally blind individuals who use Linux with espeakup only on the terminal, so it's doable but pretty limiting.
YoYo31415 2 points 2y ago
I don’t have specific advice, but wanted you to know you aren’t alone. I found your post and the answers people have provided here to be super helpful.
bondolo 2 points 2y ago
You may also want to check out the $1
EggBender93 [OP] 1 points 2y ago
Super interesting. I will subscribe!
EggBender93 [OP] 1 points 2y ago
Taking a look!
This nonprofit website is run by volunteers.
Please contribute if you can. Thank you!
Our mission is to provide everyone with access to large-
scale community websites for the good of humanity.
Without ads, without tracking, without greed.
©2023 HumbleCat Inc   •   HumbleCat is a 501(c)3 nonprofit based in Michigan, USA.