打造高质效的技术团队

  2012年平安夜,我离开工作了近十年的通讯行业投身互联网行业,入职了当时阿里巴巴旗下的淘宝浏览器开发团队。过去的两年,这个团队完成了从淘宝浏览器过渡到UC浏览器电脑版开发团队的巨变。之所以说是巨变,是因为整个开发团队的工作方法、工作质量和精神风貌在过去的两年发生了翻天覆地的变化。在这个过程中,我作为“领头羊”引领着开发团队向前发展,并在最近有机会成为了带领包含开发和测试在内的整个技术团队继续向前发展的负责人。

  个体在两年内取得巨大变化相对容易,而对于一个团队来说挑战就大了很多,因为其中包含了技术和管理两方面的内容,甚至是我个人对于软件行业的理解及所持有的技术和管理理念。在目前中国IT行业的大环境下,UC浏览器电脑版开发团队何以取得如此之大的进步相信被不少人所好奇。也正因如此,我想通过文章与大家分享。与此同时,通过这些文章与我的团队共同总结过去两年所发生的变化和让团队知晓将来如何发展得更好。

  为了避免这类文章过于空洞,本文将基于我个人在过去两年所看到的、所想的,以及所采取的方法的形式加以展开。

  混乱http://www.douban.com/note/483236221/

  二年前我之所以选择加入淘宝浏览器团队,正是因为看中了Google的Chromium开源项目,因为淘宝浏览器正是基于它的二次开发产品。那次面试时其实并没有多少Windows的编程经验(只有大约半年),当时面试官之所以看中我,最大的原因是我有Motorola的架构师经历。入职后,在一封主管回复给我的邮件中他告诉我:“其实,将你招聘进来是一次非常大的冒险。因为,一是你没有互联网行业的经验;二则担心你这次转行适应不了新环境。然而,从你的邮件来看,这种担心完全是多余的,你进入角色的速度远远超出我的预期”。收到这封邮件的回复时,我入职并在Chromium的软件架构上已花了有一个星期的时间。

  在接下来的三个星期里,因为我是一名新人,所以没有被安排具体的开发任务,而我也一直将时间投到了掌握Chromium的软件架构上。即便在之上当时总共花了大约一个月的时间,但对于Chromium这一被我称之为“恐龙级”的项目来说,这点时间真的是杯水车薪。

  之后,我被安排从事一些简单的界面编程工作。对于我这个新人来说,当时团队对于项目计划的乐观程度着实让我吓了一大跳。对于那些在项目上有经验的人来说,很简单的工作要我二天完成其实并不容易。原因在于,我之前并没有将时间投入到了解界面与程序中类的对应关系,团队也没有在这方面有任何文档沉淀帮助我上手工作。好在有周围同学们的帮助,加上自己的钻研,我还是如期地完成了被安排的开发工作。

  第一次接触淘宝浏览器的代码真可用“震惊”两个字去形容当时的心情。首先,代码的组织完全忽视了Chromium的软件架构。这造成的问题有二方面。一方面是代码目录结构与层级一片混乱,每位同学想怎么处理都行,结果就是自有代码很难维护;二则,由于没有很好地关注Chromium的软件架构,这使得自有代码与Chromium的原生代码耦合度很高,从而导致升级Chromium内核工作很是困难。其次,编码格式没有统一的标准,“不堪入目”的代码让人一瞄就知道编程效率和质量不可能高到哪儿。

  在入职的前半年时间里,我一边“独善其身”地工作着,力争让自己的工作成果与Chromium的保持高度一致;一边不时地通过即时通(阿里是用旺旺的)和邮件指出所看到的不良编程行为和分享自己的一些思考。坦白说,作为一名新人,在开始指出他人的问题时并不能让人愉快地接受。相反,很容易让人觉得“这个人怎么到处在挑刺?”主管看到我时常指出团队的问题,很是担心这样团队接受不了我,为此专门在一次谈话中向我提及该事。在这种背景下,之前出书、写博客的经历,加上在指出问题时往往会告知背后的原理,以及自己以身作则的各种工作习惯,让我慢慢地博得了大家的认可与信任。最终结果向良性方向发展的关键在于,大家看到了我的能力,以及感受到我希望团队发展得更好的做事初衷。http://www.cnjiayu.com.cn/life/jkys/2015020323220.html
