在每一次对话中,总会有某个时刻,它变得更像是一本人生指南——事情是如何运作的,在哪里会失败,以及无论如何坚持下去需要付出什么。
对于Afolabi Oyebiyi来说,他是尼日利亚软件咨询公司Cyclone的一名软件工程师,当他谈到那些细小技术细节的积累时,这个时刻就会到来——比如让电脑开口说话的屏幕阅读器、那些做不到这一点的教科书,以及默认每个人都有视力的编程工具。他谈论这些,是因为他的状况使他不得不在这些局限中工作。

在成为软件工程师之前,他就已经在学习当系统并非为你而设计时会如何运作。然后,在2005年,当他的视力开始退化,他与数字世界的关系以他无法逆转的方式改变了,他不得不去适应。
他经历了缓慢的重建过程,包括在康复中心度过的一段时间——在那里他第一次接触到屏幕阅读器、盲文,以及那些承诺自主学习却以视觉交互为前提的在线平台。他还报名参加了国家信息技术学院(NIIT)拉各斯分校的课程,这是一家总部位于印度的全球私营技能与人才培养机构,他是那里第一位视障学生,与一个同样在摸索如何接纳他的系统共同成长。
即便是现在,作为一名在业界工作的后端工程师,这场挣扎仍在继续——在能力与无障碍之间,在工具被设计的用途与他需要它们做的事情之间。但这只是故事的一部分。另一部分是工作本身:编写代码、解决问题,以及在无障碍功能被视为可选项时偶尔予以反击。
TechCabal与Ibrahim谈到了他的挣扎、他的工作,以及在一个从未为他设计的系统中学习编程和建立职业生涯的漫长而崎岖的道路。
本次采访已经过删减和润色。
你为什么决定成为一名程序员,或者作为一名盲人,你是如何对编程产生兴趣的?
我一直对电脑及其工作原理很感兴趣。我还有一个哥哥是软件工程师。虽然他现在转向了AI领域,但在我想成为软件工程师的那个时候,他正是一名软件工程师。所以电脑在我身边无处不在。
更深层的原因是我希望为残障人士带来改变。当我计划进入科技行业时,我认为凭借我对无障碍问题的关注,我可以作为一名软件工程师推动改变,并有望构建能够缓解这些问题的技术。
我想开发辅助技术,因为我已经接触过屏幕阅读器。我想能够开发屏幕阅读器、无障碍网站和应用程序,而这些都需要特定的编程技能。这就是吸引我走向编程的原因。其他形式的技术职业,比如图形设计,对视觉要求很高。但编程可以绕过这一切对视觉的依赖。你所需要做的就是听到你正在输入的内容,以及听到你的控制台日志。
你是什么时候失去视力的,你是在此之前还是之后开始学习编程的?
我的视力障碍始于2005年,此后几年间缓慢恶化。这基本上就是我这个"超级反派"故事弧的起源。
我大约在2014至2015年间开始积极学习编程。我起初通过Codecademy、Coursera和W3Schools等在线平台自学,后来决定报读正规学院。
于是我去了NIIT,在那里修读了为期两年半的软件工程文凭课程。我选择那里的原因之一是我哥哥多年前也在NIIT就读过,那是他进入科技世界的起点。所以当我需要一个学习的地方时,那自然是我首先想到的。
国家信息技术学院(NIIT)是如何为你提供便利的?
我是NIIT第一位也是唯一一位视障学生。在入学头几周,我一直积极地想要退学。每天去学校,我都会说:"今天是我最后一天了。"就是那么艰难。
有趣的是,那时我们甚至还没开始学编程,只是基本的Microsoft Word。老师们从未教过盲人。我必须在课堂上认真聆听,然后回家与电脑搏斗。那真的极其困难。
但随着时间推移,我算是幸运的。老师们开始适应我。我们会在课堂上进行小型的私下辅导。这是老师的体谅与我付出大量额外努力的结合。
当我正式接触编程时,我有一位叫Andrew先生的老师,他简直是天降神人。他的付出远远超出了合同规定的职责。他在学校期间和放学后都帮助我。我记得有时凌晨一两点还在和他通话,他从不抱怨。
我的职业生涯基本上要归功于他。没有他,我早就退出NIIT了。
那2005年到2015年之间呢?你是自己学习电脑的吗?
我设法完成了中学学业。当我的视力开始退化时,我正在读初三(JSS3)。我在眼睛开始退化之前就已经在使用电脑了,所以我不得不重新学习一切。
中学毕业后,带着所有的绝望和抑郁,我在2013年去了一家盲人康复中心。在那里,我接触到了屏幕阅读器、盲文和打字机,也让我认识了其他盲人朋友。
在那之前,我是个隐居者,从不出门。与其他盲人相遇——其中一些人的处境比我更糟——让我重新看待了事情。学习屏幕阅读器真的改变了很多,它给了我希望。
你学习盲文和屏幕阅读器花了多长时间?
我一开始抵触盲文,但课程要求我必须学。至于屏幕阅读器,我觉得相对容易,因为只是记忆按键组合的问题。
我最初接触的是用于笔记本电脑的JAWS,然后是安卓手机上的TalkBack。很久之后,我们的一位讲师向我介绍了NVDA,我至今仍在使用。所以,电脑用NVDA;手机主要用TalkBack。
你在学习编程过程中面临哪些挑战?
学习非常具有挑战性。在NIIT,我们拿到的是纸质教科书,对我来说毫无用处,因为我看不见。后来我接触到了一款叫OpenBook的软件,但要扫描厚重教科书的每一页实在令人沮丧。
我不得不严重依赖互联网。但许多网站代码质量低劣,不符合无障碍准则。就连编程网站本身也存在无障碍问题。
网上许多教程都是视频形式,对我来说几乎没用。有人会说"这样做",却不解释"这样"是指什么,因为有视力的人可以直接看到屏幕。
实际的编程过程本身也是一大障碍。当时许多编程工具和IDE都无法无障碍使用。有些事情我根本无法独立完成,不得不等到第二天去学校请人帮我点一个按钮。
我记得在NIIT无法进行Android开发,因为Android Studio对我来说无法使用。我只能坐在课堂上看着同学们编程,而我什么也做不了。 这不是说如果有人带我走一遍我最终就能学会的问题,而是我根本无法独立完成。我必须和他们通话,共享屏幕,让他们引导我:"把鼠标移到左边,把鼠标移到右边",诸如此类。后来我学会了,因为工具已经改进了。
有很多天我醒来会说:"就是今天了,去他的,我不干了。"
在学习和练习的过程中,哪些工具真正帮助了你?
很长一段时间,我使用的是记事本(Notepad),因为许多IDE无法无障碍使用或令人过于沮丧。
但记事本非常基础,没有代码预测,没有自动导入,什么都没有。所以一切都要手动完成。我会问旁边的同学诸如此类的问题:"我想导入scanner,你能告诉我完整的导入语句吗?"
我在2015和2016年编程的方式,基本上和他们1976年编程的方式一样,因为我使用的工具无法无障碍使用。
现在AI无处不在,它对你的工作有多大帮助?
我大量使用AI,它是一个节省时间的有用工具,但不仅仅是对盲人而言——每个人都在用。
在寻找无障碍学习材料方面历尽艰辛,而现在AI助手已经高度优化用于编程。我主要使用DeepSeek来学习概念和提问具体问题,就像有一位可以直接提问的老师。
我也将AI用于编程任务。有些事情因为无障碍障碍通常需要我花半天时间,但AI简化了这些。所以它在学习和提升生产力方面是非常有用的资源。
作为一名软件工程师,你的日常工作是怎样的?
目前,我为Cyclone Technology Limited编写后端代码。基本上,客户带着他们需要我们开发的需求来找我们,我们负责开发。我专门做后端,因为后端不像前端那样对人要求苛刻。大多数事情都不需要用眼睛。你在应用或网站上看到的那些东西——图形和设计——那是前端,显然我无法有效地做到这一点。我可以做,但无法做到有效的程度。所以,我主要做后端,也就是驱动前端的部分。我有时会参与前端,但只是少量贡献。大概就是这样。
你是在NIIT毕业后立即找到工作的,还是找了一段时间?
我于2022年开始在Cyclone工作。一位朋友向我推荐了这份工作,我投了简历,面试时表现得很好。
但在此之前的过程非常令人沮丧。我收到了大量拒绝邮件。有些面试中招聘人员告诉我:"你表现得非常好,我们想录用你。"然后两周后,我会听到这样的消息:"抱歉,我们正在进行架构调整。"
我深知作为一名盲人软件工程师求职意味着什么。有些事情我需要花一整天才能完成,而非视障人士只需十分钟。
编程发展迅速,当其他人快速学习新事物时,我有时还在努力寻找他们几周前就已学过的内容的无障碍学习材料。
自从你开始编程以来,你有没有参与过任何与无障碍或辅助技术相关的项目?
我目前还没有为无障碍领域做过任何公开的项目。然而,我一直在做的是无障碍倡导工作。所以无论我参与什么项目,我都会尽力确保无障碍标准得到遵守。有时候你需要选择自己的战场。有些自由职业项目你无法左右他们的决定——他们想怎么做就怎么做。但当我知道能有所突破时,我会尽力将无障碍作为项目的核心考量。
关于开发工具,我实际上有一些自己使用的工具,用来让编程更轻松。但我还没能抽出足够的时间来开发供公众使用的产品。所以我几年前那个进入科技行业开发辅助技术的老套梦想仍在计划之中。
看看你的工作环境,你的同事和客户对你的工作方式有何反应?
在我的内部团队中,获得了很多认可。经历多年拒绝之后,有人承认我真的能写出优质代码,这验证了我为成为一名开发者所付出的所有艰辛。
我从他们那里得到了很多帮助。
我记得有一次,一位同事在会话期间听到我的屏幕阅读器声音,说道:"你背景里有什么东西一直在说话。"当我的团队主管解释说我是视障人士时,他无法理解我是如何编程的。
与新人相处总会有一个初始的震惊期,但幸好大多数工程师都能很快适应,我们相处得很好。
当然,有时讨论会围绕白板和图表进行,我只能坐在那里,因为我本来就无法从流程图中获益。但总体而言,我的团队一直非常支持我。
尼日利亚和非洲的科技生态系统有多包容?
一点都不包容。
人们看到盲人使用手机或笔记本电脑时感到震惊,这一事实本身就说明了很多问题。对残障问题的认知还远远不够。
尼日利亚的教育体系从基层到顶层都已经破碎。没有任何系统性措施来缓解残障人士所面临的困境。
而且这不仅仅是尼日利亚或非洲的问题。残障人士在全球范围内都面临挣扎。但在这里情况更为严峻。残障人士仍然是事后才被想起的群体。
你认为尼日利亚和非洲的科技行业需要做什么才能变得更具包容性?
首先,他们必须遵守无障碍准则,无障碍不能被视为事后的补充。
开发者、公司、学校和政府需要从一开始就考虑无障碍问题。因为当技术无法无障碍使用时,它会将人们完全排除在外。
很多人不明白,无障碍不是慈善,它是基础设施,是参与权,是赋予人们独立运作的能力。
这是最重要的事:意识、无障碍标准,以及有意为之的包容。
当事情真的很艰难时,你会做什么来放松?
问题是,我不怎么出门。我不出门,部分原因是尼日利亚的治安问题。我知道很多像你一样的盲人每天都勇敢地出门。但尼日利亚的治安状况以及人们容易遭绑架的现实,这些都压力很大。我知道你们很多人都在硬撑着。
但我玩很多知识问答游戏。我实际上正在开发一款知识问答软件来娱乐自己,也许很快就会公开。除此之外,我大量阅读。
你希望在未来几年里实现什么?
我想在未来几年里提升我的技能,以便把工作做得更好。我希望获得更多认证,并在无障碍领域做更多贡献。这是我对行业贡献的一部分。我在开发东西,但关键是,在开发自己的项目的同时,为什么不为别人已经开始的项目做贡献呢?我相信两者可以兼顾。最重要的是获得更多认证、深化知识,以实现我所有的目标。
你会改变非洲科技行业的哪一件事?
我会改变的一件事是他们对待无障碍的方式。无障碍不只是为了像我们这样年轻在职的人。还有老年人依赖这些产品来完成银行业务和发送信息等任务。还有很多残障儿童依赖大量科技产品进行教育和许多其他事情。人们不应该再依赖他人来完成打电话给孩子或发送信息这样的基本任务。
科技无障碍应该是尼日利亚开发者和初创公司首要考虑的事情。依赖他人来完成日常活动并不好受。这些公司在构建产品时应该首先考虑无障碍问题。
最后,残障不应该成为我们无法被录用的原因。盲人显然无法以与视力正常人士相同的速度工作,但在招聘时,请看看这个人能提供什么,不要因为残障而拒绝他们。
