写点什么

我的双目即将失明,但仍希望继续编程

2020 年 6 月 27 日

我的双目即将失明,但仍希望继续编程

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

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

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


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


近日,在 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 门槛的降低,相信在不久的将来,这些问题都可以得到妥善地解决。


2020 年 6 月 27 日 11:105486
用户头像
陈思 InfoQ编辑

发布了 562 篇内容, 共 192.4 次阅读, 收获喜欢 1113 次。

关注

评论 2 条评论

发布
用户头像
科技向善,喜欢这个词!
2020 年 06 月 28 日 17:54
回复
用户头像
这个文章写得非常好,给陈思点个赞。
2020 年 06 月 27 日 17:12
回复
没有更多了
发现更多内容

数字经济跨越五个融合发展阶段,区块链正成为基础支撑结构

CECBC区块链专委会

数字经济

面试被问线程安全怎么保障,我的回答让面试官眼前一亮

996小迁

Java 架构 面试 多线程

构师训练营 - 第七周课后练习

joshuamai

基于有限状态机与消息队列的三方支付系统补单实践

Java架构师迁哥

谷燕西:不需要银行的银行业务

CECBC区块链专委会

移动互联网

甲方日常 64

句子

工作 随笔杂谈 日常

拆解增长黑客之实战(二):留存与变现

丁一

读书 增长 产品运营

Redis 子进程开销监控和优化方式

码农架构

Redis开发与运维

mongodb 源码实现系列 - command 命令处理模块源码实现二

杨亚洲(专注mongodb及高性能中间件)

MySQL mongodb 分布式数据库 源码刨析 分布式数据库mongodb

《Python深度学习》第二版重磅来袭——(Keras之父亲自编写)

计算机与AI

Windows下MySQL无法启动万能解决方案

MySQL从删库到跑路

MySQL

S型曲线不止关乎身材?|技术人应知的创新思维模型(2)

Alan

创新 思维模型

生产环境压测建设历程之三 淘宝网2009年的痛

数列科技杨德华

国家计算机网络与信息安全管理中心官员:数字货币的风险仍需关注

CECBC区块链专委会

信息安全

百篇已过,又是一个新篇章,谈谈感受吧

良知犹存

代码人生

Redis 持久化方式-RDB

码农架构

redis redis持久化

第六周-学习总结

Mr_No爱学习

构师训练营 - 第七周学习总结

joshuamai

2. Spring早期类型转换,基于PropertyEditor实现

YourBatman

Spring Framework 类型转换 PropertyEditor

第十一周作业

solike

第六周-作业1

Mr_No爱学习

算法训练营总结

陈皓07

Spock单元测试框架实战指南四 - 异常测试

Java老k

Java 单元测试 spock

警察营救安徽望江县17岁女生跳河自尽过程中,现场看热闹的旁观者们在做什么?

wbliu85

「生产事故」MongoDB复合索引引发的灾难

Kerwin

数据库 mongodb

云原生架构:容器资源限制及资源可见性

云原生实验室

云原生

告别“效率内卷化”,华为用一年时间让职场人支棱起来

脑极体

Newbe.ObjectVisitor 0.4.4 发布,模型验证器上线

newbe36524

.net core ASP.NET Core dotnet

Bitmap为什么那么快?

Man

redis 中间件

报销发票抵扣工资的CTO,该不该? | 法庭上的CTO(5)

赵新龙

CTO 法庭上的CTO

架构词典:语言

lidaobing

架构 语言

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

我的双目即将失明,但仍希望继续编程-InfoQ