http://www.cnjiayu.com.cn/life/jkys/2015020323219.html

  另外,前半年工作时间除了让我慢慢融入团队,还给了我很多观察团队的机会,让我看到了团队其他更多的问题。首先,整个团队的工作方式过于原始,基本上是采用编码后测试验证通过就发布软件的方法。由于概要设计和代码走查流程的缺失,使得开发工作差不多就是各自为政,技术方案的优劣和编码质量的高低都没有把关。其次,严重存在“重新发明轮子”的问题。由于项目计划总是过于乐观,在项目时间并不充裕的情况下,大家一拿到需求的第一反应就是开干,而不是先研究Chromium是否存在为我所用的方案、模块和函数、结构是否与Chromium的保持一致。概要设计和代码走查流程的缺失使得“重新发明轮子”的行为很难发现和被纠正。再次,整个团队在知识管理方面一片空白。团队中找不到任何一份文档指导个体如何开展开发工作,也由于个体所掌握的知识没有通过文档化的方式输出,使得整个团队的个体成为了“知识孤岛”,个体的学习成本更高,团队效率更低。最后,完全“闭门造车”。作为一款基于Chromium开源项目二次开发的产品,除我之外几乎没有人关注开源社区的动向,大家只是低着头干,视野很是局限。

  前半年工作时间还让我形成了自己的一些思考。

  互联网行业的产品对于用户体验很是考究。然而,让人分裂的是,产品后面的团队似乎并不关注自己的工作体验。他们用着原始的工作方法,采用简单加班的苦劳方式,却无法从本质上改变自己的工作和生活质量。

  互联网行业对于“天下武功,唯快不破”存在严重误解。从功夫的角度,武林人士之所以能做到“快”(形式)的跟本在于他的内功(能力),也就是说没有深厚的内功则“快”跟本没有支点。然而,大家在引用“唯快不破”时,只看到了表象,甚至将之当作解释自己工作质量不尽人意的借口。在我看来,对于“快”的正确理解应是产品的所有功能根据一定的优先级、以满足可持续发展所需的质量要求的方式分阶段实现,而非以牺牲赖以可持续发展的工作质量去换取。有一点我们一定不能欺骗自己的是,因为“内功深厚”而有意忽视质量求快呢?还是根本不知道如何获得高质量而以“快”做幌子?“唯快不破”之所以运用广泛,是因为创新产品存在巨大的用户红利,而这种红利很可能快速变成产品的用户粘性而形成竞争优势。即便如此,“唯快不破”并没有隐含“牺牲质量换取速度”。对于目前已一片红海的PC浏览器市场,如果没有形成自己的核心技术竞争力,则很难用低质量的“快”打出自己的一片天地。

  淘宝浏览器时期的团队还存在极为严重的内核升级之痛。Chromium大约一个半月推出一次大版本,而基于Chromium的淘宝浏览器别说跟上Chromium的发展步伐,就是做一次内核升级也因为得重放大量的代码而周期很长。由于Chromium的发展步伐很快,且每一个版本几乎都存在对已有功能的代码重构而导致大量的变更,一旦跟不上其发展步伐,就会造成大量的变更被累积到下一次内核升级工作之时,从而使得下次内核升级的工作量更为巨大。

  现在回过头来看,那时的淘宝浏览器团队虽然不少同学有很好的技术积累,但由于做事方法缺乏规则的约束和不具专业性而难以发挥团队的效能。团队走过了不少弯路、犯过了不少错,只是那时的团队还没有完全意识到。此外,那时的团队也根本没有意识到Chromium项目所蕴藏的软件开发方面全方位的知识宝藏。

  整个团队正等待着一次全面改善的机会!

  相信读者对于像淘宝浏览器这样的团队并不陌生,甚至正经历着这样的团队。或许,有的人对于这样的团队并不感到有何不妥,因为在他们看来,这样的团队同样能够在业务上取得巨大成功,业务成败与团队的水准似乎毫无关系。然而,我想提醒的是,对于大家都骑马前往目的地时,总会有骑马的人先达到;但如果其中有某位是驾车前往时,最先到达目的地的一定是他。而且,两种出行方式的过程舒适度截然不同!

时间: 2024-10-17 00:26:27

打造高质效的技术团队的相关文章

《打造高质效的技术团队》总结

总结自:阿里巴巴李云的<打造高质效的技术团队> 一.现象 1.职业化水准偏低 1.1 服从 vs 责任:没有思考,领导说了就做 1.2 勤劳 vs 效率:加班不等于能力和贡献,要提高质量和效率 1.3 团伙 vs 团队:合作,成员往往自我管理能力非常差 1.4 技术能力 vs 专业做事:心态 2.能力与价值的认知 2.1 能力不等于高价值 2.2 如何输出价值 3.基层技术管理缺失 3.1 忽视管理的价值 3.2 过度关注结果而忽视过程 二.思考 1.从代码入手 2.1 技术切入点好于管理切入

打造高质效的技术团队 —— 酝酿篇

入职半年后的2013年6月份左右,淘宝浏览器团队和搜索团队被剥离出阿里巴巴集团,成为阿里巴巴与UC优视所成立合资公司--广州神马移动信息技术有限公司--的主体.在合资公司正式成立之前,主管在一次与我的面谈中告知"我们得成为一家小公司的一部分,且可能要重新基于Chromium的最新内核开发新的浏览器"(注:"新的浏览器"正是指现在的"UC浏览器电脑版").当听到这一消息时我非常高兴,因为看到这是一个难得的团队重新审视过去和甩掉历史包袱的契机.在这次

