15 ms·
You can definitely continue as a software engineer. I'm living proof. It won't be easy, especially at first. For a while it will feel like you're working twice
by kolanos 7y ago
You can definitely continue as a software engineer. I'm living proof. It won't be easy, especially at first. For a while it will feel like you're working twice as hard just to keep up with your sighted peers. But eventually, the better you get with your tools, you'll find you have some superpowers over your sighted peers. For example, as you get better with a screen reader, you'll be bumping the speech rate up to 1.75-2X normal speech. You'll be the only one who can understand your screen reader. You'll become the fastest and most proficient proof reader on your team. Typos will be easily spotted as they just won't "sound right". It will be like listening to a familiar song and then hitting an off note in the melody. And this includes code. Also, because code is no longer represented visually as blocks, you'll find you're building an increasingly detailed memory model of your code. Sighted people do this, too, but they tend to visualize in their mind. When you abandon this two dimensional representation, your non-visual mental map suffers no spatial limits. You'll be amazed how good your memory will get without the crutch of sight. Good luck. If you're a Mac user you can hit me up for tool recommendations. My email is my username at gmail dot com.
- vidanay 7y agoYour comment about proof reading and errors not sounding right reminds me of the "proper/best" way to learn Morse code for ham radio. Most everyone is familiar with the charts that show A=.- B=-... etc. Lots of beginners try to actually interpret the sounds in their ears and convert that to a letter and then convert a bunch of those to a word. Obviously, that is very processor intensive and has a high failure rate. The best way is to treat each audio pattern as a letter in a new language and skip the conversion process. Eventually, you recognize entire words just from the sounds.
- michaelmior 7y agoAny tips on how to start then? I used to know all the letters in Morse code but it was basically just learning the chart as you mentioned. I've since forgotten most of the alphabet.
- verall 7y agoIt's just like a language. If you want to read morse code look at that chart, but if you want to hear it quickly you'll need to do audio flashcards. I n Anki it's pretty easy to add cards that have no text but sound which should be all you need.
- vidanay 7y agoIt's called Koch's method. http://www.justlearnmorsecode.com/koch.html http://www.justlearnmorsecode.com/koch.html https://www.qsl.net/n1irz/finley.morse.html https://www.qsl.net/n1irz/finley.morse.html
- michaelmior 7y agoI'll have to try that. I've tried some acoustical training before, but not starting at full speed like Koch's method.
- Tempest1981 7y agoOnce you learn all the letters, as you walk around, pick various items you encounter, and say their name in Morse code. A car: "dah-dit-dah-dit. Dit-dah. Dit-darrrr-dit." For fun, pronounce "R" like a pirate would.
- michaelmior 7y agoThanks for this one. I haven't heard this suggestion before. I'll keep that in mind if I ever try to pick it up again :)
- jfalcon 7y agoIf you talk to old school CW operators, they will all tell you that you need to go beyond the letters and into the words and sentences like you skim over a paragraph. In fact, if you operate morse too slow, many of these old schoolers don't want to talk to you as you break the "flow". Which is the exact thing you're wanting to achieve in morse fluency.
- 27182818284 7y agoSimilar experience for when I taught myself the Dvorak layout years ago. My fingers learned the common motion for whole words first. Actually, I'm not sure I could draw the layout of the qwerty keyboard I'm typing on right now from memory either.
- richardw 7y agoJust for a laugh, try changing your phone keyboard to Dvorak. It seemed like a good idea but felt alien to see the keys I naturally use. Swiping was just ridiculous. Obviously it’s just practice but I don’t mind using qwerty on my phone. It keeps it vaguely present in my memory.
- peterlk 7y agoI did this many years ago, and am now terribly slow at typing on a phone with a qwerty keyboard, and still cannot use a Dvorak keyboard on my computer...
- PureParadigm 7y agoI've been typing Dvorak on my computer since middle school and so I thought it'd naturally be a good idea to switch my phone... turns out not so much. While having all the common letters on the home row is good for regular typing, it is not good for phone typing which is heavily dependent on autocorrect. If I miss a letter by one key it's still likely for it to be a valid word because common letters are clustered and autocorrect misinterprets. For example, I might type "i" and then "t", "n", and "s" are all adjacent meaning if I meant to type "is" and I miss by one key and type "in" then it is not corrected. Other annoying ones are "by" and "my" because the b and m are next to each other. Sadly, I'm in a bit too deep to go back to Qwerty on my phone (I'd be very slow for awhile). I do still enjoy Dvorak on the computer and while I don't think I'm a faster typist than I would be with Qwerty, I rarely (pretty much never) experience finger strain when typing for long periods.
- chillacy 7y agoSupposedly the entire reason Qwerty was designed was to prevent typewriters from jamming by making the keys as disambiguous as possible, which is now ironically ideal on tiny screens.
- kendallpark 7y agoA while back I worked for a team that had wired up Jenkins to a speaker in the office. Each type of event would trigger a different Zelda sound effect. Victory music for successful deployments, game over music for breaking the build, etc. Notably, dev server exceptions were connected to sword clashing sounds. It led to debugging situations like this: "Okay, so that's two clanks when we click on this button, but if we do it on this other page it's only one clank. Hm." Turns out, there are some bugs that are easier to detect this way. Looking at timestamps doesn't really give a "sense" of whether two events are in a tight causal link. With sound, you can immediately "hear" that two adverse events are occuring at identical intervals every time. What's great is that the sound information doesn't take up any additional attention. It just fades into the background if you don't need it. When there is a pattern, it stands out.
- egd 7y agoAt a previous gig, we had a lot of systems named after animals, and I'd joked about wiring our alerting system up to emit the animal sound for the system that was paging, but I think I'm actually going to do that at my next gig. Outside the land of software, engineers debug systems using sound all the time - I think we're underutilizing our senses and our pattern recognition.
- lb1lf 7y ago-At a former employer, I had coded some embedded devices to spit out their bus address and current error code in morse code using the buzzer in the keypad. Saved me lots of time during initial debugging of new installations, then I'd just disable the buzzer before heading for home. (At least) on one occasion I forgot; years later a puzzled chief engineer calls me and says that his first officer had told him that E209 had a pending IGBT failure while they were discussing issues with the equipment we'd delivered over the din of the buzzers. Would that hypothesis have any possible merit?
- WalterBright 7y agoI always wonder at the madness of elevator design. Most of them "ping" as they pass a floor for accessibility. But that means the blind rider must first know the floor he is on, then count the pings to the right floor. It should simply announce each floor as it passes. I know from experience that you can make quite comprehensible voice sounds by connecting a 5V I/O pin to a speaker, so there is no excuse. (All you do is digitize the speech, then turn the pin on and off as the wave crosses 0.) Ditto for every device that comes with a chart saying which LED blink pattern means what status. Like the "fast blink" and "slow blink". The LED is blinking, is that "fast" or "slow"?
- edwinyzh 7y agoYou reminds me about learning a foreign language you need to think in the foreign language without the translating part.
- feminintendo 7y agoI wonder if the same thing is possible with sight reading music.
- leeoniya 7y ago> Also, because code is no longer represented visually as blocks, you'll find you're building an increasingly detailed memory model of your code. does refactoring by other team members have an outsized negative effect on this?
- cbarrick 7y agoRelatedly, are there challenges or benefits to reading diffs in this model?
- frabbit 7y agobecause code is no longer represented visually as blocks, you'll find you're building an increasingly detailed memory model of your code. Sighted people do this, too, but they tend to visualize in their mind. When you abandon this two dimensional representation, your non-visual mental map suffers no spatial limits That's a really interesting idea to me, because I have been trying to improve my memory and recall (mostly of things like telephone numbers) using the Major Memory system and the emphasis behind that and similar techniques seems to be constructing visual imagery which encodes other information. So, it sounds like you are saying that you have found other pathways/techniques that do explicitly do not do this.
- kolanos 7y agoIt is entirely possible I'm still using my visual cortex. I was once sighted. When I'm in flow my wife tells me that my eyes spasm as though they're following some kind of pattern in space. I'm not aware I was doing this until she mentioned it. I can say, however, that I'm not visualizing the way I once did. In fact, because I don't have a visual input, conjuring up some kind of imaginary visualization would actually slow me down and be a cognitive burden.
- DavidSJ 7y agoThank you for sharing your experience. Would you say your ability to visualize has declined, or you’ve just favored other methods of thinking?
- fpoling 7y agoI tried that as well and it does not work for me. What works is association with some stories. For example, to remember a credit card number I associate each 2 digits with a year that gives an event and then the number is a sequence of events. What also works for me to train memory is to learn phrases in a foreign language that I do not understand. Surprisingly combining those with text I do understand leads to better recall of the whole text. It is almost as understanding harms memory.
- hnick 7y ago> You'll be amazed how good your memory will get without the crutch of sight That's all really interesting. I personally have a problem with my thoughts in that I need to "sound out" or read them aloud in my head. This sometimes really slows me down, I mull over a thought until it sounds right. Especially when I'm tired I can get stuck in a loop. And it applies when reading too, I can force myself to read faster but usually I slow down and hear every word out of habit. I know some people don't have this inner voice. I wonder if it means they can think more freely.
- solarengineer 7y agoI find myself going quieter when I read faster. I do take pauses to think through what I’ve just read. You may want to try separating reading and thinking, and see if that helps you no longer need to think aloud reach word.
- Marsymars 7y agoFYI that process is called "subvocalization" - I'm only passingly familiar, but if you search that term there's lots of literature about it.
- hnick 7y agoYes that's the one, I forgot what it was called. Always found this part interesting (from the wiki): "This inner speech is characterized by minuscule movements in the larynx and other muscles involved in the articulation of speech. Most of these movements are undetectable (without the aid of machines) by the person who is reading."
- baseonmars 7y agoTry gently pressing your finger against your larynx when you read in your head - you'll likely find you read faster - this works for me, although I tend not to bother.
- hnick 7y ago
- jedberg 7y ago> you'll be bumping the speech rate up to 1.75-2X normal speech. You'll be the only one who can understand your screen reader Huh. I already listen to most podcasts and recorded presentations at 2x. Now you make me wonder if I could process information faster with a screen reader even though my sight works just fine...
- Galaxity 7y agoThis person is sharing personal information about a serious disease and disability in their life and asking for help. But thanks for taking the time to share how superhuman you are.
- dang 7y agoPersonal attacks will get you banned here, so please don't do that, even if another comment rubs you the wrong way. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- Galaxity 7y agoAsking for personal decency toward another human being is a banning offense here?
- dang 7y ago"Thanks for taking the time to share how superhuman you are" is not "asking for personal decency". Please don't post in the flamewar style to HN. We're here for curious conversation, which doesn't go along with the style of argument in which people cast each other's comments in the worst possible light. If you review the site guidelines you'll see that many of them guard against that argument style. That's no accident, because it's so common in online discussion generally, indeed has become the default. It takes conscious work to have a place that doesn't fall into it. That's what we're trying for. Note this one, for example: "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith." If you'd review https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and take the intended spirit to heart, we'd be grateful.
- hansccwolf 7y agoDo you use the screen reader for your code, too? How do you debug your code?
- bollu 7y agoCan you please recommend software for this? which screen reader should I use? how should I configure it? how do you code with it?
- herval 7y agoThis is incredible! If you have a couple of minutes, would you mind sharing some of the Mac tool recommendations? I'm not blind, but as someone working on consumer apps, good examples really help!
- hutzlibu 7y ago"When you abandon this two dimensional representation, your non-visual mental map suffers no spatial limits. " My visual representation is definitely 3 dimensional and I am not sure what you mean by abandoning it? I mean, code is statement blocks and controll flow elements. It is data and connections between them at execution. I can imagine, not being visual gives you much more focus and fewer distractions on the mental map, but is it really different?
- jaggirs 7y agoI imagine it is like representing code with a flowchart. Suddenly you are a lot less restricted by your mental representation and you can draw arrows any way you want. I often experience something similar, even though I'm not blind: When I'm doing algebra I sometimes get stuck 'looking' at the equation and systematically trying patterns on it. But what works much better is to really load the equation into your brain so that you have an intuitive idea that guides your pattern matching. If you are blind, I suppose you always need to load it up.
- simias 7y agoI don't have this super-power but I can imagine that it could work. When I'm digging into foreign code especially, I always find myself overwhelmed by the intricacies of the call stack. I get lost in layers, confused by indirections, I lose track of where I was a few steps before or what specific conditions lead me down a particular path. I guess that if you're blind you need to become a lot better at keeping track of things for basically the entirity of your daily routine. Imagine merely cooking without sight. You need to know where all the ingredients are, you lack a lot of feedback on what you're doing to catch mistakes (did you add the pasta to the water yet or not?). I assume that you need to constantly build a fairly detailed map of the world in your mind where the rest of us can just wing it, basically. I can believe that this skill might make you a better coder.
- hutzlibu 7y ago"I don't have this super-power but I can imagine that it could work." I don't think it is a super power, I believe every programmer does that, I just maybe do it a bit more conscious. And when I have to process new code, that just takes time, like for everyone else .. and doing it in a hurry will mean a wrong mental model.
- shrimpx 7y agoJust curious, is it harder to read white space indentation code like python versus curly bracket code like JavaScript?
- RobMurray 7y agoI don't really find one easier than the other, but I do use indentation in the same way sighted people do. I find it a lot easier than counting braces in my head.
- deleted 7y ago[deleted]
- anonytrary 7y ago> you'll be bumping the speech rate up to 1.75-2X normal speech Try 5-6x. I've met some blind people who listen to audio so fast, it sounds like noise to me. As someone who isn't blind, I regularly listen to lectures and audiobooks on 1.75-2.5x (depending on the base rate) without issues, but 6x is just something else entirely. > Typos will be easily spotted as they just won't "sound right". Really good way to describe this. It's almost like listening to an audio fingerprint which magically indexes the answer in your brain. My blind friend was doing law, but I'm sure she did something similar to help her map the dependencies between laws.
- cormacrelf 7y ago> My blind friend was doing law, but I'm sure she did something similar to help her map the dependencies between laws. Nobody calls them dependencies, but yes, you would be able to hear if `Re Estates Croft, deceased [2018] NSWSC 1303` were wrong.
- kolanos 7y ago> Try 5-6x. I've met some blind people who listen to audio so fast, it sounds like noise to me. As someone who isn't blind, I regularly listen to lectures and audiobooks on 1.75-2.5x (depending on the base rate) without issues, but 6x is just something else entirely. Yes, indeed. I was writing that original comment for someone just getting started. What ends up happening is no matter how fast the speech rate is, you'll eventually get used to it and your brain will grow impatient. So you'll bump the rate up another 0.25 and rinse and repeat. Pretty soon it's incomprehensible to anyone but you. I'm pretty sure anyone can get used to 2X+ without much effort. After a while you'll wonder how you ever listened to speech at a normal rate. Be careful, though, as I've found myself grow impatient listening to people in real life and can trace it back to my high-speed listening habits.
- selckin 7y agoDoes it affect listening to music? Does it also trigger the impatience?
- WalterBright 7y agoSince I work on the D programming language design, I'm interested in any advice you can give on what would make a programming language design more accessible to blind programmers.
- renaulth 7y agoHi, I am in a similar boat, I still have sufficient vision to code without a screen reader, but my concern has always been about the non-programming tasks that any modern developer is faced with on a daily basis. In my job I typically spend 3-4 hours a day in the IDE, but but rest of the day is spent looking at production issues and servers, looking at RabbitMQ management UI, etc. The emphasis being on "looking". I'm just curious as to how a screen reader would allow you to do those things, in a high pressure environment?
- tambarskjelve 7y ago"Now I will have less distraction." - Leonard Euler upon losing his right eye vision
- aws_ls 7y agoJust wanted to say, Thank you!
- herenorthere 7y agoWow. Great response. These comments are why I come here. Thank you!
- StandardFuture 7y agoThis makes me wonder if we would benefit from forcing children to occasionally train their brains via partial sensory deprivation. Maybe there are aspects of the human brain that go unexercised because we strive to constantly and always use all of our senses for everything simultaneously as much as we possibly can.
- blzaugg 7y agoWould you be willing to chat privately with a colleague of mine going through a similar lost of sight transition?