对于来自像喀麦隆这样的弱势群体的程序员来说,成为一名程序员是很艰难的。许多非洲人甚至不知道计算机编程是什么——而且很多知道的人认为这只适合来自西方或亚洲国家的人。
我直到 18 岁才拥有电脑,直到 19 岁高中毕业才开始编程,而且不得不写很多纸质代码,因为我不能带着笨重的台式机去学校。在过去的五年里,随着我逐步晋升为来自弱势群体的成功程序员,我学到了很多东西。虽然这些经验来自我在非洲的经历,但其中许多也适用于其他弱势群体,包括女性。
1. 学习如何编码
这是显而易见的:要成为一名成功的程序员,你首先必须是一名程序员。在非洲社区,这可能不是很容易。要学习如何编码,你需要一台电脑,可能还需要互联网,但这对于非洲人来说并不常见。我直到 18 岁才拥有一台台式电脑——大约 20 岁才拥有一台笔记本电脑,有些人可能仍然认为我很幸运。有些学生甚至在进入大学之前都不知道电脑是什么样子。
你仍然必须找到学习如何编码的方法。在我拥有电脑之前,我经常步行数英里去看一位朋友,他有一台电脑。他对电脑不是很感兴趣,所以我花了很多时间使用它。我也经常去网吧,这花光了我大部分的零花钱。
利用当地的编程社区,因为这可能是你最大的动力来源之一。当你独自工作时,你可能会觉得自己像个忍者,但这可能是因为你与其他程序员互动不多。参加技术活动。确保你至少有一个比你更优秀的朋友。把那个人看作是你的竞争对手,努力击败他们,即使他们可能和你一样努力。即使你永远无法获胜,你作为程序员的技能也会不断提高。
2. 不要过分解读统计数据
许多来自弱势群体的聪明人甚至从未达到“学习如何编码”的阶段,因为他们将统计数据视为铁铮铮的事实。我记得当我渴望成为一名黑客时,我曾经因为科技界黑人比白人少得多的统计数据而感到沮丧。如果你在谷歌上搜索“有史以来最伟大的 50 位计算机程序员”,这份榜单上可能不会有很多(如果有的话)黑人。科技界大多数鼓舞人心的名字,如 Ada Lovelace、Linus Torvalds 和 Bill Gates,都是白人。在成长过程中,我一直认为科技是白人的事情。我过去认为我做不到。小时候,我从没看过一部科幻电影,里面有黑人扮演黑客或计算机专家。总是白人。我记得当我上高中时,我们的老师写道编程是我们课程的一部分,我以为那是个玩笑——我心想,“什么时候开始的,这怎么可能呢?”我离真相不远了。我们的老师根本不会编程。
统计数据还显示,许多你仰慕的令人惊叹、鼓舞人心的程序员,无论他们的肤色如何,都是在 13 岁开始编码的。但你直到 19 岁才知道编程的存在。你会问自己这样的问题:我该如何赶上?我甚至有这方面的智力吗?当我 13 岁的时候,我还在玩愚蠢幼稚的游戏——我怎么能和这些人竞争呢?
这可能会让你得出结论,白人在技术方面天生就更优秀。这是错误的。是的,统计数据是正确的,但它们只是统计数据。而且它们可以改变。让它们改变。你的环境对你成长过程中所做的事情贡献很大。你怎么能把自己和父母在你九岁之前就给他买了一台电脑的人相比——而你直到 19 岁才见到电脑?那是 10 年的差距。而且那个九岁的孩子也有很多人指导他。
无论你的背景如何,你都可以成为一名伟大的软件工程师。这可能会有点困难,因为你可能没有西方世界的人拥有的资源或机会,但这并非不可能。3. 拥有当地的英雄或导师
我认为,生活中有一个值得敬佩的人是最重要的事情之一。我们都钦佩像 Linus Torvalds 和 Bill Gates 这样的人,但试图把他们当作你的榜样可能会让人感到沮丧。Bill Gates 在 13 岁开始编码,并在 17 岁创立了他的第一家企业。我 24 岁了,还在试图弄清楚我想用我的生活做什么。那些故事总是让我怀疑为什么我还不够优秀,而不是寻找让自己变得更好的理由。
拥有当地的英雄或导师更有帮助。因为你们都生活在同一个社区,所以更有可能不会有如此大的差距让你感到沮丧。当地的导师可能和你差不多年纪开始编码,而且不太可能在很小的时候就开始创业。
我一直钦佩科技界的大人物,现在仍然如此。但我从未将他们视为导师。首先,因为他们的故事对我来说似乎是幻想,其次,我无法接触到他们。我选择我的导师和榜样是那些我触手可及的人。选择榜样并不意味着你只想达到他们的高度就停止。成功是循序渐进的,你需要为你想达到的每个阶段都设立榜样。当你达到一个阶段时,再为下一个阶段寻找另一个榜样。
你可能无法从像 Bill Gates 这样的人那里获得一对一的建议。你可以获得他们在会议上向公众提供的建议,这也很棒。我总是关注聪明人。但是,最有影响力的建议是针对你的建议。考虑到你的目标和情况的建议。你只能从你可以直接接触到的人那里获得这种建议。
我是我生命中不同阶段的许多导师的产物。其中一位是 Nyah Check,他在大学里比我高一年级,但在技能和经验方面,他领先两到三年。我还在高中的时候就听说了他的事迹。他让人们想要成为伟大的程序员,而不仅仅是专注于获得 4.0 的 GPA。他是法语非洲地区最早参与 Google Summer of Code 的人之一。还在大学期间,他出国旅行的次数比许多讲师梦想的还要多——而且没有花一分钱。他可以编写连我们的课程讲师都无法理解的代码。他共同创立了 Google Developer Group Buea,并创建了一个精英程序员俱乐部,帮助许多学生学习编码。他还创建了许多其他社区,比如我担任首席组织者的 Docker Buea meetup。这些事情激励了我。我想像他一样,并且知道通过和他交朋友我会获得什么。与他的讨论总是非常鼓舞人心——他谈论编程和他周游世界参加会议的冒险经历。我从他身上学到了很多东西,我认为他教导了我。现在年轻的学生想和我在一起,原因和我当年想向他学习的原因一样。
4. 参与开源
如果你在非洲,并且想从顶尖工程师那里获得顶尖技能,那么你最好的选择是加入一个开源项目。非洲的科技生态系统很小,而且大多由初创公司组成,因此在你热爱的领域获得经验可能不容易。非洲的初创公司很少使用机器学习、分布式计算或容器和 Kubernetes 等技术。除非你的热情是 Web 开发,否则你最好的选择是加入一个开源项目。我通过参与 OpenMRS 社区学到了我所知道的大部分知识。我也为其他开源项目做出了贡献,包括 LibreHealth、Coala 和 Kubernetes。在获得技术技能的同时,你还将建立你的人脉网络。我的大多数同龄人都是从书本上了解 Linus Torvalds 的,但我有一张和他合影的照片。
参与开源拓展计划,如 Google Summer of Code、Google Code-in、Outreachy 或 Linux Foundation Networking Internships。这些机会可以帮助你获得初创公司可能无法提供的技能。
我曾两次以学生的身份参加 Google Summer of Code,现在我是一名导师。我曾担任 Google Code-in 组织管理员,并且我正在作为一名开源开发人员志愿工作。所有这些活动都帮助我学习新事物。
5. 在可以的时候利用多元化项目
多元化项目很棒,但如果你像我一样,你可能不太喜欢从这些项目中获益太多。如果你在一个五人团队中,而你获得录用的基础是因为你是一个黑人,而其他四个人是白人,你可能会怀疑你是否真的足够优秀。你不会希望人们认为基金会赞助你的旅行是因为你是黑人,而不是因为你和其他人一样具有价值。这绝不仅仅是因为你是一个少数族裔——而是因为赞助组织认为你是一个杰出的少数族裔。你不是唯一一个申请多元化奖学金的人,也不是每个申请的人都获得了奖励。在可以的时候利用多元化机会,并建立你的知识库和人脉网络。
当人们问我为什么 Linux 基金会赞助我参加开源峰会时,我会说:“我被邀请在他们的会议上发表演讲,但他们有你可以申请的多元化奖学金。”这听起来不是很酷吗?
尽可能多地参加会议——多元化奖学金可以提供帮助。学习你能学到的一切。实践你所学到的知识。结识人脉。申请发表演讲。从小处着手。每当我站在人群面前发表演讲时,我的右腿都会发抖,但经过练习,我已经变得更好了。
6. 回馈社会
始终找到回馈社会的方法。指导别人。在社区中担任积极的角色。这些是我回馈社区的方式。这不仅是一种道义责任——而且是双赢的,因为你可以在帮助他人更接近梦想的同时学到很多东西。
我曾参与 Google Developer Group Buea 组织的编程语言聚会,在那里我指导了 15 名学生学习 Java 编程(从初级到中级)。项目结束后,我创建了一个 Java 用户组,以保持 Java 社区的凝聚力。我从聚会中招募了两名成员加入我,成为 LibreHealth 的志愿者开发人员,在我的指导下,他们为该项目做出了有用的提交。他们后来被 Google Summer of Code 项目录取为学生,我被指派在项目期间指导他们。我也是喀麦隆官方 Docker 聚会 Docker Buea 的首席组织者,并且我也是 Docker 校园大使。
在这个社区担任领导角色迫使我学习。作为 Docker 校园大使,我应该培训学生如何使用 Docker。正因为如此,我学到了很多关于 Docker 和容器的有趣知识。
Ivange Larry Ndumbe 将于 8 月 27 日至 31 日在加拿大不列颠哥伦比亚省温哥华举行的 Open Source Summit North America 会议上发表题为 在弱势群体中成为一名成功的程序员 的演讲。
10 条评论