我们为职业生涯初期的开发人员提供指导。以下是他们成功所需的条件。
注:本文最初发表于领英(LinkedIn)。
掌握编程技能只是成为一名专业网页开发者的一个方面。另一项至关重要的技能是如何在软件团队中高效协作。大多数编程训练营要么不教授这项技能,要么教授得不够有效。这导致初级开发者在面试中屡屡碰壁,并且需要在第一份技术工作中花费大量时间来适应。Collab Lab是我和Stacie Taylor共同创建的项目,旨在帮助解决这个问题。
协作实验室成立一周年
自成立以来的一年里,协作实验室已帮助44 位初级网络开发人员学习如何在软件团队中工作。我们为那些已具备一定技术基础但尚未拥有技术团队工作经验的开发人员提供远程协作项目实践机会。
我们二十多位志愿者导师都是专业的网页开发人员和工程领导者。我们的项目结构力求简化,但在实际操作中又非常贴近实际。参与者采用结对编程的方式完成项目看板上管理的任务。他们每周进行进度演示,并参与学习模块和回顾会议。参与者表示,他们在面试中更有信心,也为他们的第一份开发人员工作做好了更充分的准备。
什么对职业生涯初期的开发人员有帮助?
在过去一年中,我们开展了 12 个为期 8 周的项目,在此过程中,我们积累了丰富的经验,了解如何帮助初级开发人员取得成功。这些经验可以归纳为以下 5 个主题:
- 结构
- 过程
- 相互依存
- 语境
- 鼓励
当然可以,叫它“SPICE”方便你记住就行。😅
结构
清晰的指导原则和易于理解的流程和需求文档能够帮助初级开发人员更好地工作。
在协作实验室,项目信息以项目简报的形式呈现,它就像一个信息中心,汇集了与项目相关的所有信息。简报内容包括重要链接摘要、我们对参与者的期望(包括结对编程)、每周项目进度安排,甚至还有一些底层细节,例如我们如何命名代码库中的分支。
有些资深开发人员可能会觉得这样做有点过头,但我认为,即使是经验丰富的团队也能从清晰记录这些信息中受益。
过程
在任何组织中,尤其是在远程组织中,流程的书面文档可以帮助开发人员了解每天会遇到什么情况以及需要做什么。
我之前提到的项目简报清晰地概述了开发人员如何确定工作内容,以及如何判断用户故事何时完成。对于许多参与者来说,这是他们第一次加入软件团队。通过记录代码审查和审批流程,当遇到困惑时,他们可以参考这些流程来了解预期结果。
相互依存
协作实验室从一开始就是一个分布式项目。我们使用 Slack 和 GitHub 来远程协调项目。在这些远程团队中,我们鼓励相互协作。我们强调这不是学校教育。我们的参与者不会被评判或评分。他们是一个团队,共同努力完成某项任务。
每周,我们4人小组会分成2对两人一组。我们期望每对两人每周都能花费大量时间进行同步结对编程。作为初级开发人员,如果他们能够构建知识维恩图并将其应用于问题,就更有可能成功完成任务。
我们强调的另一项鼓励协作的实践是公开透明的工作方式。这种透明度是Zapier的核心价值观,我在那里担任工程经理。在 Slack 上积极沟通有助于增强团队成员之间的联系,并让团队随时了解项目进展和遇到的障碍。
语境
启动新项目时,我们会要求每位参与者观看之前团队开发的应用演示视频。之所以可行,是因为我们每次都做同一个项目;但对大多数组织来说,类似的演示也可以是点击式原型,甚至只是设计模型。
我们向开发人员提供背景信息的另一种方法是使用以下用户故事格式:
- 作为一名______
- 我想要 ______
- 以便 ______
例如,以下是智能购物清单项目中的一个案例:
- 作为用户
- 我想在我的购物清单中添加新商品。
- 这样我就可以开始记录购买情况了。
这种格式对初级开发人员很有帮助,因为它不仅仅是一份需求清单,还描述了为最终用户提供的价值,包括该功能的“意义”。这能够激励我们的开发人员针对遇到的问题提出创造性的解决方案。
鼓励
在培训协作实验室导师时,我们明确告诉他们要成为团队的啦啦队长。他们的正式角色融合了高级开发人员和产品负责人的职责,但他们每周最重要的工作是帮助团队成员建立信心,让他们相信自己能够完成任务。
因为我们主要在 Slack 上工作,所以这种鼓励通常以大量的 GIF 和表情符号的形式出现。✨ 这可能不太符合你们组织的文化(如果是这样,我为你们感到难过😅),但因为我们是远程办公,我们发现这种方式能够建立起参与者和导师之间非常必要的情感联系。
联结和鼓励——包括注重形成性而非总结性反馈的成长型思维实践——对于克服冒名顶替综合症大有裨益。这种综合症很常见,人们常常觉得自己是个骗子,随时可能被揭穿。我们的导师通过展现脆弱的一面并鼓励克服挫折,创造了一个可以安全尝试和成长的空间。
通过招聘训练营毕业生来增加团队多样性,只有在你努力创造一个包容、支持性的工作环境的前提下,才能从长远来看奏效。
值得这么做吗?
聘用初级开发人员有很多好处。他们给团队带来的热情极具感染力,能够激励团队成员更好地编写需求文档、系统文档和流程文档。此外,这个群体往往包含更多来自科技领域代表性不足群体的成员,因此也是提升团队多样性的绝佳途径。
但任何值得做的事情都需要做出改变才能取得成功。要充分发挥这种热情,需要计划和组织。通过招聘训练营毕业生来增加团队多样性,只有在你努力营造一个包容、支持性的工作环境的前提下,才能从长远来看真正有效。
人生和科技领域都没有捷径,但如果你打好基础,就能帮助你的初级开发人员取得成功。
❦
Andrew Hedges是The Collab Lab的创始人,同时也是Zapier (一家完全远程工作流程自动化公司)的工程经理。他拥有马里兰大学帕克分校的教育学硕士学位,主修咨询和人类发展。Andrew现居美丽的俄勒冈州波特兰市。
Stacie Taylor是The Collab Lab的联合创始人,也是Zapier的一名工程师。她曾是一名产品经理,后来转型成为工程师,并且是早期职业开发者的坚定支持者。Stacie居住在阳光明媚的加州萨克拉门托。
请在Twitter上关注The Collab Lab。
文章来源:https://dev.to/the-collab-lab/we-mentor-early-career-developers-here-s-what-they-need-to-succeed-75e