@Rays
2016-10-09T15:48:39.000000Z
字数 4388
阅读 1812
摘要:本次博客是InfoQ对GitHub工程主管Phil Haack的访谈。很多项目管理者是从工程师转变而来的,而大型项目开发中的挑战主要来自于社会问题而非技术上的,这需要将项目管理作为与技术开发一样的学问去学习和实践。本次播客中,Phil Haack结合自身项目经验,对工程师如何转化为管理者、好的管理者应具备的能力以及如何做好团队管理等发表了看法。
作者:Wesley Reisz
正文:
本次播客是一个新系列播客中的第一篇,该系列播客名为“工程师文化”(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秒:如何聘请或培养一位好的经理?
26分11秒:成为具有强大的技能、存在高度共鸣、具备指导并保证团队成员成长的能力的领导者。
26分30秒:要成为工程师团队中有影响力的教练,管理者需要体现出强大的技术领导力。在技术上不可靠的人通常不会被技术团队很好地接纳。
在2016年11月7日至9日间召开的QCon旧金山大会 上,Phil Haack将在称为“软件工程的软技能”的新专题上做报告。该专题关注如何去成为一名神奇的软件开发人员,聚焦于在开发人员角色上所需的有效人际交往能力。Haack的报告题目是“用于高效团队和产品的社交编程”。
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