如何避免羞辱新手:高级开发人员指南

为了维持开源社区的增长,我们需要欢迎新的开发者。不幸的是,我们并不总是那么热情好客。
391 位读者喜欢这篇文章。
Woman programming

WOCinTech Chat。由 Opensource.com 修改。CC BY-SA 4.0

每年在纽约市,有几千名年轻人来到城里,打扮成圣诞老人,进行酒吧巡游。有一年在 SantaCon 活动期间,我在人行道上走着,管着自己的事,当我看到一个非凡的场景。有一个人穿着红色帽子和红色外套,他正在和一个坐在轮椅上的无家可归者交谈。无家可归者问圣诞老人:“你能给我一些零钱吗?” 圣诞老人掏了掏口袋,拿出一张 5 美元的钞票。他犹豫了一下,然后把它给了无家可归者。无家可归者把钞票放进了口袋。

瞬间,事情变得糟糕了。圣诞老人对无家可归者大喊:“我给了你 5 美元。我想给你一美元,但五美元是我能拿出的最小面额,所以你应该感激。今天是你的幸运日,伙计。你至少应该说声谢谢!”

这是一个可怕的目击场景。首先,权力差异太大了:圣诞老人是一个身强力壮、有钱有房子的白人男性,而另一个人是黑人、无家可归,并且坐着轮椅。这也很糟糕,因为圣诞老人的装扮是慷慨的象征!而且他一直表现得像圣诞老人,直到一瞬间,事情变得糟糕,他变得残忍。

然而,这不仅仅是一个关于醉酒圣诞老人的故事;这是一个关于技术社区的故事。当我们回答新程序员的问题时,我们也试图慷慨大方,但每天我们的慷慨都会变成愤怒。为什么?

我的残忍

这让我想起了我过去的不良行为。我当时在公司的 Slack 上闲逛,一位新同事提出了一个问题。

新同事: 大家好,有人知道如何使用 MongoDB 做某某事吗?

Jesse: 这将在下一个版本中实现。

新同事: 该功能的工单号是多少?

Jesse: 我记住了所有的工单号。是 #12345。

新同事: 你确定吗?我找不到工单 12345。

他没有听出我的讽刺,他的错误让他在他的同伴面前感到尴尬。我暗自发笑,然后我感觉糟透了。作为 MongoDB 最资深的程序员之一,我不应该树立这样的榜样。然而,这种行为在各地的程序员中都很常见:我们对新手冷嘲热讽,我们羞辱他们。

为什么这很重要?

也许你来这里不是为了交朋友;你来这里是为了编写代码。如果代码能工作,那么我们是否彼此友好重要吗?

几个月前,在 Stack Overflow 博客上,David Robinson 表明,Python 增长迅猛,现在它是人们在 Stack Overflow 上查看问题最多的语言。即使在最悲观的预测中,它也将在今年远远超过其他语言。

Projections for programming language popularity

如果你是 Python 专家,那么这条向上飙升的曲线对你来说是个好消息。它不代表竞争,而是确认。随着越来越多的新程序员学习 Python,我们的专业知识变得越来越有价值,这将反映在我们的薪资、工作机会和工作保障中。

但存在危险。很快就会有比以往任何时候都多的新 Python 程序员。为了维持这种增长,我们必须欢迎他们,但我们并不总是那么热情好客。

Stack Overflow 的问题

我在 Stack Overflow 上搜索了对初学者问题的粗鲁回答,结果并不难找到。

An abusive answer on StackOverflow

信息很明确:如果你问了这么愚蠢的问题,你就完蛋了。滚出去。

我立即找到了另一个不良行为的例子

Another abusive answer on Stack Overflow

谁没有被 Python 中的 Unicode 搞糊涂过?然而,信息很明确:你不属于这里。滚出去。

