软件开发是团队协作。本文探讨为何要找优秀队友,怎么找到以及怎么坚持好的一面。
译自How Community Helps Developers Grow,作者 Heather Joslyn。
Tim Lehnen 在高中时就开端捣鼓网页设计,运用早期版别的 WordPress 和 Drupal(一种开源内容管理系统(CMS))进行实验。
在 Reed 学院学习英美文学和哲学期间,他在该学院的用户服务部门作业,并接了一些兼职网页设计作业来付出膏火。
2008年毕业后,他的计算机技能抵挡账单十分有用。在曩昔的9年里,他一直在 Drupal 基金会作业,目前担任首席技能官。
听到Lehnen的故事,你或许会说他是一位自学成才的开发者。但你说得不对,他对 The New Stack 说。自学成才,他说,”有点意味着社区教学。”
作为初出茅庐的开发者,他常常将自己的问题和最棘手的问题带到在线论坛,包括Drupal.org上的论坛。经过这种办法,他说,”你逐步树立起技能技能。但你也逐步与社区树立起某种友谊,并开端理解谁是导师。”
当他以工程司理的身份参加 Drupal 基金会时,搭档问他是怎么对这个 CMS 感兴趣的。
他回答说:”嗯,其实,我在高中时问过你一个问题。你帮我弄清楚了怎么树立我的第一个网站。”
“咱们的社区中还有一些人今天仍在社区中,但在那时,他们不是正式大使或正式倡议者,而仅仅导师和乐意分享常识的人。我认为一切软件学科都存在这种情况。”
“开发是一项团队运动”
从你第一次在谷歌上查找答案和代码片段开端,你就在寻觅开发者社区。
无论是长时刻存在的开源项目 Drupal 的奉献者和保护者(每年有 7000 到 10000 名奉献者)- 还是向 Stack Overflow、GitLab 或其他面向开发者的论坛发问的新手 – 假如不向其他开发者学习,你走不远。
“开发是一项团队运动,”GitLab 的开发者联络和社区副总裁埃米利奥萨尔瓦多(Emilio Salvador)对 The New Stack 说。“终究,你只能和你的队友相同超卓,对吧?因此,具有一个强壮的社区很重要。”
今天的开发者社区与几十年前呈现的社区不同。“想想不同技能的爆破式增加,之前乃至不存在的云,开发言语等,”萨尔瓦多说。“社区变得愈加专业化。”
而开发者一般一起参加几个社区,而曩昔他们只专注于一个或两个。
参加的选择也更多了 – 线上和线下。全球新冠疫情迫使开发者集会和会议为 2020-2022 居家办公年代重新界说自我。
“新冠疫情的一个意外积极后果是,让每个人都有或许拜访只要住在同一地点才能联络到的社区和人员,”萨尔瓦多说。
然而,只在网上遇到其他开发者会遗失许多有价值的信息,比方无法经过肢体言语来了解另一个人。
“后疫情年代,咱们正处于能够获得线上线下双国际最佳结合的阶段,”他说。“所以咱们不需求每周或每月都举办线下集会,因为咱们能够在线保持这些联络。”
但是跟着国际开端在现实生活中再次往来,他弥补说,现在也有机会亲自树立联络。
萨尔瓦多供给了一种在线和线下参加之间架桥的策略,例如在会议上。一个开发者能够经过“在线与社区协作,只审查代码,提出主张,供给反馈”来开端。
“到了有机会面对面见这些人的时分,他们会知道你是谁。这为每个人的联络树立都省去了许多费事。”
支持开发者社区
每月,GitLab 与不计其数参加程度不同的人进行互动。有些人直接为项目做出奉献,有些参加该安排的论坛,有些参加线下集会或在 Discord 上树立联络。
萨尔瓦多的开发者联络团队处于技能和倡议的交汇点,将 GitLab 与更广泛的用户社区连接起来。该团队的核心使命是培养和保持一个充满活力的开发者、奉献者和用户社区。这包括创建教育内容、安排活动和研讨会、开发计划和供给常识交流与协作的论坛。
萨尔瓦多说,开发者联络团队背面的工程师致力于经过指导、安排社区奉献者成团队以确保他们的成功,以及认可他们有影响力的奉献,协助开发者成为 GitLab 社区中充满活力的成员。
Nils Brock和他在 DW 学院的搭档需求社区的驱动力,于是寻求 GitLab 的协助。DW 学院是一个协助国际各地开展自由媒体系统的安排,发现它所服务的社区播送记者,特别是开展中国家的记者,在新冠封锁期间难认为听众服务。
Brock 对 The New Stack 表明,DW 学院的协作伙伴告知该安排,“’咱们无法告知咱们的社区,他们现已因当地封锁而封闭,咱们无法外出,咱们没有在家作业的东西。’ 所以这就是我开端考虑 OK,让咱们为这个目标群体制定一个处理方案的原因。”
作为一名记者,Brock成为Colmena的项目总监,这是一个协助用户协作、录制和修改音频和文本以及创建播客的软件渠道。Colmena在西班牙语中的意思是“蜂巢”,它旨在在移动设备上运行杰出,并能够离线作业,这表现了国际各地许多创作者只能拜访移动设备而不是台式机,而且网络拜访质量较差的现状。
Brock说,在新冠疫情期间为Colmena找到开发者是一项挑战。“当新冠疫情高峰期时,可用的开发者不多,”他说。“他们要么现已找到作业,要么要求十分高的日薪。”
该项目在巴西、突尼斯以及终究与阿根廷的一个协作社联络上了开发者。“他们中的许多人之前从事公共基础设施作业,或对开源感兴趣,并巴望为社区做点什么。然后吸纳社区自身就是一个难题。”
Brock说,Colmena周围的开发者社区推荐 GitLab 作为保管该项目开源存储库的最佳渠道。GitLab能够轻松地在不仅仅是开发者,还有全球各地提出主张或陈述过错的 Colmena 用户之间进行协作。它还供给了一个wiki 功能,协助团队坚持文档更新和安排杰出。
Brock说,项目在开端阶段文档是一个挑战。项目的早期版别作业得很好,但它软弱,无法轻松扩展。当新开发者参加Colmena时,他们无法理解上一任开发者构建该渠道的办法。
Brock说,新开发者告知安排者,他们十分困惑,以至于有必要从头开端重建渠道的某些部分。这是一个艰难的经验,他说,这个经验让团队接受了 GitLab 的 wiki:”在这一点上,经过更坚决的文档作业,咱们本能够更有效率。”
Colmena 现在处于测验阶段,计划在 4 月正式发布。Brock 说,经过 GitLab,该团队对他们正在开展的开发者社区感到满意。“它更像咱们期望互联网成为的姿态……一种一起寻觅处理方案的办法。不要总是将商业视为重中之重。”
那么你想参加开发者社区吗…
怎么找到开发者社区?或许最好的办法,也是最有或许产生深远耐久联络的办法,就是为一个开源项目做奉献。但选择哪一个呢?
萨尔瓦多指出,全国际有大量集会正在举办。他说,入门的过程基本分两个步骤。
“首要,找到你感兴趣的技能,”他说。“社区联络需求时刻树立;假如你对技能自身不着迷,你不会长时刻参加该项目。”
“第二,在你的社区里找出那些技能的杰出倡议者,”萨尔瓦多说。“找个当地人。特别是在开端阶段,树立和培养那些人际联络十分重要。”
在寻觅项目时要有策略。例如,GitLab保护了一个开源项目目录,这些项目十分合适探索。但除了诱人的技能之外,萨尔瓦多说,选择应该由其他因素驱动。
他主张你查看你感兴趣的项目的状态墙。“假如你的项目有不计其数的开发者企图为其做奉献,那么在正确的时刻与正确的人进行触摸对你来说将十分困难。”
相反,从小处着手 – 但不要太小。“找一个有必定吸引力但不算太多的项目,”他说。“对项目及其背面的保护者做一点研究。”
现在科技会议在后疫情年代现已重启,你能够考虑参加。即使是专注于单一技能的小型活动,也能够供给与你企图参加的社区亲自触摸的机会。
开发者社区礼仪
与任何一群人相同,开发者社区都有自己的社交准则和礼仪。这里有一些要做和不要做的事项:
对你的时刻许诺要诚笃,并坚持下去。
“你有必要问自己,你乐意在时刻方面付出多少,而不仅仅是试用一两天然后去做其他工作,”萨尔瓦多说。
要坚持一致。
“来来去去不好,因为它不协助在社区内树立联络。”
他警告说,你的行为会宣布强烈的信号。“社区,特别是大社区,会看到大量的人来来去去。你有必要展示出许诺,然后在该社区中树立自己的名声,这一点很重要。”
要有耐性和安稳。尤其是要有耐性。
萨尔瓦多说,与任何其他联络相同,这是一段旅程。“你不或许一夜之间成为社区的骨干成员。你需求经过找出乐意供给协助而不仅仅是寻求协助的合适人选来树立信任。然后,终究,工作会自然发生。”
要做喷泉,不是排水沟。
美国国家橄榄球联盟堪萨斯城酋长队的老将锋端 Travis Kelce 常常谈到他大学橄榄球教练的主张对他改变了观点。教练说,你在生活中遇到的人要么是喷泉,要么是排水沟。要做喷泉,不要做排水沟。换句话说,要成为大方的滋补之源,而不是一个吸收能量的需求之沟。
同样的正确主张也适用于开发者社区。“这意味着要开放、诚笃,并乐意比满意自己的利益更多地协助他人,”萨尔瓦多说。
他还说:“终究,人们会把你看作是社区的另一个成员,一个开放、大方的人。” 萨尔瓦多说,假如你没有树立这样的名誉,你或许会被排除在社区之外。
阅览文档。并弥补它。
Drupal 基金会的Lehnen主张:“在发布问题前查找一下,确保它还没有被处理过。而且,在缺点陈述中填写他人需求的一切信息。”
Lehnen指出,任何社区都“会有一些礼仪和规范。其间一些涉及怎么运用你具有的东西——缺点的正确格式和标签以及这类工作。”
谦善地寻求协助。
Lehnen说,在寻求协助之前,确保你现已“用尽自助服务”。“仅仅为了证明你致力于测验。”
当你提出请求时,他弥补说:“不要要求一个答案;要求一个办法。不是:你能为我做这个吗?而是:你能展示给我看吗?”
他主张要考虑他人的时刻。“不要认为一个大型开源软件项目的保护者能停下来帮你处理你的草坪护理网站的一个问题。”
另一方面,Lehnen弥补说,假如你现已树立起正派的品格,“假如你现已在那个社区中,协助编写文档,他们或许会,他们或许会觉得,很酷,你太棒了。是的,我会帮你处理你的那个小网站的问题。”
谦善地供给协助。
Lehnen指出:“工程师特别简略犯假如你有正确答案,你的语气就不重要这个过错。”
他说,开发同理心和其他社交技能对技能人员来说应该与学习新编程言语或把握新东西相同重要。
他供给了一个在开发者社区进行交流的技巧。
“最简略的思考办法是进入每次对话时都要想,我能够为这次对话奉献什么?
“或许你想奉献开源项目,房间里有一个保护者。你最好的初次互动或许不是‘嘿,我发现了一个过错,你能修正它吗?’但一个好的互动是‘嘿,我发现了一个过错,我现已修正了它。’”
本文在如此众生(yylives.cc/)首发,欢迎大家拜访。