阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

工程师文化播客: 从工程转向管理,访谈 Github 公司的 Phil Haack

  • 2016-10-19
  • 本文字数:3882 字

    阅读完需:约 13 分钟

本次播客是一个新系列播客中的第一篇,该系列播客名为“工程师文化”(Engineering Culture)播客,来自于 InfoQ.com 和 QCon 大会的幕后人员。

在本次播客中, QCon 旧金山大会伦敦大会纽约大会的主席 Wes Reisz 访谈了 GitHub 的工程主管 Phil Haack,Haack 在 Github 的工作聚焦于实现将软件推送到开发人员的桌面,当前正致力于发布 GitHub Desktop 这样的软件。GitHub Desktop 是用于 Visual Studio 开发工具和 Atom 文本编辑器的 Github 扩展。Haack 于 2011 年加入 Github,他也是.Net 社区中的重量级人物。在 Microsoft 工作时,Phil 在 NewGit、 ASP.NET MVC.NET 的发布中起到了核心作用。

关键要点:

  • 我们常过度关注软件开发实践的具体细节。但是当扩展到大型的项目和团队时,挑战就不再是技术上的,而是社会问题。
  • 研究显示了多样化程度更高的团队会更加的高效。
  • 正在向管理层转化的工程师应将这种转化看成是与任何技术领域一样的一门学问;这并非是一件“仅靠即兴发挥”就能去处理的事情。
  • 建立高效团队需要信任,信任的存在可使团队成员在不破坏相互关系情况下,进行坦率的探讨和健康的辩论。一对一交流是一种实现信任的有效方法。
  • 要成为工程师团队中有影响力的教练,管理者需要体现出强大的技术领导力。在技术上不可靠的人通常不会被技术团队很好地接纳。

点击播客链接收听

播客记录

1 分 59 秒:“我们常过度关注软件开发实践的具体细节。但是当扩展到大型的项目和团队时,挑战就不再是技术上的,而是社会问题。”(引用自 Peopleware )。在从按个人喜好开发项目转到参与几十上百人共事的大型开发项目的过程中,开发人员所面对的最艰难挑战在于如何与他人共事、如何很好地相互协调以及如何从他人那里学到最多的东西。

3 分 09 秒:一种应具备的重要能力,是采取证据法识别那些对推动协作产出有效的实践和方法,但是该领域的研究并不多。我们只能依赖于现有的研究方法,逐个试验它们的应用效果。这样才能确定一种方法是否真正有效,或者仅是一种不能实际应用于开发空间中的“传统观念”。

3 分 40 秒:合理的开发实践就是配置能运行的开发环境的技术。这样开发人员下载项目之后就可按下 F5 键去编译项目,而无需在完成繁杂的设置后才能使用该项目去做甚至是最简单的操作。如果项目是从代码库克隆而来的,那么仅需寥寥数步操作就可让该项目在开发人员本地的机器上运行起来。

4 分 26 秒:自动编译、持续集成等工具有助于使开发人员保持理智。

4 分 52 秒:在 QCon 旧金山大会的“软件技能”专题报道中,安排了报告“用于高效团队和产品的社交编程”。但是在实际中,社交编程的相关技能是非常难以学习并应用于日常生活中的。

5 分 09 秒:我们所存在的最大问题是社会学上的,这些问题通常并未得到企业和工程师的足够重视。企业和工程师的努力方向侧重于去解决技术实践问题,但是问题的根源却在于人们间是如何交流以及如何共事的。

5 分 36 秒:该报告内容包括了许多的个人经验教训,以及对这些经验教训的研究。一些经验证的研究显示,部分经验教训对实现更高效的团队有用。

5 分 56 秒:研究显示多样化程度更高的团队会更加高效。具有更加多样化构成的工程团队是更有生产力的。社会公正是一个由试验性证据支持的重要方面,这些证据显示了团队中多样性的价值所在。

7 分 11 秒:Haack 曾在 Microsoft 从事开源软件工具和产品工作,他的工作可以说是在防火墙之外,并正在向 Github 迁移。那时 Scott Guthrie 是该项目的领导,他支持推动 ASP.NET MVC 开源,并认为 Microsoft 的未来取决于其对开源的支持程度。

8 分 25 秒:NewGit 软件包管理器在一开始就是开源的,虽然经历了很长的时间才使团队可以公开接受项目贡献。

8 分 51 秒:在从 Microsoft 迁移到 Github 中的差别主要在于,从一个十万人的企业转变到一个只有 30 到 50 人的团队,并看着它成长到约 600 人规模。

