My team at Microsoft focuses on leveraging AI to help people with disabilities. We're currently looking for multiple engineers in India. If you're passionate about the tech4good space, willing to wear many hats and quickly ramp up on different tech to solve customer problems, then check out this job description, and reach out to SaqibS on Twitter, or at Microsoft.com: https://careers.microsoft.com/us/en/job/1114922/Software-Eng...
Hi, I'm also a blind dev - successfully been developing back-end systems and libraries at Microsoft for over a decade. There are certainly accessibility problems, but the awesome thing about being a dev is that you can also make your own solutions. Look at T V Raman at Google, and Emacspeak - which whilst not everyone's cup of tea, certainly serves him well.
For any developer, it's important to practice your craft, and when looking for a job, it's valuable to have a portfolio of work you've contributed to. So you can get multiple benefit by helping create a tool which will help you be more productive, and also show your skill.
Clearly, this project should be something that you're passionate about, but one project I've had on my when-I-have-time list is below - I would be happy to work with others who are interested (@blinddev @ctoth @jareds).
After your text editor / IDE, one of the next most important tools is a tool for tracking bugs/tasks. Unfortunately, many of the common ones, like VSTS, Jira, and Trello, are either not accessible, or at least not productively usable with a screen reader.
Over my career I've developed my own scripts for working with such systems, but it would be good to have something that others can also benefit from. I should probably put my initial bits on Github, but time is currently consumed by other projects. Email me if this interests you. Also happy to mentor on general career challenges around being a blind software engineer.
I thought I'd give my $0.02 worth on some of the questions raised.
> I wonder if any blind coders could comment on how they see programmatic flow in their minds eye?
It's all about the structure. I think of it like reading a novel with a complex plot - you meet some of the characters, learn facts about them, and then you get introduced to new characters, and later in the book you find out how they relate to each other, and much later on, you may find out through some twist of the plot that the relationship isn't quite what you thought it was, and you have to recreate your mental model.
As a result, I find that sometimes I'm slower at ramping up on complex codebases (especially if it's poorly written with no structure), but once I have my mental model, I'm potentially faster than someone who has to have things in front of them to refer to. This is purely based on my personal experience.
> How do big companies that love doing white boarding interview blind people?
I've always turned up with my laptop, and proposed that I use it, plugged into a monitor the interviewer can see. The interviewer reads me out the question, and I take notes. I always do the coding in Notepad, so I don't have access to code completion or syntax highlighting.
> I think it is totally reasonable that a blind person could code, but how does a blind person learn how to code initially?
The same way a sighted person would - since most information in this field is text-based. Read the tutorials, do the exercises. In fields where mathematical notation or diagrams are prevalent (e.g. machine learning), some sighted help or adapted material is probably required.
> Why the hell would you hire a blind coder to ship your feature by next week when you can find an equal or better (white/Asian male) engineer to do the same thing? By definition, the blind coder is limited compared to non-disabled people. It's a purely business decision. No hard feelings, but I'd rather not have a blind person on my team or organization. Unless it is for PR.
I respond to this comment purely because, whether I like it or not, such thinking is not uncommon. Let's rephrase the question as "why would you hire a {foo} engineer to ship your feature by next week when you can find an equal or better ({bar}) engineer to do the same thing?". Put this way, I accept that smaller companies who need someone next week will always choose the {bar} engineer, because they're better, not because they're {bar}. But here there is an assumption that every single {bar} engineer is better than every single {foo} engineer, which simply can't be true. Make sure your biases don't prevent you from hiring the awesome {foo} engineer, who out-performs every {bar} engineer. In a larger company, I'd go further and say that you need to have an inclusive work culture, not only because it's the right thing to do, but also because if your customer-base is diverse (which on the internet, it probably is), then a really good way to make awesome products is to have a diverse workforce.
I'm a blind dev, and would love to help - contact @SaqibS on Twitter.
1. An iPod/iPad/iPhone with the built in VoiceOver screen reader is going to be much simpler than a PC, and thus easier to get started with.
2. If a PC is required, then try the free/open source www.nvda-project.org. It is very similar to JAWS.
3. A final alternative is a simplified interface for new blind computer users, like Guide (http://www.yourdolphin.com/productdetail.asp?id=30). I don't have much experience with that.