我的双目即将失明,但仍希望继续编程-冯金伟博客园

视障,指视觉功能受到一定程度的损害,患者因为视觉敏锐度低或视野受损,以致无法达到正常视力,因而到影响日常生活,分为完全失明、严重弱视、轻微弱视三个等级。

在庞大的程序员群体里,就有这样一群视力微弱,甚至完全失明的编程人员,他们凭借着惊人的毅力,在这个领域默默学习、生存,并尽己之所能做出了一番贡献。

科技向善的故事,从他们开始。

  我是一个即将失明的开发者…

  近日,在 Hacker News 论坛上,一个提问者的问题引起了网友的关注:

  “我是一个 24 岁的全栈工程师(我知道你们有人会对这个称呼翻白眼,但我只是想强调下我在前端后端都有些经验),我已经在这一领域工作七年了,做过一些 JavaScript 和 PHP 项目,两年前,我被诊断出患有一种叫做‘亚瑟综合症’的疾病,其特征是听力丧失、平衡问题和逐渐失明。”

  …

  这位提问者的情况似乎更加严重,他知道行业内有一些视力障碍的程序员存在,因此他怀抱着希望提出了这样几个问题:

  • 是否有失明的前端工程师?

  • 什么样的软件工作适合视力有限的人?只有后端吗?

  • 除了屏幕阅读器以外,还有什么好的工具来辅助视力障碍人士?

  • 您的公司雇用盲人工程师吗?效果如何?他们是什么样的工程师?

  他说:“我的视力正在迅速下降,因此我想尽快地提前做好准备。我不确定如果不做软件工程师我还能做什么,因为我没有接受过任何正规的教育。我经过非常大的努力才达到今天的水平,我不想浪费这些努力得来的成果。”

  这一问题引发了热烈的讨论,毕竟在这样的身体条件下,继续从事编程行业是需要巨大的勇气和毅力的,这样的精神也着实感动了不少人。

  在这个问题的评论区,回答者们除了同情他的遭遇,还纷纷献计献策,并为他送上鼓励。在这些评论中不难看出,视障 / 盲人程序员不在少数,视障人士从事编程在一些辅助和培训之后是完全可以的。

  总结一些评论区的说法,可以得到这样几条核心建议:

  • 首先,盲人前端开发者是存在的,但是 UI 设计需要一些帮助来完善;

  • 在屏幕阅读器的帮助下,盲人开发者的效率不比普通开发者低;

  • 盲文 + 工具的培训会有很大的帮助;

  • 一些屏幕阅读器似乎对 Python 开发更友好(如 Windows 的 NVDA);

  • 还有人给他推荐了谷歌盲人科学家 T. V. Raman 写的语音桌面工具 Emacspeak。

  虽然不知道这名年轻的开发者未来会走向何方,但是相信在这些网友的鼓励和建议下,他的开发者之路能走得更远。

  回到盲人开发者这个话题上:很多盲人从事的工作是不需要视力的,但是程序员这样的工作,本身就需要大量用眼,盲人是否真的可以胜任这份工作?

  盲人开发者的呐喊

  就在刚刚过去不久的五四青年节,有一位残疾人优秀青年代表引起了不小的关注。

  蔡勇斌,今年 32 岁,六岁时因为一场意外导致双眼视力严重受损,多次手术无果。

我的双目即将失明,但仍希望继续编程-冯金伟博客园

  “世界很大,活法很多,盲人不一定就要做按摩和声乐。”这是蔡勇斌一直坚持的想法。

  13 岁时,蔡勇斌在特殊教育学校第一次接触到计算机,在哥哥和屏幕阅读软件的帮助下,蔡勇斌正式开始了对计算机的摸索。

  与其他人使用电脑的方式不同,盲人操作电脑完全不用鼠标,蔡勇斌为此练坏了好几个键盘,才掌握了电脑的基本操作。随着使用越来越顺畅,蔡勇斌解除了不少无障碍软件,学会了重装系统,并亲手设计和优化辅助盲人使用的系统光盘,最后开始接触编程。

  从 DOS 命令开始,蔡勇斌正式踏上了编程之路,可是当时的电脑课老师也并非是专业的编程人员,因此在“掏空”了老师的知识后,蔡勇斌也只能通过网上的资料自学 C 语言和 C++,他曾经常一天坐二十多个小时戴着耳机反复听教学软件,遇到了无法解决问题就用“重装系统大法”。

  就这样一路磕磕绊绊的学习,蔡勇斌在 20 岁时独立编写出一款软件。2009 年,他独立开发了一款针对视障人群上网用的软件 “PC 秘书”,功能多达数百项,颇受视障人群喜欢。

  经过不懈努力,如今的蔡勇斌已经积累了超过 10 年的 PC/Web 端开发经验,精通国内外相关无障碍标准,曾获邀参与 WCAG2.0 国际无障碍标准稿翻译与移动端无障碍标准的制定。

  蔡勇斌失去了视力,但是他从没有失去对生活的希望,执着与热爱让他开启了人生的新征程,并带领更多人走上了寻找光明的道路。他成立的位于东莞市的一同信息科技有限公司致力于推动残疾人信息无障碍建设,为残疾人设计了不少用以辅助生活的产品,并且吸引了不少和蔡勇斌一样有视觉障碍的开发者,一同打造更多信息无障碍的产品。

  大洋彼岸,同样也有不少失明的程序员在向命运抗争,Michael Forzano 就是其中之一。

  自出生起就因患有遗传病而失明的 Michael Forzano,已经在电商巨头亚马逊工作超过六年之久。

  由于生活用品常常需要网购,Michael 萌生了前去亚马逊工作的想法,幸运的是,亚马逊接受了他的申请。直到校招面试当天,亚马逊的工作人员才知道这位应聘者有些不一般,由于视力的原因,Michael 没法在白板上完成手写代码的面试题,但是面试官允许他在电脑上进行操作。

