我不得不承认,我是一个没有构建过网站的开发者。当我第一次读到 Chris 的问题时,我沉默了至少一分钟。我想讨论哪个技术话题?新的库、编程语言或最佳实践?什么也没想到。这是因为我是一个新手开发者吗?
我编码大约一年了,一个月前找到了我的第一份工作。尽管我编码了一段时间,但我不会说我构建过网站。我为几个开源项目做出了贡献,这些项目的输出是网站,但我花了大量时间练习技术测试以进入这个行业,现在我正在为卫报报纸的 Android 应用程序编写Kotlin。
思考这个问题几分钟后,我意识到我想写写谁可以构建网站,以及我们如何和在哪里选择构建它们以欢迎新人。今年我一直在就这个话题发表会议演讲,因为我亲身了解成为一个时间和金钱都很少的情况下成为开发者的感觉。处于“外部”试图进入我们的行业并不容易。我们如何才能让新人更容易加入我们?我们如何才能欢迎弱势群体加入?在 2020 年,你可以通过欢迎新开发者,特别是来自弱势群体的开发者,对我们的行业产生巨大的影响。
自从最知名的科技公司首次发布多样性报告,揭示其员工队伍绝大多数是白人或亚洲男性以来,已经五年了。尽管取得了商业上的成功,但这些大型科技公司都没有在多元化其员工队伍方面取得多大进展。
2014 年,按收入计算最大的科技公司之一苹果公司在其技术人员中女性占比为 20%。到 2018 年,这一比例仅增至 23%(苹果)。在谷歌,2014 年美国黑人技术员工的比例为 2.0%,到 2018 年仅上升至 2.8%(谷歌)。在 2014 年的美国 Facebook,西班牙裔技术人员的比例为 3%。去年为 3.1%(Facebook)。
继续保持我们同质化的工程社区是一个风险。我们不太可能为我们多元的用户群体构建最合适的产品。例如,已有大量报告称面部识别系统错误识别黑人。一项美国政府研究发现,一个顶级系统错误识别黑人的概率是白人的 5-10 倍。此外,“根据美国国家标准与技术研究院 (Nist) 2011 年的一项研究,当亚洲国家的公司创建面部识别软件时,该软件对亚洲面孔的识别精度实际上更高,这表明谁制作软件会强烈影响其工作方式”(卫报 2017)。
值得庆幸的是,在 2020 年,你可以做很多事情来为构建更具多元化的工程社区做出贡献。以欢迎新人的方式开放式构建网站,可以对我们的行业以及我们作为工程行业生产的网站产生巨大的积极影响。
首先,开放源代码网站的构建如何帮助我们欢迎新人?你可以通过成为优秀的开源公民并遵守最佳实践来提供帮助,例如进行积极和建设性的代码审查、保持文档更新和有用、为新贡献者提供帮助以及在可能的情况下与他们进行远程结对编程。一些优秀的开发者,例如 Suz Hinton(@noopkat)直播他们的开源贡献,这真是太棒了。
GitHub 的研究表明,文档受到高度重视,但经常被忽视。作为一名新贡献者,我非常重视清晰和有用的文档,尤其是在安装、创建 PR 以及在遇到问题时如何获得帮助方面。Mozilla 发现,吸引他人参与的最大障碍是不清晰的沟通和不友好的社区。在你的文档中使用积极的语言可以真正鼓励首次贡献者参与你的项目。例如,明确表示你欢迎新贡献者,并提供他们如何参与的说明。
我们希望创建一个对弱势群体极具吸引力的工程社区。我们可以做到这一点的方法之一是支持新开发者在职业生涯中站稳脚跟。我们可以做到这一点的方法有很多!
我们可以为新开发者做的第一件事是通过结对编程和代码审查来帮助他们。开源项目非常适合这一点!通过提供建设性的代码审查,你可以帮助新手提高他们的编码技能。你还可以为你的代码库设置一个 Slack 频道,在那里你可以回答技术问题。我遇到过一些开源英雄,他们花时间与我结对编程,如果这对你有帮助,这是一种帮助新人的绝佳方式。
自学编程时我面临的最大挑战是找工作。你可以通过在 Medium 上撰写文章、发布 Twitter 线程或制作 YouTube 视频,让新开发者了解你的公司或你的日常工作。一些开发者提供自己的办公时间,他们在直播中进行,或者提供一些与新开发者的一次性指导电话。
我们欢迎谁加入我们一起构建网站,说明了我们是谁以及我们的价值观。在 2020 年,让我们欢迎新人,特别是来自弱势群体的加入。我们已经讨论了开源项目在这方面有多么出色,以及我们如何在实践中为支持新人做出贡献。让我们挑战自己,在 2020 年支持至少一位来自弱势群体试图进入工程行业的个人。我们可以共同改变谁有权构建网络。
Amina,你真的说到了点子上,没有对新手的支持……你日夜学习,却无处实践
Amina,感谢你真诚而坦率的呼吁。我真的很喜欢阅读这篇文章,以及你想要有所作为的愿望。我正在奥克兰联合领导一个女性科技团体。在 2020 年,我希望你能亲自或虚拟地分享你的见解。请告诉我你是否有兴趣进行合作,以添加你宝贵的才能,并让我为保持发展势头做出贡献。