9 分 23 秒: ASP.NET MVC 的开源最初是以 MSPO 许可发布,开源需要企业文化的转变。最初在发布代码前要做 IP 审查,但是这个开销已经被精简了。

10 分 20 秒:Haak 想从一开始就将 NewGit 迁移到 Github 上而非 Codeplex 上,这样可以支持更大型的开发社区。这样做的目标在于使 NewGit 对更广泛的开发社区有吸引力,而非仅是 Microsoft 爱好者。

11 分 00 秒:对于想要发布产品到开源环境中的开发人员,我们有如下的提示和建议:

  • 从小规模开始;
  • 挑拣其中独立的部分进行试水;
  • 从他人的例子中学习;
  • 响应反馈;
  • 响应社区反馈需要做额外的工作,但是这些努力是值得的。

12 分 52 秒:Haak 很乐于看到 ASP.NET 发布在 Github 上,同时也惊讶于该事情的实现是如此之快速。

13 分 34 秒:作为一种跨平台脚本工具,Powershell 已被发布在 Github 上。

13 分 58 秒:跨平台.NET 易于使更多的 Microsoft 产品开源。

14 分 26 秒: Atom 项目的目标是成为“最可控的文本编辑器”。Atom 基于 JavaScript、CSS 和 HTML,这些工具很可能为大部分开发人员所熟悉。开发人员可用已掌握的技能去扩展并定制自己的文本编辑器。

15 分 36 秒:Haak 写过一个关于鼓励使用Atom 的博客帖子,谈及用户在每次使用Atom 保存文件时所给予的点滴鼓励。构建Atom 扩展是一件多么有趣的事情呀。

16 分 43 秒: Electron 项目是从 Atom 项目中抽取出来的,并已成为一个独立的项目。依靠自身的影响力,Electron 已构成了一个重要的社区。Slack客户是基于Electron 构建的, Nuclide Facebook IDE 是基于 Electron 和 Atom 构建的, Visual Studio Code 也是基于 Electron 构建的。许多企业正使用 Electron 作为跨平台应用的基础。

18 分 00 秒:类似于 Node 应用,Electron 应用使用 Node NPM 运行于 Chromium 客户 Shell 中,这意味着 NPM 包的引入有助于桌面应用的构建。

18 分 35 秒: Slack 客户使用 Electron 构建。Slack 的首席工程师之一 Pual Bets 原先是在 Github,他深入地参与了 Electron 社区。

19 分 06 秒:借用 Web 开发技能去构建桌面应用的理念已经存在很长时间了,当前由于工具的存在和性能上的改进,构建一个好的跨平台应用是可行的。

19 分 44 秒:Haak 应急需而成为 Github 的经理。

20 分 22 秒:对正进入管理层的开发人员的建议:

  • 将这种转化看成与一种其它技术领域一样的学问;这并非是一件“仅靠即兴发挥”就能去处理的事情。
  • 学习并实践做管理所需的技能。
  • 学习如何去做好与你所管员工的每周一对一会谈。
  • 构建并发展你与每位同事间的信任。
  • 好的一对一会谈不是去做状态更新,而是去倾听你的团队成员的时间。

21 分 39 秒:提供一个好资源:管理者工具(Manager Tools)播客

21 分 45 秒:如果按 30 分钟时间来安排一对一谈话,其中的 15 分钟可用于团队成员的畅所欲言,另外 15 分钟由经理讲话;或者是对大家畅所欲言、经理讲话和展望未来各安排 10 分钟的时间。在谈话中重要的是应始终以团队成员的关注点为开始,因为谈话是关于团队成员的。一对一谈话可使得经理和员工彼此了解,进而构建相互信任的关系。

22 分 22 秒:建立高效团队需要信任,信任的存在可使团队成员在不破坏相互关系情况下,进行坦率的探讨和健康的辩论。

23 分 14 秒:怎样构建开发现代软件所需的伟大团队,对此建议如下:

  • 一对一谈话并建立信任;
  • 构建可很好交付反馈的企业文化(通常是很难的);
  • 良好的反馈是持续性的、规律的、有建设意义的和积极的。

24 分 10 秒:当一个团队中成员彼此间可以舒畅安全地给予坦诚反馈时,这样的团队就具备了不断改进的能力。

