本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

本港台直播:如何打造工程师文化?这10件事情值得去做

时间:2016-05-19 06:10来源:香港现场开奖 作者:开奖直播现场 点击:
雷锋网按:本文作者EdmondLau,公号“董老师在硅谷”翻译首发。我作为面试官最喜欢问工程师的问题是:在他们以前

如何打造工程师文化?这10件事情值得去做

我作为面试官最喜欢问工程师的问题是:在他们以前的公司,他们喜欢和不喜欢的关于工程师文化的事是什么?我采访了500多人——其中许多来自顶尖高科技公司,如Facebook,谷歌,亚马逊,Palantir,和Dropbox,随着时间的推移,这种面试问题也告诉我:优秀工程师喜欢的和尽量避免的地方。根据采访答复和我个人经验,从过去七年跨越谷歌,Ooyala和Quora的工作,我总结出为建立一个良好的工程文化,一个团队可以做的十件事情。

1、优化迭代速度

快速迭代有助于提高工作积极性和兴奋度。一些工程师在面试时说到他们离开公司的原因,其中最常见的也最令人沮丧的是基础设施和繁冗流程阻碍他们部署代码或者上线功能。

在组织上,快速迭代让工程师和设计师更灵活自主地作日常决策。我在谷歌,任何用户可见的搜索结果改变,即使是低流量的实验,也需要玛丽莎·梅耶在每周UI审查批准。虽然这允许谷歌保护它的搜索品牌,但它明显阻碍了创新。优化迭代速度也意味着,按照明确定义的流程推出产品,避免投入大量时间后意外发生。

优化迭代速度意味着建立持续部署以快速验证,提高测试覆盖率,减少构建和网站宕机次数,快速单元测试,并鼓励大家来运行,快速增量编译和重新加载,以缩短开发时间。持续部署,提交到线上特别重要。比如在Quora它提供的迭代速度至少在小工程队利大于弊(线上出错的风险)。人们更兴奋地看到功能和修复Bug是因为很快看到了实时流量的变化。这要比超过一周或成批的代码提交,要更容易推断和精确定位错误源的位置。

团队智慧,快速迭代的速度意味着有强有力的领导者,帮助协调和推动团队的工作。在决定关键点上负责人需要有效地作出决定,并承诺他们的选择。借用比尔·沃尔什(领导49人队3次进超级碗)的一句话:强有力的领导者需要“承诺,引爆,恢复”,这意味着承诺攻击计划,执行它,然后看反应结果。优柔寡断的团队只会导致个人努力白费。

2、尽量自动化

在技术讲座“规模化Instagram”上,Instagram的联合创始人迈克·克里格引“优化最少的操作负担”作为一个重要的教训,领导他的13人团队将用户增长到几千万。 产品的增长意味每个工程师的操作负担加重,如用户跟工程师或者特定功能跟工程师的比率。 像Facebook号称每个工程师支持超过100万的用户比例指标。

自动化解决方案和让脚本去重复执行任务很重要,因为它们解放工程团队,让他们为实际产品工作。确保在流量高峰期,如果有服务失败并自动重启的情况下,能找到替代者是管理大而复杂产品的明智方案。在短期内可以对应用做快速修复,而长期还是要依赖自动化测试,这需要权衡。

Etsy的座右铭是“衡量所有,衡量一切”。支持像开源监控和制图工具graphite和statsd突出自动化 -——即自动化必须由数据和监控驱动。如果没有监控和日志你怎么知道什么事情错了,为什么错。自动化是困难的。一个后续的座右铭是“衡量所有,衡量一切,并尽可能自动化。”

3、建立合理的软件抽象

我的麻省理工学院教授和本科生研究顾问丹尼尔·杰克逊说的软件抽象的重要性:

"选择正确的方式,程序化自然而然地设计;模块化就是有小而简单的界面; 新功能在不影响全局的情况下产生。要是搞错的话,程序将是一系列的讨厌的坑:接口很笨拙因为他们无法适应一些意料之外的交互,即使是最简单的改动也将很难维护。"

在谷歌,什么让数千名工程师建立可扩展的系统——因为他们有非常聪明的工程师像杰夫·迪恩和桑杰·格玛沃特,创建了简单但丰富的抽象,如MapReduce,SSTable,Protocol Buffer等。什么让Facebook工程这么支持大规模——是因为专注于核心,同样喜欢抽象和简单,Thrift, Scribe, Hive。是什么让设计人员能够在Quora有效构建产品,Webnode,Livenode也是基于同样的理解。

保持核心抽象的简单和减少自定义解决方案并增加团队熟悉度和对专业知识的抽象。日益普及的系统像Memcached,Redis,MongoDB等都是降低建立定制存储和缓存系统的必要性。团队重点转移到少数核心抽象,而不是分裂在很多临时解决方案,让公共库更稳健,监控更智能,性能更易理解,测试更全面。所有这一切都有助于搭建一个简单的系统,降低操作负担。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容