GitHub 现在似乎无处不在。 GitHub 被称为“开源和私人项目的强大协作、代码审查和代码管理”,现在被用于各种各样的事情,而不仅仅是编程任务。例如,在 New Relic, 我们使用 GitHub 风格的拉取请求来管理我们的工程部门 。与此同时,在 Kickstarter,他们正在 为诗人教授 GitHub 。
今年夏天早些时候在加利福尼亚州圣克拉拉举行的 Velocity 会议 上,Kickstarter 的首席运营工程师 Aaron Suggs 解释了公司如何为 Poets 培训课程创建 GitHub,“向所有员工介绍我们的工程流程和运行 kickstarter.com 的代码库,无论他们的角色或部门如何。”
一小时的“G4P”课程是 Kickstarter 入职流程的一部分,Suggs 说。目标是让公司的非开发人员(包括市场营销、编辑和人力资源部门)大致了解 Kickstarter 的工程流程以及工程团队的工作方式。模仿 诗人物理学 等大学课程,其目标不是将人们变成物理学家,而是因为“理解”一个人特定关注领域之外的复杂材料是“丰富的内容”。
该课程包括对 git 分支和提交以及 git 文件布局的解释,以及在浏览器中使用 GitHub 流程进行复制更改的现场演示。 Suggs 说,与会者找到要更改的内容,进行更改,然后将其作为拉取请求提交,供其他人评论和批准。虽然只有五分钟,但“让经历过的员工大开眼界。”
Suggs 说,通过允许每个人提交代码,该公司已经创建了一个更轻量级的流程来进行简单的更改,例如文本字符串。过去,修复打字错误涉及他所说的向工程部门发送票证的“荒谬过程”,但现在编辑可以自己完成……就像客户支持可以改进消息传递,而 HR 可以更新职位列表,而无需为这些平凡的任务打扰工程师。这甚至避免了 Kickstarter 构建 CMS 的需要,Suggs 说,“至少现在是这样。”
尽管存在诸如“他们会破坏网站”和“这是一种安全责任”之类的担忧,但大约 29 位“诗人”已经做出了 1,139 次承诺,萨格斯说。
最重要的是,根据 Suggs 的说法,“我们正在使我们的工程团队更具包容性和透明度”,并传播拉取请求过程中固有的共识的文化价值。他解释说,作为现代软件开发过程的一部分,捕捉每一次变化的历史都是免费的。此外,“寻求帮助和改进是一种非常有效的工作方式。”
对工程师也有好处
正如 Suggs 解释的那样,理解工程的工作方式“可以改善其他团队与工程团队的合作方式,并改善他们自己的工作方式”。 Kickstarter 是 DRY(不要重复自己)、ABL(始终学习)和 JiT(及时)学习等首字母缩略词的忠实拥护者。借助这些技术和共享存储库,“您可以确切地了解入门所需的内容,”Suggs 说。 GitHub 的拉取请求系统意味着你的工作在你提交之前不会影响任何其他人,Suggs 补充说,所以你不必成为专家就可以开始做出贡献。
G4P 是帮助改进其他团队工作方式的好方法,Suggs 说,它还增加了工程在公司内部的影响力。他说,透明度和共识导致无可指责。如果做得好,整个组织——而不仅仅是一个人——都会变得负责任。