一位 24 岁的程序员,两年前被诊断出尤塞氏综合症(又称遗传性耳聋-色素性视网膜炎综合征)。随着时间的推移,这一疾病可能会逐渐夺走他的听力、视力。那么,以后的职业生涯该怎么办?还能继续写代码吗?这位年轻的全栈工程师在 HackerNews 上发出了求助信息。
有盲人前端工程师吗?
什么样的软件工程适合视力受限的人?后端吗?
除了屏幕朗读器,还有哪些工具能帮助视力受损的程序员?
你所在的公司会雇佣盲人程序员吗?如果会,效果怎么样?他们都做哪种编程项目?
你绝对可以继续担任软件工程师,我就是活生生的例子。这并不简单,尤其是在一开始。有一段时间你会觉得自己需要付出双倍的努力才能跟得上自己的同行。但最终你会发现随着自己越来越习惯使用辅助工具,你将掌握一些别人不具备的能力。
例如如果你熟悉了屏幕朗读功能,你可以把语音的速率调到 1.75 到 2 倍——这样一来你就成了唯一能够听懂屏幕阅读器在说什么的人。你会成为团队中阅读、打字速度最快的人(因为打错了字母听起来不对劲),就像聆听一首熟悉的歌曲,然后在旋律中敲出每一个音符一样。
另外,由于代码不再以块的形式呈现在眼前,你会发现自己构建的代码越来越接近于脑中所想。视力正常的人也会事先思考,但它们在脑中的构想仍然趋向于视觉化。如果放弃了 2D 表达,你会发现非视觉构想图更加没有界限。你会惊讶于没有视觉局限时,自己的记忆力有多么出色。
我是一名全栈工程师,在前端和后端系统方面都有着丰富的经验。我在 Windows 上用 Jaws 屏幕朗读器工作,而且经常使用 AutoHotkey 来提高自己的生产力。我曾在微软等公司工作,从 2016 年开始经营自己的咨询及产品公司。
对于第一个问题,你可以做前端编程,但肯定需要一些帮助来验证 UI 设计。在任何一个像样的项目中,我更喜欢让能看见的同事处理看和感受方面的事情(主要是 CSS,虽然我懂 CSS),因为我觉得把时间花在这上面不太划算。你最好有一个 UI 专家帮你。软件开发者有很多其他的事情要做,尤其是基于 SPA 的项目。
对于第三个问题,Visual studio 非常适合开发和 debug(至少适用于.net 相关的语言)。如果你用的是 Windows 系统,尝试使用 autohotkey,用快捷键和热字符串将一些重复性操作和文本自动化。
另一件重要的事是找到同事正在使用的 UI 工具的替代品。不要仅仅因为你的团队在用某个工具就跟风,毕竟别人只会根据你的交付能力而不是工具来评价你。 最后,我非常同意 @kolanos 的说法。编程是一项在脑海中进行的活动,每个人都必须先在大脑中构思程序的表现形式,然后再付诸于代码。