个性特征会影响开源开发过程

2020-09-11 21:27:07

也许你是一位熟练的技术专家。但请注意:如果您的个性像抹布一样闪闪发光,您可能会危及您的开放源码项目。

根据最近的一项研究,开发人员的个性会显著影响他们对开源项目的贡献。滑铁卢大学的研究人员发现,包括经验在内的社会因素仍然是影响贡献者作品被接受或拒绝的最大因素。但研究还发现,个性特征对人们如何看待他们的工作起着关键作用。

滑铁卢大学大卫·R·切里顿计算机科学学院(David R.Cheriton School Of Computer Science)教授、这项研究的联合作者梅亚潘·纳加潘(Meiyappan Nagappan)在一份声明中表示:“自愿从事开源项目的人需要意识到,他们对改变有多开放,有多认真,因为这两个性格特征将影响人们与他们合作的意愿。”

没有人在真空中工作。当一个人与其他人互动时,他们的行为就会显现出来,无论是面对面的,在Slake频道中的,还是在代码注释中的。软件开发通常包括创建一个团队,在这个团队中,共享想法是舒适和安全的。正如研究人员指出的那样,仅仅完成一项任务是不够的;开发人员还需要虚心地听取和考虑其他人的意见。事实上,一些开发人员说,团队中的个性越多样化,最终产品就越好。

研究人员从GitHub收集了他们的数据。他们分析了来自1,860个项目的16,935名活跃开发人员的个性特征。每个开发人员至少有250个Pull请求,GitHub开发人员通过这个过程通知从事同一项目的其他开源贡献者他们已经完成了一项任务。

然后,研究人员使用IBM沃森个性洞察力来检索GitHub软件开发人员的五大性格:开放性、尽职尽责、外向、随和和神经质。

滑铁卢数学学院的硕士学生、该研究的另一位合著者亚历克斯·云(Alex Yun)在一份声明中表示:“我们发现,在让你的开源作品被接受方面,社会因素仍然比技术因素更重要。”

研究人员还检查了人格因素的重要性。他们发现,在接受或拒绝开放源码作品时,可能存在偏见。这是真的,尽管开源的明显优势在于您可以匿名进行贡献;您的角色显示在您的代码和注释中。有些人评论和评论你的工作是基于他们在他们面前看到的东西,而不是他们是如何认识你这个人的。

云说:“经理们更有可能接受他们认识的人的贡献,或者比其他人更和蔼可亲的人的贡献-即使技术贡献可能是相似的。”

全球呼叫智能提供商Infinity的高级软件工程师马修·阿诺德(Matthew Arnold)表示:“如果你的工作受到审查,而你立即否决了其他人提出的任何建议,那么我可以预见,这将对合并你工作的决策者的观点产生负面影响。”

“离‘惊讶’最远的事情用什么形容词来形容呢?”VM(Vicky)Brasseur是一位开源领导者、演讲者,也是“用开源打造您的未来”一书的作者。“虽然这项研究在学术上把它称为‘个性’,但它们的意思是一个人与他人互动的能力:社交技能和技术技能的应用。”

阿诺德补充说,那些性格外向的人可能会发现,在向开放源代码库发送拉请求时,点击“提交”更容易。“通过提交这份请求,您同意让互联网社区对您的工作进行审查和评判。这可能会相当令人望而生畏,特别是在开源项目往往吸引了业内一些最优秀的人才的情况下。

在某种程度上,我们每个人都可以评估自己的能力--无论是好是坏。在Myers-Briggs人格测评中,阿诺德的人格属于内向型、直觉型、思维型和判断型(INTJ)。他认为自己是个开明、尽职尽责的人。但我们可能会从不同的角度看待自己,而不是局外人。

VMware开源社区战略项目主管Dawn Foster表示,个性特征对软件开发有一些影响,但社会因素影响更大。“在我的经验中,社会因素对我成功为开源项目做出贡献的能力影响更大。”

福斯特形容自己“基本上尽职尽责,有一点随和”,她说这对她很有帮助,因为她通常是有准备的,注重细节。这“让人们更放心地依赖我履行职责。”她说,和蔼可亲有助于她与他人产生共鸣,让他们感到受欢迎。

Foster和Brasseur都同意滑铁卢的研究,发现社会因素对拉动请求接受开源项目贡献的可能性影响更大。

