查看原文
其他

我的德国盲人程序员朋友 | 程序员有话说

程序人生 2019-11-27

以下文章来源于德国IT那些事 ,作者德国IT那些事

双十一狂欢,爆品大额直降,仅限今天

作者 |  德国IT那些事

本文经授权转载自 德国IT那些事(ID:germany-it)

盲人也能做程序员吗?

看了在德国工作的程序媛许小西的回忆故事,相信能给生活中暂时遇到挫折的你,一点点前进的动力。

小西:来讲讲我的那个计算机专业的德国盲人朋友吧。想起来认识他已经差不多是距今十年左右的事情了。每当我没有勇气继续前行的时候,我都会想想他的故事。


初识


那时的某天,有人在学校食堂的各种小广告板上贴了个条:找人做他的助手帮他一起“看”一些课件。嗯,之所以在“看”上打上引号,因为他其实是一个盲人。当年正好处于各种求打工机会养活自己的时候,看到他给出的每个小时的时薪挺丰厚的,还有一部分原因也有对盲人读大学的好奇,于是邮件联系了他。嗯,没错,他留了邮箱,并且很快的回复了我的邮件约定了我们见面的时间,于是在当时有过短短的片刻,我甚至怀疑过他到底是不是真的是一个盲人,或者只是一个骗子?

后来的日子里,我做了他差不多一年的助手。这一年里几乎每一次我和他的见面,都会给我的心灵带来巨大的冲击。也许在我的概念里,残疾人,特别是盲人或者聋哑人,在中国都是特别弱势的群体。也许他们可以去特殊的工厂上班,也能拿到微薄的也许能够勉强维持的生计的工资,但是他们在普通人看来终究还是一个悲情的角色。我也是带着这样的先入为主自以为是的怜悯,开始认识这个1米90的德国大男生S。

见到他的第一面,他告诉我,他在读大学,第四学期了。在一所双元制大学。(嗯,德国的双元制大学是这么一种大学,学生一般是上一学期的课,然后去和大学合作的企业去实习一学期,在这一学期里面你可以在这个企业里的不同部门实习,一般是一个部门3个月,然后再轮职到下一个部门。这样每学期下来你都可以在这个企业的差不多2个部门得到相关的锻炼,然后,再继续回到学校上一学期的理论课,这么循环个4年,并且通过了所有的考试,你就能够毕业了。)在大学读书已经很令我吃惊了,可他丝毫不在乎我的吃惊而是继续告诉我,他是学计算机应用的。一个残疾人,确切的说是一个双眼都完全失明的盲人,能上大学,并且学习的是一门几乎完全是要在电脑屏幕上来工作的专业,这对当时的我来说简直等于天方夜谭了吧!

接下来的日子,我一次次的用自己的双眼见证着这个令人钦佩的奇迹。


震惊


S有一台普通的笔记本电脑,他需要的只是一个外接的盲文特制键盘。嗯,盲文键盘是这样一种设计,除了我们普通键盘上的字母和符号按键之外,它还附加了一块用很多能活动的小凸点组成的盲文显示区域。当鼠标指定到电脑屏幕上的某一位置,这里的内容就能够被活动的凸点排列组成相对应的盲文,于是,当鼠标被缓慢的移动,屏幕上一行的内容就能被“读”出来了。

同时,电脑的操作系统里都有自带的残疾人辅助语音功能,同样是靠鼠标的移动和定位,屏幕上的内容也能同步的被阅读出来。于是,每当他打开电脑,接好键盘再带上耳机,他的嘴角都会溢出微笑。我想,这应该是他最快乐的时候了吧。因为这个时候,他能够像一个真正的大学生一样,学习,编程,上网,“看”新闻,发邮件甚至聊天。

遇到PPT格式的课件,是他最苦恼的事情。因为很多文字被镶嵌在图片里以致鼠标无法取字进而识别。他所在的学院的任课教授,但凡是遇到这样格式的课件,都会专门为他制作一份相应的Word版本的文档,以便他能够更方便的阅读。不得不说,在这方面,尽管我从来不是一个所谓的“公知”,但是还是要感慨下欧洲国家的人性化以及他们为残疾人所提供的各种尽可能的便利以及帮助。