你还记得当你需要帮助却被人侮辱时的感受吗?感觉太糟糕了。而且它摧毁了社区。我们一些最优秀的专家每天都在离开,因为他们看到我们这样对待彼此。也许他们仍然在编写 Python,但他们不再参与在线对话。这种残忍也赶走了新手,尤其是那些在技术领域代表性不足的群体成员,他们可能不确信自己属于这里。那些本可以成为下一代伟大的 Python 程序员的人,但如果他们问了一个问题,却有人对他们很残忍,他们就会离开。

这不符合我们的利益。它伤害了我们的社区,并且使我们的技能变得不那么有价值,因为我们赶走了人们。那么,我们为什么要做出违背自身利益的事情呢?

为什么慷慨会变成愤怒

有几种情况真的让我恼火。一种是当我慷慨地付出却没有得到我期望的认可时。(我不是唯一有这种怨恨的人:这可能就是醉酒的圣诞老人在给了无家可归者 5 美元钞票而没有收到任何感谢时发脾气的原因。)

另一种是当回答问题需要比我预期的更多努力时。一个例子是我的同事在 Slack 上提问,然后又问:“工单号是多少?” 我已经判断了帮助他需要多长时间,当他要求更多帮助时,我失去了耐心。

这些情况归结为一个问题:我对事情的发展方式抱有期望,当这些期望被违反时,我会生气。

我已经研究佛教多年,所以我对这个主题的理解是基于佛教的。我喜欢认为佛陀在他的第一次技术演讲中讨论了期望的问题,当时他在 30 多岁时,在多年的冥想之后,经历了一次突破,并召开了一个小型会议来讨论他的发现。他没有租用场地,所以他坐在树下。与会者是佛陀在印度北部游历时遇到的一些冥想者。佛陀解释说,他发现了四个真理

  • 首先,活着就是不满意的——希望事情比现在更好。
  • 其次,这种不满是由欲望引起的;具体来说,是我们期望如果我们获得我们想要的东西并消除我们不想要的东西,它会让我们长期快乐。这种期望是不现实的:如果我得到晋升,或者如果我删除 10 封电子邮件,它只是暂时的满足,但它不会让我长期快乐。我们之所以不满意,是因为每件物质的东西很快就会让我们失望。
  • 第三个真理是,我们可以通过接受我们现在的生活来从这种不满意中解脱出来。
  • 第四个真理是,改变我们自己的方法是了解我们的思想,过着慷慨和道德的生活。

我仍然会对互联网上的人生气。最近就发生在我身上,当时有人在 我发布的关于 Python 协程的视频 上发表评论。我花了几个月的时间研究和准备才制作了这个视频,然后一个新手评论说:“我想掌握 python,我应该怎么做。”

Comment on YouTube

这激怒了我。我的第一反应是讽刺地说:“首先,也许你可以把 Python 的 P 大写,并在问题的末尾加上问号。” 幸运的是,我在采取行动之前就意识到了我的愤怒,并关闭了选项卡。有时,解脱只差一个 Command+W。

该怎么做

如果你加入一个社区的目的是为了帮助别人,但偶尔发现自己怒火中烧,我有一个方法可以防止这种情况发生。对我来说,关键步骤是问自己:“我生气了吗?” 知道这一点是战斗的大部分。然而,在网上,我们可能会失去对我们情绪的追踪。众所周知,我们在互联网上变得残忍的原因之一是,看不到或听不到对方,我们天生的同情心就不会被激活。但互联网的另一个问题是,当我们使用电脑时,我们会失去对我们身体的意识。我可能会生气并输入一条讽刺信息,甚至不知道自己生气了。我感觉不到我的心脏在砰砰直跳,我的脖子在变得紧张。因此,最重要的一步是问自己:“我感觉如何?”

如果我太生气而无法回答,我通常可以走开。正如 小兔子邦尼在《小鹿斑比》中学到的,“如果你不能说好听的,那就什么也别说。”

回报

帮助新手本身就是一种回报,无论你是否收到感谢。但在你的善行之后,不妨用一杯威士忌或一块巧克力犒劳自己,或者只是满意地叹一口气。

