协作与团队合作

作为 Web 行业的专业人士,您将在项目的多个阶段与他人合作——集思广益、撰写提案、实施代码等等。本文将探讨如何与他人协作。

预备知识 N/A
学习成果
  • 与队友练习协作,包括分享有用的信息。
  • 学会提出有用的问题并互相帮助。
  • 发布您的作品
  • 扩大范围,通过聚会小组或开源项目寻找可以帮助和协作的人。
  • 学会不惧怕失败,而是将其视为有效的学习工具。

与他人合作

作为一名 Web 开发者,无论您是受雇还是学习,您都将花费大量时间与同行合作。您的同事或同学对您的学习可能是一个非常有价值的帮助,正如我们最初在研究和学习中讨论的那样,您至少应该确保一开始就能与他们相处融洽。

以您希望被对待的同等同理心和尊重对待他人非常重要。不同的人在情感、社交等方面有不同的需求,但最基本的是,您在所有互动中都应该礼貌、尊重和合作。

加入社区网络

Web 行业拥有强大的社区意识,这意味着您经常会与您的直接工作或学习小组之外的人互动,讨论感兴趣的话题或解决问题。Web 行业有其自己的在线空间,例如论坛(例如 Discord 服务器)、Slack 频道等。它还有许多线下活动,从备受瞩目的会议到更低调的本地聚会。

您应该加入其中一些小组,打个招呼,认识一些人,分享资源,提出问题,并主动提供帮助。认识社区中的人有许多优势——您将:

  • 结识可能有用的联系人,他们最终可能成为朋友、未来的同事或雇主。
  • 学习新的技术,并获得技术问题的帮助。
  • 练习解释代码的工作原理并回答他人的问题。
  • 了解资源、聚会和行业新闻。
  • 遇到招聘广告。
  • 查找有关其他社区成员工作的公司信息,这也有助于考察就业市场并确定您想在哪里工作。

以下是一些如何参与社区网络的初步想法:

  • 在您当地进行一些研究,看看有哪些本地的线下聚会小组,并参加其中一些。您可以使用 Meetup.comEventbrite 等网站查找活动。
  • 查看 confs.tech 等资源,查找感兴趣的技术会议。如果超出您的预算,请尝试联系组织者,看看您是否可以作为志愿者参加会议——您仍然可以参加会议并结识很多人。
  • freeCodeCamp 论坛是提问和回答问题的另一个好地方。
  • 查看 前端开发者 Discord 服务器
  • MDN 的 Discord 服务器上闲逛。
  • 加入友好的开发者导向的 IRC 频道,例如 Libera.Chat
  • 我们的学习伙伴 Scrimba 通过他们的 Discord 服务器提供强大的社区和协作体验,旨在帮助他们的学生获得与他人合作的经验。
  • 在社交网络上寻找 Web 开发者,看看他们在说什么,并加入对话。

如果您不确定如何参与,可以从阅读现有帖子并观察经验丰富的人如何参与讨论开始。

注意:大多数社区都会发布一份名为行为准则(或参与指南)的文档,其中定义了参与其项目的人员的行为预期。这些指南通常包括对什么是不可接受的行为、不可接受行为的后果以及如何报告不可接受行为的定义。例如,MDN 受更广泛的 Mozilla 社区参与指南管辖。

帮助他人,提问

如果同事或网络联系人遇到困难,请主动提供帮助。提供帮助的 Web 开发者更有可能建立牢固的关系并获得回报。

  • 如果您在他们遇到困难的领域已经有一些经验,请与他们分享知识或代码示例。解释某些事情的行为也会提高您的理解力,从而帮助您学习。
  • 如果您知道他们可能在哪里找到一些有用的答案,请帮助他们做一些研究。
  • 即使您不确定答案是什么,也请主动与他们休息一下,并在他们解释问题时倾听。您可能会有一些有用的见解,解释问题的行为可能会帮助他们找出解决方案(请参阅休息一下,和橡皮鸭调试法)。

始终倾向于帮助直接的同伴,而不是等待老师或高级开发人员去帮助所有人。能力较差的同伴将更快获得帮助,而能力较强的同伴将成为导师并体验由此带来的满足感。

提问和回答问题是一门艺术。练习提出正确的问题以找出您需要知道什么,以及当别人问您时解释您正在做什么至关重要。如果您不擅长这样做,请询问您的同伴是否可以与他们安排会议,他们提问,您解释您的代码如何工作,反之亦然。