可是,尽管有先进的专用键盘及语音辅助,以及友好的极尽所能给予帮助的任课教授,作为一名计算机专业的学生,还是会遇到各种需要用画图来理解算法的时候。嗯,这就是我出马的时候了。计算机的图论里面有几个用来计算一些节点之间最短路径的重要算法,比如A*算法,再比如Dijkstra算法。在计算的时候,你需要不停的修改你之前生成的路径图,每添上一个新节点,就需要重新计算一次最短路径,然后画出新的最短路径。可以说,帮助他学习图论的那个时候,真是最有挑战的一段经历了。


艰难


那个时候我的德语也不是很好,刚刚来了2年不到,日常对话和上课还算勉强可以,可是,要组织语言,把本来你可以直接画在纸上就能讲解清楚的东西,必须一步步用文字描述出来,使其变有形为无形,让对方能在任何图形都看不到的情况下仅仅凭借想象在大脑中勾绘一个图形,并且这个图形还是一步步动态改变的,现在想起来我都觉得头大。幸运的是,不知是因为上天觉得在视觉上亏待了他所以要在其他方面给予他补偿,还是因为视力的缺陷迫使他后天不得不锻炼出其他的技能,总之,S拥有我望尘莫及的优秀记忆力。

于是,我们一起计算着新的节点新的路径,他在把他们量化的输入到电脑上的同时把它们同样全部“输入”到了大脑里。每当要将一个新结果和之前的路径比较的时候,他便会轻皱眉头沉思片刻,然后从大脑中“取出”他想要的数据。当节点太多已经记不太清的时候,他就摸索着键盘,把鼠标重新定位到之前的数据那里重新“看”一遍。就这样一遍一遍的重复,一遍一遍的计算,经常,7,8个小时就过去了。

这7,8个小时,差不多就是我们见面一次一起工作的时长。因为平时他都要上课或者上班,所以通常我们的碰面都是选在周末的某一天,从早上10点一直到下午6点。碰上他有考试的前夕,可能就是周末两天都要加班了。最长的一次,为了准备他一门考试,我们创造了从早上9点见面一直忙乎到晚上8点的记录。

大部分时候我们的流程是这样的: 

  • 周中的时候,我先自学他的讲义大概3到4个章节,然后找到我认为的重点和考点,并且把这几个章节里附带的练习自己先做一遍。

  • 然后周末碰面的时候,先给他讲讲义上的一个重点,然后我们一起做一遍相关的练习再和我之前自己做的答案对照一下(因为这些练习大部分都是没有给出标准答案的,所以只能靠自己做)。

  • 然后我再给他讲课件上的下一个重点,然后再一起做练习巩固。就这么一个个的把我自学的这几章节的所有重点都过完一遍,那么这一周的任务就算完成了。


收获

那一年中的有一段时间,我除了要给他讲课,周六的晚上还要去一家中餐馆打工。于是,我充实的周六的生活就是,早上9点出门去大学的地铁站那里和他碰头然后带他到大学里我们系的楼里面。然后我们开始工作到大概12点多,会短暂的休息半个小时作为午饭时间,然后,继续工作一直到下午5点半,收拾好东西把他领到地铁站坐上车,然后我再坐另一班地铁去市中心的中餐馆打工。打工结束一般是晚上11点多,然后等我再转车两趟回到家,差不多就是12点了。

那段时间我也偶尔犹豫过要不要继续再坚持这份工作,因为虽然我学的专业和他算差不多的,但是还是有很多完全陌生的课程。为了能周末顺利的给他总结讲义上的重点,很多时候我这一周的所有空余时间都要用来研究他的课件以及上网找相关的资料和练习。可是每当他考完试,打电话或者写邮件告诉我,他这门考试又通过了并且考了2.0或者2.2(嗯,德国的分数是从5到1,1分是最高分,4分是及格,所有的不及格都记作5分。2.0差不多相当于80分吧) 的时候,我就觉得这份辛苦特别值得,它让我第一次真切的感受到只要付出了就一定会有收获和回报。


朋友


每次短暂的午饭时间,我和S就会从“师生关系”变成朋友关系。他会和我讲他上班时候的趣事,讲他最近又开始学习哪种新的编程语言又自己写了什么有趣的程序,讲他最近计划和朋友去哪里哪里骑自行车 (那种两人或三人前后一起合作骑的自行车) 休假。也会讲到他小时候眼睛还看的见的时候和小伙伴们一起去放烟火的事。他比我想象的更不避讳他双目失明的现实,甚至会打趣因为他看不见又长的特别高,所以坐地铁经常会一直撞头。