但除了我们个人的回报之外,Python 社区的回报是巨大的。我们保持了这条向上飙升的曲线。Python 继续增长,这使我们自己的技能更有价值。我们欢迎新成员,那些可能不确定自己是否属于我们的人,通过向他们保证没有愚蠢的问题。我们使用 Python 来创建一个围绕编写代码的包容和多元化的社区。而且,成为一个人们彼此尊重的社区的一份子,感觉真的很好。这正是我想要成为其中一员的社区。

三息誓言

我希望你从这篇文章中记住一个想法:为了控制我们在网上的行为,我们必须偶尔停下来,注意我们的感受。我邀请你,如果你愿意,大声重复以下誓言

我发誓

深呼吸三次

在我回答网上的问题之前。


本文基于 Jesse 在 2 月份 PyTennessee 上做的演讲 为什么慷慨会变成愤怒,以及该怎么做。如需了解更多针对 Python 开发人员的见解,请参加 PyCon 2018,5 月 9 日至 17 日在俄亥俄州克利夫兰举行。

User profile image.
我是纽约市 MongoDB 的一名 Staff Engineer。我编写了 Motor,即异步 MongoDB Python 驱动程序,并且我是 MongoDB C 驱动程序的首席开发人员。我为 PyMongo、asyncio、Python 和 Tornado 做出贡献。我在国际摄影中心学习,并在 Village Zendo 练习。

14 条评论

非常愉快的阅读体验。以及一个极其重要的问题。谢谢!

过去几年,我在 Scribus 邮件列表上承担的任务之一是,当有人对一个真诚但可能天真的问题做出粗鲁或愤怒的回应时进行干预。这有两个方面,一是缓和对提问者的措辞,并尝试给出一些实际有用的帮助,二是向粗鲁的回答者传达,回应的语气对于列表来说是不必要和不合适的。

你的观点来自错误的方向。

你提到的社区“利益”来自贪婪和行动。

没有任何好处来自这些意图。

在我看来,当你纯粹出于信念帮助别人时,你会从自己身上获得最大的收获;因为你想帮助别人。那就是你应得的回报。

圣诞老人对另一个人发脾气是因为他期望得到回报。他应该帮助别人,因为他知道自己应该这样做并且想这样做。

这是最常见的错误之一。因为你被爱才去爱。谢谢你,好莱坞。

如果你要去做任何事情,都要出于信念去做。否则,你总是在为自己所做的事情“收费”。爱、帮助、社区,等等。都是一样的。

是时候投资于真正重要的东西了。

谢谢。我相信你和我在如何造福社区方面已经达成一致。我写道,问题发生是因为“我对事情的发展方式抱有期望,当这些期望被违反时,我会生气。” 但如果我记住我的真实意图,“帮助新手本身就是一种回报,无论你是否收到感谢。” 所以我的观点似乎和你的观点来自相同的方向。不同之处在于我承认我还不完美。=)

回复 作者 Renich

感谢你的诚实。一些 stackoverflow 标签非常刻薄。在一个我不会点名的标签上,我的每个问题都被投了反对票或被关闭了。当一位顶级维护者的公开资料上写着这个标签上所有有趣的问题都已经被问过了,所以我把时间花在投反对票和关闭问题上时,这并没有帮助。我不是在开玩笑。

我不再在这个标签下发帖了。

我认为“没有愚蠢的问题”这句口头禅是值得尊敬的,但只是部分正确。有些问题是愚蠢的,因为它们可以通过 2 分钟的研究来回答。
问题是初学者通常不知道在哪里以及如何查找。因此,即使你收到了一个愚蠢的问题,也可能不是因为提问者很愚蠢。所以你不应该生气,但你不应该立即回答问题,因为如果你这样做,初学者永远不会学会如何研究自己的答案,而这对于开发人员来说是最重要的技能之一。相反,你应该在他们提问之前告诉他们应该在哪里查找,以便他们可以自己回答未来可能遇到的问题。