福斯特解释说:“开源社区经常感觉像是一个非常小的世界,在那里我一遍又一遍地遇到同样的人。”“我过去在以前社区的社交活动为我参与新社区铺平了道路。”

例如,当福斯特开始为库伯内斯做贡献时,她想为贡献者峰会提供帮助。由于她曾与几个可以为她的工作担保的其他项目的组织者合作,因此对她来说,作为组织者参与进来相对容易,尽管她对这个项目相对较新。

另一个例子是CHAOSS项目,福斯特最终加入了该项目的董事会。福斯特说:“因为许多现有的董事会成员和维护人员都知道我过去在开源项目健康指标方面的工作,这让我能够以更快的方式参与到有意义的活动中,如果我没有之前的那些社交互动的话。”

Brasseur指出,社交不仅对成功的开源贡献至关重要,而且对任何涉及多人参与的努力都至关重要。

Brasseur说:“当人们不能很好地互动时,合作即使不是不可能,也是困难的,无论是由于个人技能、语言差异,还是其他一些障碍。”“在开源领域,我们有大量关于贡献的技术方面的文档,例如编写测试或将您的贡献发送给审阅的机制,但是关于该贡献的社会期望的文档相对较少。”

Brasseur补充说,项目不一定忽视社会期望。“原因很简单,他们很少记录下来。”

和福斯特一样,阿诺德说,开放、尽责和随和让他在职业上受益良多。这些特质帮助他“与队友融洽相处,这对我来说是一个巨大的好处。”但是,他补充说,“我必须小心,然而,当我收到关于改变我做某事方式的反馈时,我不会让这件事影响我的判断。”我需要确保我不会太快去做让别人开心的事情。“。

其结果是愿意接受与他最初的观点背道而驰的建议。“我的障碍往往来自缺乏外向以及神经质的程度,”阿诺德说,“让演讲和培训等经历变得比必要的更有压力和焦虑。”

不要期待争吵。大多数开发人员都是和蔼可亲的!“我看到拉请求最受个性阻碍的时候是当你有一小群开发人员审查工作的时候,”Arnold说。在这些情况下,“作者在没有真正批评建议的情况下实施审查评论,这有时会导致质量水平降低。”

善于沟通的人总是很受欢迎的。Karat的开发者关系总监卢森·门德尔(Lusen Mendel)说,雇主总是在各行业的应聘者中寻找这种软技能。Karat为招聘开发者的组织进行技术面试。

孟德尔说:“就像我们通过测试来验证软件的正确性一样,它经常需要同行的跳跃想法来验证我们自己的理解程度和洞察力的有效性。”作为一个优秀、简洁的沟通者,开发人员可以快速确定哪些信息对特定的集思广益、决策和开放源码项目非常重要。

他指出,几乎在卡拉特进行的每一次面试中,不管他们应该评估什么,“面试官不可避免地会告诉招聘经理应聘者是如何沟通的。”

虽然杰克·沃伦(Jack Wallen)不是一名开发人员,但作为一名记者,他已经报道开源数十年了,他发现“开发人员非常像艺术家,因为他们对批评非常敏感,不仅对自己的工作非常重视,而且对他们的工作和他们是谁的接受程度都非常高。”

Wallen说,许多开发人员为自己的个性感到自豪,并倾向于非常珍视这一特点。“这可以转化为,当他们和他们的工作被接受时,对一个项目非常满意--或者当他们不被接受时,离开。”

对于Wallen来说,开发社区中还有另一个长期存在的问题需要解决。“很明显,开发社区对待有色人种、女性和LGBTQ社区成员的方式需要显著改善,”他说。“在这一点上,必须对不想要的或不平等的待遇采取零容忍态度。”

沃伦说,他认识非常有才华的开发人员,他们都受到了这一点的影响。“在情况发生重大变化之前,紧张和不安的气氛将一直存在。”

可能有助于优化沟通的一个因素是关心软件质量的项目冠军。本白皮书详细介绍了首席质量官的角色。

埃丝特·辛(Esther Shein)是一名长期从事技术和商业写作和编辑的自由撰稿人,她的作品曾出现在几家全国性和行业出版物上。她还撰写了思想领导力电子书、客户故事和营销材料。