我们的中饭很简单,基本上只能达到不太饿着肚子的标准 —— 经常就是一人一袋饼干和一点水果就解决了。圣诞节的时候他妈妈来他家给他做了很多圣诞小饼干,他也带过来给我吃。我称赞他饼干很好看并且很好吃,他就会很好奇的问我那些我觉得好看的饼干长什么样子、是什么颜色、有什么花纹和图案,让我一点点描述给他听。有一次我给他带中国的小零食给他吃,就是那种一大袋里面一颗颗小的包的像糖果那种牛肉粒。可是貌似他吃不太习惯,他觉得味道像Lebkuchen (德式软姜饼)。我跟他说他这简直是“暴殄天物”,因为这个东西是多么困难历经千辛万苦才运到这里啊 (通常它们在入关的时候就会被对付中国肉类食品战斗经验异常丰富的海关人员直接收缴或者销毁了)。于是他改口说嗯貌似味道还是挺interessant

于是从此以后我再也不给他带中国小零食吃了。。。

有一次我和S一起复习的一门课他考了1.7,他打电话告诉我成绩的时候超级开心,并且邀请我周末去他家做客吃他做的意大利肉酱面。说起来我对他如何能够把自己的日常生活打理的和我们普通人一样也确实一直挺好奇的,于是欣然地答应了。约碰面地点的时候,我说让他直接把他家具体的住址给我,我自己摸索找过去就好,因为觉得他出门挺不方便的。可是他执意说在他家所在那个小镇的地铁站碰面,因为从地铁站到他家都是小路弯来绕去挺不好找的。客气了一番之后我便答应了他的提议。可是挂了电话想想,居然麻烦一个双目失明行动不便的人去地铁站接我这么个视力尚好四肢健全的普通人再给我指路带路,也是挺搞笑的。


感激

这之后已经过了很多年了,我现在也毕业了工作了。讲讲他的现状吧,他毕业后继续在那家当时他读书时候实习的公司做程序猿,在Java开发组。他每天按部就班的上下班,和同事会一起骑车(两人一起前后骑)去郊游,休假会去他妈妈的城市玩(他自己一个人住在斯图加特,他妈妈住在德国东部的一个小镇)。

现在回想起来,我特别感激当时的我,坚持做了他一年的助手,这一年,辛苦的时候一个周末我早上10点和他见面一起学习课件到下午5点半,然后再赶车去中餐馆打工5个小时到晚上11点,回家已经差不多12点了。我从来不是个有毅力的人,学习上很多时候也只是凭借小聪明。可是我当时坚持下来了,很大程度上我是被那个盲人朋友触动了,我,四肢健全,视力良好,还有什么不努力的理由?!

每当我失落低潮彷徨的时候,我都会想起那个盲人同学,我也时常用他的故事去鼓励我身边的朋友。因为,比起他的不幸和他所付出的努力,我们这点挫折或者失败又算什么呢?

看了这个故事后,

我试着闭着眼睛,想象自己打开编辑器,

打开一个Java项目,

用鼠标从上至下”浏览“项目里的诸多class,

再打开其中一个class,

用盲文键盘”阅读“代码,

再修改其中一行。

然后开启debug模式,

用键盘读取console里繁多的log

再回到编辑窗口修改代码......

我真的已经无法再想象下去,自己工作中遇到的那点烦心事算个屁。

虽然生活的重负把我们压得面目全非,

但是我们必须得笑面生活。


作者简介:公众号【德国IT那些事】不定期发布土豆啤酒之国的IT圈动态,记录奋斗在德国的IT人,Ta们职场中的泪与笑,Ta们生活中的悲与乐,Ta们遇到的可气或可爱的德国同事,讲述德国程序猿和程序媛们自己的故事。

 热 文 推 荐 中国单身成年人口超 2 亿,程序员双 11 脱单太难??微信之父:张小龙并不孤独马上双十一,教你用 Python 实现秒杀系统

Python 之父退休,C 语言之父与世长辞,各大编程语言创始人现状大曝光!

吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?

一览群智胡健:在中国完全照搬Palantir模式,这不现实

 中国联通重磅发布:「5G+区块链」会擦出什么火花?

点击阅读原文,精彩继续。

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存