24 分 40 秒:如何聘请或培养一位好的经理?

  • 在 Github,经理是技术领导,是那些还具有一些个人职责的高级工程师;
  • 经理领导 4 到 6 人的技术团队;
  • 责任分割,80% 是技术上的,20% 是人事上的;
  • 经理的职责受到主管的支持,主管的责任分割比例与经理相反,即 80% 是人事上的,20% 是技术上的。

26 分 11 秒:成为具有强大的技能、存在高度共鸣、具备指导并保证团队成员成长的能力的领导者。

26 分 30 秒:要成为工程师团队中有影响力的教练,管理者需要体现出强大的技术领导力。在技术上不可靠的人通常不会被技术团队很好地接纳。

在 2016 年 11 月 7 日至 9 日间召开的 QCon 旧金山大会 上, Phil Haack 将在称为“软件工程的软技能”的新专题上做报告。该专题关注如何去成为一名神奇的软件开发人员,聚焦于在开发人员角色上所需的有效人际交往能力。Haack 的报告题目是“用于高效团队和产品的社交编程”。

所提到的产品和工具

所提到的企业

资源

关于 QCon 大会

QCon 是一个由业内人士驱动的大会,专为在团队中影响软件创新的技术团队主管、架构师和项目经理设计。QCon 每年分别在伦敦、纽约、旧金山、圣保罗、北京、上海和东京举办七场大会。QCon 将于今年 11 月 7 日至 11 日举办其第十届 QCon 旧金山大会,届时会有 100 多名业内专家作为演讲嘉宾,并有超过 1300 名与会者以及 18 个专题追踪报道,涉及当今推动软件开发行业的发展。请访问 qconsf.com ,了解更多详情。

更多关于播客的信息

最新播客可通过我们的 RSS feed 更新,也可通过 SoundCloud iTunes 收听。本页所列出的播客摘要内容均附有可点击链接,点击后可直接切换到音频的相关部分。

查看英文原文: Engineering Culture Podcast: Github’s Phil Haack on Moving from Engineering to Management


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-10-19 18:161793
用户头像

发布了 227 篇内容, 共 71.4 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
发现更多内容

Kafka-详细笔记

ninetyhe

分布式 高并发系统设计 消息系统 Kafk

Java Elasticsearch 使用

Java elasticsearch

HBase常见问题

数据社

大数据 HBase 5月日更

架构实战营 - 模块4- 作业

笑春风

第四次作业 设计千万级学生管理系统的考试试卷存储方案

函数方程(弘宇)

模块4作业 千万级学生管理系统考试试卷存储方案

TH

架构实战营

模块四作业 - 考试试卷存储方案

张大彪

利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率

Jerry Wang

JavaScript chrome

Flink的Time与Window

五分钟学大数据

大数据 5月日更

SAP CDS view注解解析 - @Environment.systemField

Jerry Wang

SAP abap

让秋招飞,Java岗高频面试题盘点,站着就把offer给拿了

北游学Java

Java 面试 秋招

架构师实战营:模块四 千万级学生管理系统的考试试卷存储方案

ifc177

#架构实战营

架构实战营 模块四:课后作业

👈

架构实战营

数据科学指南#基础篇 Matplotlib 入门

Lev

Python 数据科学 matplotlib data-science

千万级学生管理系统的考试试卷存储方案

颜培攀

架构实战营

架构训练营模块四作业

Geek_e0c25c

架构训练营

架构实战营模块四作业

薛定谔的指南针

架构实战营

学生考试系统存储设计

王硕

架构训练营

模块4 学习总结

TH

架构实战营

架构实战营 模块四:学习总结

👈

架构实战营

【架构实战营】第 4 模块作业

swordman

架构实战营

实战|教你用Python玩转Mysql

Python研究者

Python MySQL MySQL 运维

Scrum Team不等于Development Team——《Scrum指南》重读有感(2)

Bruce Talk

Scrum 敏捷 随笔 Agile

【Flutter 专题】123 图解简易 GroupList 二级分组列表

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

架构实战营作业4

大肚皮狒狒

模块 4 - 千万级学生管理系统的考试试卷存储方案

小遵

千万级考试管理系统的考试试卷存储方案

白发青年

架构实战营

使用DOM Breakpoints找到修改属性的Javascript代码

Jerry Wang

JavaScript html chrome

python-运算函数-sum

Geek_6370d5

Flume知识点总结

大数据技术指南

flume 5月日更

美团二面:Redis与MySQL双写一致性如何保证?

捡田螺的小男孩

数据库 面试 一致性 缓存;

工程师文化播客: 从工程转向管理,访谈Github公司的Phil Haack_微软_Wesley Reisz_InfoQ精选文章