这很难。

这听起来像是世界观的冲突。一种假设是“嘿,你来这里是为了帮助别人,我们一起工作,或者有相似的兴趣”。当遇到“当然 #12345”时,如果反过来向你寻求帮助,这个人可能会以同样的方式对待你,这是可以原谅的。

如果他们对你那样做,那也不应该更正确,因为我们都是人,也许你很忙。

我们都不是完美无缺的,我们谁都不会从不生气,但我认为你在事后思考并希望更频繁地做正确的事情是很棒的。

我认为,如果你能建立一个社区或文化来支持它,那么深入挖掘直到问题得到解决是一件很棒的事情。

谢谢你的口头禅。无论你决定给出哪种类型的答案,口头禅都必须先于它。此外,这对你自己的健康也有好处!

在一个一年多历史的帐户中,回答了一些问题。而且,除其他外,收到的评论风格是:“你,还不能回答”。尽管有些人认为其中的一些东西对他们有用并投了赞成票。但其他人无缘无故地投了反对票。

当被要求停止毫无意义地投反对票时,那些在网站内声誉更高并且应该表现出良好行为的用户,他们没有这样做。相反,他们会查找答案并将其投为负票。这使得获得的声誉积分(成为“可接受”用户)下降,直到个人资料因“问题”而被自动阻止。

版主看不到这些事情吗?如果做这些事情的人是那些声誉更高并产生这种病态行为的人。他们以“他们遵守规则”为借口,而不去推理他们被告知的内容。所以,这不是遵守规则。他们是故意的。

技术行业需要改进,以鼓励人们寻求帮助,并教导没有人什么都懂。

“完美”是实用的敌人。

当我加入的不是编程邮件列表而是 Linux 邮件列表时,我也曾被比我聪明的人“虐待”……(你认为你们很苛刻?……去在那些邮件列表上问一个关于使用 sudo……synaptic……或 apt-get 的问题!……他们会生吞活剥了你!),但我想是因为这不是面对面的经历……我才能够长出一层厚厚的脸皮……在经历了大约一年半的那种行为之后?……版主最终移除了唯一一个似乎专门守在那里,只是等待看到我在网上发布问题,然后“扑上来”进行侮辱……冷嘲热讽……嘲笑等等的人。有趣的是什么?……我已经转到其他邮件列表,虽然名称可能已经更改……但他们的“写作风格”立即被认出来了……他们也被踢出了其他那些邮件列表!我用这个来表明人就是人,有些人是痛苦的,是自命清高的……有些人有优越感……另一些人有权力/控制欲。我发现这类人很可笑!……我在整个高中时期都是一个十足的极客……雪莱……阿瑟·柯南·道尔爵士……以及几乎所有的希腊哲学家都是我午餐和放学后的伙伴……所以我用“瓦肯人”的眼光看待一切,因为没有更好的定义。非常注重逻辑,当人们恢复到他们的“克林贡”方式时?……我只是坐下来,对他们的行为感到有些好笑,因为从中没有任何积极意义。没有任何有价值的输出,只有一片空白。(大自然厌恶空白!)这使得这样的人与
蘑菇
沿着小溪边生长
距离城镇四十英里
与河流相连
绕过山脉
位于湖对面
在地球的另一边!

无需多言。哈哈!

很棒的文章!!

交易的一部分是不问以前回答过的问题。并提供可重现的错误,以便开发人员可以花费很少的时间来重现它。如果你发布一个非常开放的问题,你肯定会被投反对票或收到负面反馈。

多年来维护了代码中一个利润丰厚的部分。但当其他人开始破解它时,我学到了很多东西。我相信我的文档写得很好,但如果你有完全不同的技能组合,并且不了解隐式使用的生态系统,那就非常困难。

你是否向版主举报了 SO 答案?在 gis.stackexchange.com 上,这种答案会让你第一次违规就被禁言一周。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
 

每周在您的收件箱中获取精彩内容。

© . All rights reserved.