同行评审也是练习这方面的好地方(参见下文)。

发布您的作品

通常来说,发布您的作品非常值得,包括源代码、经验教训、挑战等。您的同行会觉得这非常有用,更广泛的社区也会如此。

当您找到有用的答案时,请写下来。将您的代码放在像 GitHubGitLab 这样的社交编程网站上,并在博客上写下您的想法。通过社交媒体分享您的出版物。

撰写过程不仅会澄清概念,您还会获得社区的验证和/或反馈。这可以帮助您在行业中崭露头角。

即使您认为自己的成就微不足道,您也可能比您想象的更了解,而且总会有人在掌握代码的旅程中处于早期阶段,会发现您的作品很有用。

参与开源

结交朋友和影响他人的另一种方法是寻找开源项目并提供更新以修复他人工作中的问题。只要您礼貌和尊重,并解释您的更改及其背后的原因,项目所有者将非常感谢您的贡献。您的更新还将为您提供宝贵的经验和实践。

例如,MDN 的源代码在 GitHub 上可用,我们有许多您可以处理的问题。MDN 上有大量的社区资源,描述了该项目以及如何为其做出贡献。

如果您不确定什么是开源以及为什么要开始贡献,或者如何开始贡献,以下两者都非常有用:

团队合作和同行评审

您经常需要与其他开发者组成团队工作,不同的团队成员在团队中扮演不同的角色。我们将在工作流程和过程中探讨您将遇到的不同角色和常见工作策略,但现在,请思考在团队中工作意味着什么:

  • 共同拥有您正在从事的项目——无论是成功还是失败。
  • 共同计划您将要做什么,以及如何协作实现它。您将使用什么流程?您将如何衡量成功?您有多少时间;需要实现哪些目标,以及何时实现?
  • 定期公开沟通,确保问题及早发现,并且每个人都知道正在发生什么。
  • 始终对其他团队成员表现出同理心,尤其是在事情不按计划进行需要调整时。
  • 互相帮助以取得成功。

即使您没有在进行真实的开发项目——您可能正在进行大学模拟项目,或者正在从事自己的业余项目——您也应该像真实的软件项目一样进行实践,包括时间表、计划和职责。了解典型的软件开发生命周期。学习一些基本的项目规划技能和工具,以便能够估算和规划您的工作。

开始进行同行评审也是一个好主意——同事将互相评审工作,并就如何改进提供反馈。审查的领域可能包括总体代码质量和对代码样式指南的遵循、性能、遵守最佳实践、可用性和文档质量。无论您是评审者还是被评审者,您都能从中受益匪多:

  • 如果您正在评审他人的工作,请力求在鼓励和表扬优秀工作与批判性反馈之间取得平衡。练习如何建设性地、尊重地提供反馈。即使它们看起来微不足道,在讨论或评审同伴工作时,也总要提出一两个问题。
  • 如果您的工作正在被评审,请尽量不要将批评视为人身攻击,而是专注于积极的方面以及您可以学习到的东西。假设您的评审者是出于好意——他们只是想提供帮助。

学会拥抱失败

导致学生和新开发者回避实验和冒险(例如,在开始新项目或探索新想法时)的一个非常常见的问题是对失败的恐惧,以及它将如何被同伴/队友评判。您应该花一些时间了解从错误中可以获得的价值。

失败实际上只是通往成功之路上的一个小台阶。所有最成功的开发者都曾多次失败,重要的不是实际的失败,而是您如何处理这种失败,以及您从中吸取的教训。

这里有一些提示:

  • 定义一个安全的空间/同伴小组,人们可以自由提问——请记住,没有“愚蠢的问题”,只有那些不提问的人。培养一种同伴互相支持、失败不被严厉评判的文化。
  • 寻找您的网络,尝试寻找可以给您帮助和建议,或者面临与您相同问题并能提供精神支持或一起实验的在线或线下小组。
  • (对于教育工作者)设置您的评估评分方案,以便即使您没有获得正确结果,只要过程记录良好,您仍然可以获得合理的分数。为创新额外加分。
  • 在项目进行到一半时,与同伴和导师进行展示和讲解或一对一会议,以获取反馈和见解,了解您哪里出了问题,并获得如何回到正轨的建议。
  • 举行回顾会议,分析项目,看看哪些地方做得不好,并讨论下次如何改进。