以软件工程师的身份接受阅读障碍

我成长于一所小型私立学校,对其他类型的思想家没有太多接触。 因此,当我在课堂上大声朗读时会不知所措,或者阅读和理解教科书内容需要花费我两到三倍的时间时,我会以为大脑有问题。

幸运的是,事实并非如此。

当我上大学时,我想看看我是否真的有什么问题,所以我参加了一次智商测试。 该测试的结果表明,我实际上是诵读困难的人。

阅读障碍是一种基于语言的学习障碍。 诵读困难症是指一系列症状,导致人们在使用特定语言技能(尤其是阅读)方面遇到困难。” —国际诵读困难症协会

本质上,这是一种学习障碍,使得难以理解文本内容。

在上大学时,期望完成工作的步伐使我措手不及。 我很快就落后了,直到母亲敦促我研究大学可能提供的各种残疾选择。 我很不情愿地这样做。

利用大学提供的支持最终成为了我的省钱之选。 我有时间去完成分配给我的任务。 一直以来,我都在潜意识里学习如何应对阅读障碍。

我这样做的方法之一是找到一种对阅读困难的字体OpenDyslexic,它可以减轻我在阅读课堂文章和文档时遇到的困难。 此外,我安装了Chrome扩展程序,该扩展程序将几乎所有网站上的字体更改为OpenDyslexic。

足够满足我的大学时代了……作为一名软件工程师,我是如何做到的?

事实是……我还没有做到。 每天都有它面临的各种挑战,我现在把它称为诵读困难的“好处”。 这些包括持续的拼写错误,语法错误,更长的时间来理解问题空间等等。 毅力是关键。

作为阅读困难的软件工程师,实际上让我感到骄傲。 尽管有些方面难以克服,但我使用了我在大学里自学的工具和策略来解决难题,并在工作场所进行批判性思考。

工程软件艰难

—特别是在我目前所处的咨询环境中。它需要客户沟通,期望设置,团队合作,协作以及(您猜对了)编码的组合。 作为软件工程师,有大量的阅读和写作,但这并不意味着阅读困难。

尽管事情可能需要我花更长的时间才能完成,但最终结果往往是经过深思熟虑并且对于将来的重构是可靠的。 我发现,当需要将代码移交给其他人时,他们可以在对我的思维过程进行相对轻松的解释的情况下使用它。

我绝不觉得自己的工作速度比我作为专业软件工程师的速度要慢,这是我进入该领域时的主要恐惧。 我已经开发出一套技能,可以使我从阅读障碍中受益,在某些情况下,它使我比其他具有类似资历的开发人员更具竞争优势。

什么对我最大的帮助?

由于阅读障碍症是视觉学习者和思想家,因此我确保将其整合到我一天的工作方式中。 我总是通过白板来处理架构决策。 当我向其他人解释事情或试图思考脑海中的问题空间时,我会使用隐喻。

大声思考并向同伴解释问题空间最终为我提供了广泛的帮助。 除了全天手动为我提供帮助之外,我还设置了自动化工具来帮助我完成工作。

语法高亮

使各种单词的颜色代表不同的事物非常有帮助。 它使我能够快速有效地解析代码块。 例如,以JavaScript编写的以下斐波那契算法。

  const fibonacci =函数(数字){ 
如果(数字<= 1){
返回1
}其他{
返回斐波那契(数字-1)+斐波那契(数字-2)
}
}

在此示例中添加语法高亮显示使开发人员可以快速轻松地解析代码块以进行推理。

正确的IDE

选择正确的IDE(集成开发环境)对于能够全天快速完成工作至关重要。 拥有良好的IDE将使您能够自定义代码编写体验; 更改字体类型,颜色,语法突出显示,IntelliSense,自动完成等。

我目前使用VSCode编写JavaScript和C#进行工作。 它具有强大的插件支持,并允许我覆盖几乎所有的默认设置,以便我可以使用它。

创建心理模型

如上所述,阅读障碍症是视觉思维者。 我们解决问题的方式通常与其他非阅读障碍者根本不同。 这没有什么错–只是有所不同。

正如贝丝·安德烈斯·贝克(Beth Andres-Beck)在她的博客网站上说的那样:“ [阅读困难]很大程度上依赖隐喻和例子。”我知道这是真的,因为我一整天都在解决问题,所以经常脑子里这样做。 在与其他人合作时,我随后使用这些隐喻来提供我们要解决的问题的解释和示例。

当我浏览一个代码库时,我的大脑正在下意识地创建一个心理模型,该模型表示每段代码如何相互连接。 我发现它非常有帮助,因为这也是我调试软件的方式。 能够“看到”在我创建的心理模型中可能发现错误的各种路径,这使我通常可以轻松地诊断和解决复杂的问题。

每当您重新访问代码库时都可以使用思维模型进行参考,从而节省了需要切换上下文时所需的大量准备时间。 在项目不断变化的咨询环境中,需要每一分钟来提高生产率,这项技能非常有价值。

挑战最大的是什么?

阅读障碍会导致您产生内容时面临各种挑战。 我每天关注的关键问题之一是在各种障碍成为问题之前减轻它们的影响。

向他人解释事物

具有讽刺意味的是,因为我在上面提到我的阅读障碍可以帮助我通过使用我的心理模型向其他人解释问题。 但是,有时候当我试图解释自己的理解方式时,会发现我一言不发。

的JavaScript

我使用Javascript进行大部分编码,但这对我来说是一个很大的挑战。 当我在大学里学习面向对象编程(OOP)时,JavaScript的松散类型变量和事件驱动的体系结构的组合最初对我来说是非常具有挑战性的。

由于阅读困难,在OOP中思考很容易。 原因是,组件构成其他组件。 在事件驱动的系统中,任何事情都可以在程序执行的任何时刻发生(例如,鼠标单击,触发传感器,与网络相关的事件等)。 幸运的是,在React和Redux中进行开发为我减轻了这一挑战。

结论

在阅读和写作困难中成长,我一直以为我的大脑出了点问题。 经过拒绝的过程之后, 拥抱阅读障碍是我本可以做的最好的事情。

作为软件工程师,整天解决问题是我的工作。 这些问题不仅存在于代码中,而且还存在于与客户和同行的书面沟通中。 正如耶鲁阅读障碍与创造力中心所说的那样,我能够提出“解决问题或应对挑战的出乎意料的方法。”对我来说,这对我编写代码的方式至关重要。

我已经找到了减轻诵读困难的负面影响,同时又提高了诵读困难的好处的方法-我再也没有其他方法了。 我热爱自己所做的工作,并且我觉得我的职业生涯是一个很好的开端,因为我是Helpful Human的阅读障碍软件工程师。

资源资源

阅读困难的程序员
我患有阅读障碍症,这是我的经验。 它们当然不会通用,尤其是因为它不只是一种形式… blog.bethcodes.com 阅读障碍编程
在我以前的文章中,我讨论了它如何激发了我的思想。 在这篇文章中,我将分享我如何将此应用到… medium.com 阅读障碍并不会阻止您编码。
我患有严重的诵读困难症,只有在上大学时才真正诊断出来。 审查员非常…… medium.com 什么是诵读困难? *耶鲁阅读障碍与创造力中心
我们还不完全了解这种创造力是否来自阅读困难者的额外工作才能成功…… dyslexia.yale.edu 为什么阅读困难是好的计算机程序员
患有阅读障碍的人在学习一种新语言时,尤其是一种新语言时,可能会发现自己的问题消失了 。io9.gizmodo.com