我的双目即将失明,但仍希望继续编程-冯金伟博客园

  经过几轮面试,Michael Forzano 顺利进入亚马逊进行实习,并且顺利转正。“我认为失明只是一个特征,并不能够定义我。我的工作流程可能有所不同,但是我统一可以交付结果。”这是 Michael Forzano 接受媒体采访时说的一句话,失明只是他外在的特征,并不意味着他无法完成和其他人一样的工作。

  根据世界卫生组织的统计,全球至少有 22 亿人患有视力障碍或失明。而根据 Stack Overflow 的 2019 年全球开发者统计,在 90000 名受访者中有 1.5% 的开发者是视障 / 完全失明的。如果把这个比例放到全球:IDC 的统计数据显示,预计到 2019 年底,全球开发者数量将达到 2640 万。

  如果以这个数字为基础来计算,全球有约 39.6 万开发者有不同程度的视觉障碍。

  蔡勇斌、Michael Forzano 以及文章开头提问的那个小伙子,他们都是这 39.6 万分之一,除了拼命生活,他们也在为全世界亿万和自己有共同遭遇的人创造更便捷、更易用的产品与工具,而世界也在以同样的方式默默帮助着所有身患残疾的人们。

  结语:科技向善,本该如此

  2019 年 9 月,一位网友在微博分享了自己一段特殊的取外卖经历。当外卖送达后,他接到的电话里传来了一句听上去略有些生硬的 AI 合成语音:“您好,我是聋哑人,您的外卖到了,麻烦您下来取一下。”下楼后,他发现对方是一个 20 来岁的外卖小哥,拿到外卖后,他对小哥竖起了大拇指表达感谢。

  这件事让这位网友感触颇深,不仅感动于聋哑骑手自力更生的精神,还感慨于 AI 为残疾人提供的帮助。根据网友微博中的线索,记者发现该骑手来自美团,并想办法联系到了美团的技术工程师,他表示,虽然骑手使用的功能并非来自美团,但是当知道这一事件后,美团内部已经立项开始研发此类功能。

  当然,美团并不是唯一在助残方面采取行动的互联网公司。

  百度曾联合一家盲人公司的创始人,联合开发一款基于 Apollo 的电子导盲犬;阿里巴巴与前文提到的蔡勇斌,共同出开发盲人版淘宝,为视障人群解决了线上购物的难题;腾讯云与信息无障碍研究会共同推出“腾讯云助力视障开发者计划”,希望通过腾讯云 AI 技术能力、云服务能力,为视障开发者提供技术和资源支持,帮助视障人群更好融入信息社会实现个人价值。

  除了帮助视障人群,也有一些机构或企业为其他身有残疾的人群提供帮助,比如浙大医学院利用 AI+ 脑机接口技术,成功让高位截瘫的患者实现了用意念控制机械臂完成握手,饮水,进食等动作;谷歌 2019 年曾经发布一款名为 Live Transcribe 的语音识别引擎,可在手机端上使用人工智能算法为对话带来实时字幕,为听障人士提供方便。

  在人工智能技术越发普及的今天,如何利用技术来帮助更多需要帮助的人,成为了不少科技从业者思考的问题。但同时,部署 AI 助残设备也因为高成本、部署环境复杂等因素,无法深入到更加偏远和需要帮助的地方,这也是 AI 助残目前面临的困境之一。随着 AI 门槛的降低,相信在不久的将来,这些问题都可以得到妥善地解决。