5月7日,「腾讯SNG & msup技术开放日」在深圳召开。壹佰案例采访了一些与会讲师,谈谈他们将在会上分享的内容。本期我们采访的讲师是来自腾讯的专家工程师、QQ空间技术总监华有为。
壹佰案例:简单介绍一下您目前的工作、关注的领域和技术。
华有为:目前我负责的是QQ空间移动端相关的技术研发,现正在做点播与直播相关领域的业务研究与突破。
壹佰案例:作为总监,从研发管理的角度来说,您目前在管理上更着重哪几方面?
华有为:现在这个阶段更加关注员工的成长,以及团队的工作效率的持续提升,我现在会花比较多的精力从日常中的个案来对员工进行辅导。
壹佰案例:培养人是现在一个很重要的任务。一个技术公司,随着技术发展的历程,是需要保证技术的积累和传承的。就是说一个新人进来之后,他要先了解这个公司的技术积累,腾讯是怎么做技术的积累和传承的。
华有为:首先,技术积累方面我们鼓励员工在公司提供的平台与工具上进行沉淀与分享。
第二,我们会有一些奖项,比如说SNG特斯拉的项目,这个项目除了每个月的评选之外,每半年再评选一次,获奖项目的个人,除了得到荣誉之外,直接获得数额可观的现金激励。
第三,我们会为新人指定一名导师,至少一对一辅导半年,帮助其熟悉业务,技术提升与团队融入。新人的固化培训也是长期存在的一项比较好的制度。
壹佰案例:对于提高团队执行力,您有什么建议?
华有为:主要是2点,以身作则与在团队树立标杆。
壹佰案例:谈到团队的管理,在打造一个执行力比较强的团队之后,下面的一个过程就是如何管理和激励这个技术团队。因为我们知道很多开发人员(就是我们所说的程序员)都是比较内向、内敛的。您有没有比较好的激励团队成员的方法?
华有为:很多技术人员比较在意自己是否受到关注与认可,我们对此做得比较多的是及时肯定。除了平时工作的交流与沟通上的肯定之外,我们还有一些制度性的设计,让员工觉得在技术上的提升比较有趣,有成就感。比如自测达人这样的每个月的奖项,获奖的员工除了上榜,也能获得现金奖励。
壹佰案例:这些年涌现出了非常多新语言和新技术,您看好哪些新语言、新技术?我们都知道,技术人员必须要保持不断学习,您有什么高效的学习方法跟大家分享吗?
华有为:我比较看好的新语言比如苹果的swift,但根据产品的实际情况,可能不会一下全面替换到这个上面,我们的更新是比较稳健与谨慎。对于全新的项目,由于它没有历史包袱,我们通常可能会尝试用新的语言与全新技术。
说到学习方法,其实我觉得作为一个程序员来讲,要提高还是要采用有目的、系统化的学习。学习有两种方法:一种是检索式的,遇到问题的时候再去查;另一种是有一个目录或清单,一有空就会根据清单和目录上的内容系统针对性地去学。
如果时间比较多的话,我推荐系统化的学习方法,不断的设定一些目标,比如这个月要弄清楚哪些技术点,一步一个脚印,循序渐进。
壹佰案例:这次开放日您演讲的主题是高效研发,能不能说说您眼中的高效研发是什么样的,您是怎么在腾讯内部践行高效研发的?
华有为:我理解的高效研发是要积木式开发、准确理解用户需求、快速、稳定、bug少,少走弯路。比如说实现一个了需求,需求稍微调整,就可能需要大改或者修改工作量很大,这可能不能算是高效研发。
积木式开发,减少重复建设,是我们现在做的比较好的地方,尤其是在后台,组件化非常成熟。比如数据库、文件处理、网络、并发计算等都有现成的框架。又比如,现在现在视频直播比较火,由于我们组件化进行的早与成熟,几天时间就可以根据SDK搭建这样的一个直播产品。
壹佰案例:腾讯内部对敏捷的实践情况如何?
华有为:从03年我进公司的时候,公司已经开始在做敏捷和结对编程。经过十多年的发展,敏捷我们已经有了成熟的体系。
主要在两方面,一是工具建设与应用,比如每天代码被自动构建出来之后,会对代码进行自动运行与扫描,第二天输出稳定性、性能、关键代码变更点等详细报告用相关人员分析与工作参考。
二是人的方面,很多模块我们会采用结对的模式来做,除了技术备份之外,由于方案往往是经过了思想的碰撞,大家获得提升之外,还能提高研发效率。
壹佰案例:腾讯内部会做一些预见性的开发,能不能谈谈预见性的开发是什么?
华有为:预见性的开发是在时间允许的情况下,技术人员会有一个创造的空间,比如在不影响需求的实现的情况下,从技术的角度会进行一些变通与调整,以适应灵活性,已经未来预见性变化的考虑。
壹佰案例:需求沟通不畅很容易导致返工这种情况出现。腾讯产品非常强,那么腾讯有没有比较好的办法保证产品与开发之间能够有效沟通?
华有为:偶尔有点点返工或需求变更可能是正常的,但应该不是常态。我们做得比较好的一点是:我们会在需求评审这一环节做的比较透,产品与技术会围绕需求的目标进行深入的探讨,通常后续反复调整的情况比较少。对于某些重点项目,我们会经常把产品与技术安排在一个较为封闭的环境,比如会议室,以便及时沟通,提高效率。
壹佰案例:在腾讯大厦楼下有一个模型,上面写的是腾讯保持的实时在线人数,我们都知道腾讯QQ创造了一个同时在线的世界纪录,这个记录对普通用户来说只是觉得很牛,但是这背后有很多技术难点,您能不能从一个功能入手,简单给我们介绍一下有哪些技术难点,腾讯又是怎么克服的?
华有为:海量并发用户要克服的难点比较多,这里就举一个例子,用户如何可靠的、快速的登录,并且保障99.9%以上的连通率。
首先,我们会采用就近原则,会为每个用户选择一个最近并且速度最快的路由进行连接,这个里面会包含一些路由的探测技术,自动为用户搜索最合适的路径,假如用户所在的路由光纤被挖断,我们还有多路由寻址功能,自动切换到其他路径,以确保用户稳定的,可靠的、快速的登录。
壹佰案例:简单介绍下腾讯应对海量并发用户的数据库系统。
华有为:我们服务器是基于linux的,数据库最初以mysql为主,
后来开发了自己的一整套适合海量并发用户的数据库系统。服务器框架经过多年的发展,有了比较成熟的模型,应该领先业界至少5年。就以通信框架来说,经过海量用户的考验,对国内各种网络有比较好的适应性,成功率至少在99.9%以上。
壹佰案例:您主要负责QQ空间移动端相关业务,描述一下QQ空间移动端架构经历了哪些过程。
华有为:我主要介绍下移动端的QQ空间的技术发展。空间App今年最大的技术进化,应该就是插件化、积木化了。插件化方面,我们现在已经做到了即使版本发布后,还可以动态的更新模块。积木化方面,我们也日益成熟,我们构建了大量的比如
相册、视频、好友动态等基础组件,新增业务只需要在现有基础模块上进行积木化构建,快速开发,大大提升了研发效率,使我们更加关注特定业务的实现。
本文转自“壹佰案例”公众号,原文链接
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。