打造高质效的技术团队 —— 混乱篇

2012年平安夜,我离开工作了近十年的通讯行业投身互联网行业,入职了当时阿里巴巴旗下的淘宝浏览器开发团队.过去的两年,这个团队完成了从淘宝浏览器过渡到UC浏览器电脑版开发团队的巨变.之所以说是巨变,是因为整个开发团队的工作方法.工作质量和精神风貌在过去的两年发生了翻天覆地的变化.在这个过程中,我作为"领头羊"引领着开发团队向前发展,并在最近有机会成为了带领包含开发和测试在内的整个技术团队继续向前发展的负责人. 个体在两年内取得巨大变化相对容易,而对于一个团队来说挑战就大了很多,因为其中

传统企业打造互联网技术团队

最近传统企业向互联网转型的话题越来越热,对于处于不同行业的人对这个肯定有不同的看法.我作为一个一直在互联网从事技术研发工作的人也简单来谈谈自己的感受. 最近也和一些传统企业的相关人员做了交流,首先肯定主要是在技术层面上.其实现在很多传统企业进行转型主要有两个方面,一个是电子商务,另一个就是云计算.做云计算的目的是为了改善现有的IT基础设施,能够更加适合企业在各个业务上的增长.当然就目前的情况来看,还没有哪一家传统企业真正的算转型成功了,很多企业苦不堪言,甚至很多已经失败,然后吸取经验又从头开始,

Lyft高管的技术团队管理实战

Lyft 的技术总监沈思维分享了他对于管理技术团队和打造工程文化的经验,也欢迎添加他的微信公众号"人家的屋顶"了解更多(微信公众号ID: othersroof).沈思维毕业于密歇根大学和卡内基梅隆大学.他早年在 Google 任软件开发工程师 (2005 - 2011),2011年加入 Twitter,后任产品安全部高级研发经理,负责反垃圾及帐号安全方面的工作.2015年底至今在 Lyft 担任研发总监,负责包括支付平台,风控平台.开放平台在内的多个团队.工作之外,沈思维关注并致力于提

出色技术团队的关键要素

原创作品,同意转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明,否则将追究法律责任. http://blog.csdn.net/hzliyun/article/details/7078947. 对于出色技术团队的关键要素能够从下图中找到.以下让我来对其进行解读. 这幅图首先映入眼帘的是,它是一个三角形,而其顶点则是求精.求精离不开以下三个要素的支持,即分享.责任和合作.求精应是技术团队所追求的最高目标,仅仅有拥有求精的精神,团队的技能才干得到逐步的提高,也仅仅有求精的精神,团队

技术团队与OKR

标题是在我思绪乱飞,文不及意的时候改的,原标题是命题作文"CTO的最后一课 第一季毕业设计"的一部分,<技术团队绩效考核机制>,思绪飞完,发现这都是自己的意淫,作为一个基层员工,除了自我管理就是被管理,谈技术团队的管理,未免太不切实际,但是恰是因为自己是被管理的对象,所以在听完CTO训练营整整一季的课后,我想说,老师,我有话要说~ 在思考如何激励时,自然想到了CTO讲师于斌平<技术团队如何做绩效管理>中的论述,于斌平老师有着10年以上500人以上的团队管理经验的

微管理——给你一个技术团队,你该怎么管

微管理--给你一个技术团队,你该怎么管(最简洁.最高效的团队管理落地实践方法,IT/互联网行业15年管理实践 + 中欧商学院EMBA经历,杨老师手把手教你如何用"微管理"打造高效团队/京东:最简洁高效的IT/互联网团队管理实践方法) 杨立东 著   ISBN 978-7-121-22886-5 2014年5月出版 定价:59.00元 236页 16开 编辑推荐 1.最简洁.最高效的团队管理落地实践方法,IT/互联网团队管理的宝典,用互联网思维打造的技术管理NO.1实战手册. 2.IT/

技术团队激励方案

技术团队激励方案 在一个团队中,除了极少时间的心情亢奋,更多的时候是实现需求,修复bug,实现新项目,这一定是一个心情压抑的员工的总结:在一个团队中,我们实现了xx项目,系统架构灵活,性能稳定,为公司的营收作出了巨大的贡献,这同样是一个员工的看法.那么在我们自己的团队中,我们看到的是什么情形,相信无论员工还是领导都希望看到第二种.我们怎么才能实现这个目标?我们距离这个目标还有多远,甚至说我们有没有这个目标呢? 上面提出了很多问题,我们最终要实现的是公司蓬勃发展,员工激情满满,那么有没有这样的方案