一线互联网技术团队管理经验谈(一):问题与挑战
近两年以来,电商、移动互联网、O2O等领域大热,互联网开发人员也急剧膨胀。2010年前后百余人的技术团队就感觉规模很大了,而现在千余人的技术团队都不少了。技术团队扩大了,也就需要一大批技术管理人员,但由于之前互联网开发团队规模很小,技术管理人员缺口很大,只能提拔一线开发骨干到管理岗位。关于技术人员如何转管理,相信很多公司都会组织管理培训,QCon等大会也有较多的相关分享。
笔者所在团队从2011年起开始负责微博Feed系统的后端研发,历经了技术体系由PHP转为Java的平台化,也经历了产品驱动由PC专项客户端的移动化,并从2014年开始参与Feed策略相关研发。其中经历了技术团队成长的各种问题:如何同众多需求部门合作、如何选择合适的技术方向、如何跟兄弟部门进行协作、如何解决核心骨干发展瓶颈等等,也在摸索中取得了一些成绩:主导过微博多机房部署、微博平台改造、Feed客户端性能优化等重大项目。近期将依照我们团队和兄弟团队成长中的问题和心得,通过一个系列的文章,分享我们对互联网技术团队管理的实践和思考,并探讨一下可能共同面临的挑战、机遇及可能的应对思路。
一线技术团队管理面临的挑战
互联网技术团队与传统的技术团队有很大的差别,传统的研发迭代以月为单位,互联网的迭代则以天为单位。传统技术团队负责人可以不用很懂技术,而互联网技术团队负责人技术不精通的话很难负责好团队,因为各种新技术层出不穷,各种挑战性的问题也会不断出现,作为团队的负责人必须能见招拆招。下面我们将讲讲一个一线互联网技术团队负责人所面临的挑战。
事多活苦。虽然传统技术团队事情也不少,但由于研发节奏慢,所以几年下来负责的事情也不多。而互联网技术团队则不同了,我们十几个人的团队负责近百个业务模块。有的模块虽然没有需求,但也要不断维护,出问题还要处理和修复。而除非业务停到,新的需求还会源源不断的到来,新需求开发、服务问题支持、老系统改造将会消耗掉团队所有的人力。同时,团队的职责说起来很酷,但具体的工作则更多是苦,因为需求总要一个一个高质量完成,问题总要一个一个解决掉。以我们团队为例,我们负责微博Feed系统研发,说出去很高大上,每秒万级写入、每秒百万级并发请求、每天亿级活跃用户访问、单业务千亿级数据量,虽然比不上BAT,但也是很光鲜。但我们也得承接各种小需求,也得处理各种用户投诉,更得在半夜协助运维处理线上服务问题,还得不断去修补几年前留下来的系统问题。所以,事多活苦将是一线互联网技术研发团队长期面临的问题,而如何。
人少协作多。虽然整体互联网研发团队规模都不小,但拆解到一线开发团队规模就很有限了,所谓的三五个人、十来条枪是一线团队的常见规模。而且,即使团队发展了,扩莫扩大了,也不要以为问题就能解决了。当我们团队三四个人时,当时想如果有十个人啥问题都解决了。后来团队终于发展到了十个人,结果发现人还是不够。细细思索,才体会到人总是相对不足的,如果人浮于事则必有人无法晋升、加薪,在外面诱惑如此大的年代,这些人会很快流失掉,又会达到人少事多的状态。虽然人少,但互联网技术研发协作却不少。由于专业化程度高,一个团队通常只负责一个环节,比如我们团队只负责Feed的后端工程部分,Feed业务还有客户端研发、MAPI研发、PC研发、推荐和广告研发、大数据研发等众多团队,这还不包括各自的测试团队、运维团队、UDC团队等。这样完成任何一项功能研发都需要跨团队协作,谁来主导需求对接、遇到联调问题谁来解决、有团队延期等都将是协作中面临的问题。
成员诉求多胡萝卜少。由于报酬颇丰,互联网开发团队吸引了很多人才,这些人才年龄、经验、加入团队时间等各不相同。以我们团队为例,有工作十年的同学,也有本科毕业两三年的同学,有清华、北航、北邮这样名校的同学,也曾有专科毕业的同学。这就决定了团队成员的诉求将差异非常大,校招同学希望快速成长,社招同学希望则更希望尽快发光发热、体现价值,而实习生同学则希望用好的项目来包装自己,骨干同学则希望有充足的空间。如何满足这复杂多样的需求将是互联网技术团队负责人每天面临的挑战,否则一旦有诉求不能很高满足,就会有人员流程,而互联网人才招聘的成本和复杂度想必所有的负责人都会深有体会。团队负责人通常有一些手段来满足大家的诉求,或者是晋级机会、或者是加薪提名、或者是各种荣誉。但这些看似不少的胡萝卜,如果往人头一均分,就发现少的可怜。如何科学的分配这有限的激烈资源,并能获取更多地资源,确保团队成员的努力都有很好的回报,将是一个很大的难题。
技术要求高杂事多。技术总在不断变化,团队负责人也需要不断的充电学习,不断提升自己的技术能力、项目管理能力,否则很难进行有效的技术决策。但写汇报、做总结、招聘、组织活动、新员工入职引导、员工成长、员工离职等等,有会把团队负责人的时间打的很散,导致没有足够的时间进行学习。同时,这些看似杂事的职能类工作,有时也非常重要,且会突然到来,这就要团队负责人能够快速学习,快速进入角色。
一线互联网技术团队管理经验谈(二):手段与生命周期
一线技术团队管理的常用手段
作为团队的负责人,要想把团队引向好的方向,需要借助一些手段。团队管理的手段非常多,包括公司职责拆解的授权如职责划分、晋升提名、绩效评估等,也包括公司、部门职能体系的支持手段如优秀评选、培训机会等,也有作为团队负责人而拥有的表扬、批评等权利。这些手段作用各不相同,也各有利弊,团队负责人需要清晰理解每种手段的优劣方能合理实施,对团队进行有效、正面的价值引导。下面将介绍我们团队常用的几种手段。
晋升提名和绩效评估权。晋升是团队成员最喜欢,即使大家口头不这么说,也是对个人来讲效果最好的手段。晋升不仅带来一定程度的加薪,也体现出公司对个人工作的认同感,以及一定的荣誉感。这种手段优点是立竿见影,激励效果非常明显。缺点是数量偏少,用不好还会导致部分成员有怨言,进而导致离职的情况。绩效评估跟晋升提名类似,同样比较稀有,但激励效果非常好。这两种手段都要按照能力和贡献进行分配,才能起到正向激励的作用,而不能按照跟负责人的亲疏或者入职早晚来定。
职责划分权。职责划分看似是最平常的手段,其实也是最好的手段。因为不同岗位要求不同,不同岗位的产出也不同。团队负责人需要合理的将岗位和成员进行组合调配,以确保每个人都能有合适的岗位,进而确保每个人都有相应的收益。这种手段优点是普遍性比较好,安排的好可以照顾到大多数人。缺点则是好的岗位总是相对有限的,脏活苦活也要有人去做,怎么分配比较合适需要拿捏一下。
表扬权。表扬看似简单,其实很难。特别技术出身负责人,通常觉得分配的事情很简单,员工做的也就一般,所以更多是批评,而不是表扬。团队负责人应该放低姿态,以当前为标准,只要比当前做的好就要表扬。同时,积极、负责、勤学等正向的行为也都要表扬,这样整体团队才能形成积极轻松向上的氛围。表扬是普遍性和效果都比较好的手段,能让乏味的日常工作变得有趣,能持续让员工保持高昂的状态。但是也要注意,不要让表扬泛滥,更不能表扬一些负面行为。
代表权。如技术分享、参与重要会议、参与招聘面试、负责评审培训等,不仅能够将职责合理的拆解,减轻负责人的压力,让负责人聚焦在核心问题,同时对员工也有很好的激励和锻炼作用。需要注意的是,这些代表不能只重形式,更要注重员工从中学到的东西,要利用这些机会让员工学会如何进行分享、沟通、权衡利弊、权衡优先级等。
不同公司、不同阶段的不同的团队,团队负责人可以使用的管理手段各不相同,但一定要细加盘点、谨慎使用、不断总结,以确保物尽其用,最大化的促进团队的发展。同时,任何单一的管理手段都有其优势,也有其不足,实际工作中需要将多种手段组合起来使用,这样才能保持管理手段长期总体稳定,毕竟工资普调、大规模授予期权/股权等众多手段都可遇不可求。
一线技术团队的生命周期
互联网技术团队同样有生命周期,而且变化的更快,一个团队可能通过一年的努力变得非常有战斗力,也有可能过了一年因为战斗力太差而被解散。所以,作为团队的负责人要了解团队的生命周期,以及各个阶段需要的注意事项,以未雨绸缪,让团队的发展更加平滑和顺利。团队同样有初创期、发展期、成熟期、衰亡期等阶段,普通团队是这样,优秀团队也是这样,只是优秀团队在成熟期之后会拆解成几个新团队,然后继续经历团队的发展周期。
初创期。可能由于业务高速发展,也可能是新技术的广泛应用,总之基于某种价值和服务,团队开始组建,三五个人通常是团队最初的规模。这个时候团队生命力非常弱,需要快速找准定位,强化团队的价值,以使团队能够存活下来。这个时候的重点不是高大上的技术,也不是设计良好的流程,而是明确团队的定位,体现出团队对公司的价值。
发展期。这里的发展不仅指人数的增多,更多指服务成熟度的变化。服务在这个过程不断发展和演进,业务开发变得复杂,团队熟练度快速增加,人员规模一般也有所扩大,团队开始有了一些沉淀和积累,职责开始分化,制度开始建立。这个时候最危险的是团队规模的快速扩大,团队还不成熟时就进行扩张,会导致职责不清晰、效率低下等问题,进而导致团队整体服务质量下降,团队快速进入衰败期。这个时候更应该修炼内功,抵制住内心扩张的念头,确保团队规模和职责范围都在一个合理的范围。要戒骄戒躁,踏踏实实的将职责梳理清楚,摸索合适的内部协作机制,着手建立评审、培训等机制,并让团队成员梯队化,为团队更好的发展奠定良好的基础。
成熟期。历经一系列的发展和挫折之后,团队成员间的配合开始默契,业务也有了极强的掌控力,各种机制和制度也已成熟,这时的团队就已经成熟了。成熟期的团队要尝试进行突破,或者业务上,或者技术上,或者继续让团队演进,变得更有战斗力。我的理解,美团团队的成功建立在校内团队、饭否团队经验的基础之上,微信团队的成功也建立在Foxmail团队、QQ邮箱团队的基础之上。十年磨一剑,一朝试锋芒。没有十年的磨砺,怎会有宝剑的锋芒,所以在团队没有准备好或者时机还不成熟之前,团队要耐得住寂寞,不断的积攒、演进,大好时代总会有试剑的时候。
衰亡期。一线互联网技术团队大多数生存周期不超过两年,合并、调整太常见不过,而在这个过程中大多数技术团队就衰亡了。有的团队,虽然建制还在,但经过调整,团队核心已经变化,各种积累也都未能传承,之后的团队只能认为是一个新团队。所以,团队一定要有自己的精神,有自己的积累,并且要不断进行传承,这样才能迎来爆发的机会。一个团队,持续活着,就是最大的胜利。
一线互联网技术团队管理经验谈(三):优秀团队
什么是优秀的互联网技术团队
有时我们会发现即使都是成熟期的团队,各个团队的战斗力还是有很大的差别,否则大家都能做出美团、微信。优秀技术团队给人的印象是士气高昂、战无不胜、攻无不克,充满荣誉感,其成员浑身充满自信。除了这些印象,我的理解优秀团队还有如下的特征:
作为一个整体。团队成员之间有良好的协作,就像罗马军团一样,目标清晰,思想统一,行动一致,令行统一。一个团队的最大战斗力就取决于这个团队高效做一件事情最多可以调配的成员总数,一个三十人的团队面临极大的挑战时也只能有五个人来做,这种团队的战斗力也就是五人规模。国共内战时期,国民党面上看有近500万军队,但是实际目标行动一致的嫡系部队也就200多万,所以对150万的共产党军队也没有绝对的优势。所以,作为团队的负责人务必要确保团队对目标理解是一致的;
意志坚定。不会因为暂时的困难而气馁,坚定目标,不断尝试,不达目标誓不罢休。任何团队工作中都会面临这样那样的问题,即使是日常的研发工作如果想做的突出也会有很大的挑战,更不用说各种紧急重大项目、各种技术挑战等,在面临这种困难时优秀团队能够坚定不移,沉着应对,最终得以解决问题。我们不仅要羡慕优秀团队的成果,更要学习优秀团队的坚强意志;
足够的耐心。猎物在进化,竞争对手也在进化,获取猎物的难度会越来越大,这也就需要团队要有足够的耐心。很多事情都需要时间的积累,以我们团队为例最近介绍的异地多活(http://t.cn/RAWuGV5)我们已经做了近五年,还准备继续做;HBase应用我们从2012年5月就开始投入,到现在也还在做;防御标准化也是跟运维的同学做了好几年了。特对对于一线团队,人数少,任务重,很多基础建设或者新技术都需要很长的时间积累才能搞定,更需要足够的耐心。激情很容易消退,而耐心实属不易,能用十年的时间坚持去做一件事情,只要别太笨,方向不错,总能做的非常厉害;
利益分配合理。不管在团队中处于任何位置都不会被遗忘,都能达成很好的成就,获得丰厚的回报。优秀的团队更要把利益拿出来讲,而不要偷偷摸摸的分。狼群就是这样,打下猎物,总要头狼先吃。对团队而言,不是整个负责人先得到利益,而是让具体负责的成员优先得到利益,而且要宣传,让所有成员都认识到贡献大收获就大,这样才能形成所谓狼性。当然也要注意公平的问题,我个人的理解公平更多体现在机会上,而不是利益分配上;
极高的灵活度。面临各种疑难问题时,都能够找到合适的解决方案,从而确保团队不断向前进。不要拘泥,不要墨守成规,唯一的规则就是达成团队的目标。日常我们常听到“这个几年前就是这样了”,存在不一定合理,团队的发展也要勇于突破藩篱,依据目标和困难的同步而采取不同的策略;
极强的适应能力。环境总在变化,形式不断发展,技术团队也要跟上时代,不断通过进化去适应时代。就像夏天非得还穿着棉袄,冬天非得还穿着短袖,不能随着环境而变化的个人会被淘汰,不能随着环境而变化的团队也一样的宿命,只能无情被淘汰。当然有的时候冬天来的太快,可能还没准备好冬衣,这就需要夏天的时候就要考虑冬天的事情,要提前做准备,未雨绸缪。同时也要保持团队的多样化,多样才能更好的应对变化;
以上只是个人对优秀互联网技术团队的看法,管中窥豹,但希望所有的互联网技术团队都有一个成为优秀团队的心,这样我们整体的研发水平会越来越高。
一线互联网技术团队管理经验谈(四):个人素养与人才培养
之前的几篇文章分享了我们对一线互联网技术团队管理面临的问题、拥有的手段、团队发展阶段和优秀团队的一些看法,接下来将讲讲我们对如何应对众多问题的探索和思考。
本篇主要介绍为了打造优秀的技术团队,团队负责人自身需要具备什么样的个人素养,因为团队负责人对团队有非常大的影响力,直接决定了团队的发展方向,可以说团队负责人的水平直接决定了团队的水平。同时,团队成员的层次各不相同,如何针对不同类型的人才采取相匹配的培养和发展方案也是团队核心问题。
团队负责人的个人素养
冲锋在第一线:向巴顿将军学习,即使不能直接拿枪打仗,也要战斗在第一线。坚持在第一线,可以让团队负责人了解研发过程中的各种具体问题、了解团队成员的喜怒哀乐、了解各种流程和系统的实际效果。由于团队负责人拥有更大的授权,掌握更多地信息和资源,可以很好的帮助团队成员解决各种疑难问题,进而鼓励团队士气,提升团队战斗力。在我们团队的发展过程中,我们的核心成员总会出现在各种故障的处理现场,主导各种重大项目、重大上线、紧急上线,这样确保不仅掌握第一手的资料,同时确保关键任务均能很好执行,对团队的成长发展有极大的益处。
意志坚定:团队每每会遇到各种问题和挑战,作为团队的负责人,一定要意志坚定,勇于主动出击,解决问题。作为团队的领头羊,如果自己对目标都动摇了,再怎么要求成员坚持目标都是徒劳无益的。所以,无论面临任何困难,团队的负责人都要沉着泠静,积极应对。做到意志坚定其实不难,只要确保对团队任何核心问题,无论面临任何困难都绝不退步,直到完成任务或者确认任务不可解。即使确认任务不可解,对团队也是极大的财富,因为后续遇到这类问题就能快速绕过,同时在过程中也会积累大量的战术经验。不逼一逼自己,你永远不知道自己和团队的潜力有多大。
学会招聘:铁打的营盘流水的兵,是团队就有人员流动,所以团队负责人一定要会招聘。团队负责人要熟知各种招聘渠道,了解招聘的流程和公司的政策,了解候选人的各种需求,更要清晰的知道自己要招什么样的人。有些人能力很厉害,但如果自己的团队没有其可施展的空间,也没必要费力去招聘。招聘的标准应该是刚刚超过团队当前人才水平的中位线,这样既能让新同学很好融入找准位置,又能确保团队的人才层次不断提升。而通过加强团队建设,打造团队的核心竞争力,树立良好的团队形象,能够更好的吸引人才。
持续学习:团队负责人自己带头,建立各个层面的学习、总结、分享制度,让团队形成浓厚的学习氛围。这样才能确保团队了解最新的业务、技术动态,并持续具备自我变革的能力。我们团队就有针对全员的偏分享的技术沙龙,和针对技术骨干的偏讨论的新技术研讨会。
团队人才培养
校招员工培养:校招同学入职两年内诉求相对简单,基本就是技术能力能够不断提升,能够参与一些重要项目,或者能够独立负责一块业务。校招同学培养的关键在于开始的几个月,需要帮助校招同学快速融入环境,并找到一个合适的定位,帮助其在某个领域树立个人核心竞争力。需要注意的是,需要持续与校招同学进行沟通,不仅头几天,而是要贯穿整个融合期,要帮助校招同学解决各种问题,使其树立起信心。校招员工忠诚度高,成长速度快,是团队长期发展的重要基石。我们团队目前有三位骨干同学都是自己培养起来的,其中有两个同学都是九零后,所以不怕校招同学年轻,就怕团队负责人不上心。
社招员工培养:社招同学通常经验丰富,换过几家公司,他们更关注快速取得成果和在团队中发挥重要作用。所以对社招同学少谈情怀,多沟通职业规划,帮助其融入环境,找到合适的岗位和项目,然后给与一定的空间,让其放手去做。社招同学培养的关键是帮助其找到一片生存空间,就像每只老虎都需要一片领地一样,社招同学也都需要一个相对独立的施展才华的舞台。只要支撑到位,社招同学会很快大放光彩,帮团队独自撑起一片天地。如果社招同学不能融入,也不要强求或自责,每个人的经历和诉求各不相同,很难确保所有的人都能跟团队很好融合。有的时候也要看缘分,只要确保大多数优秀的人都能融入到团队中,就没有问题。
成长慢员工培养:之所以把这块单独拿出来,还是因为现象太普遍,而且负责人普遍很头疼。在团队的发展过程中,总会发现有的同学态度很好,做事情也认真负责,但就是成长很慢,或者有这样那样的小毛病。淘汰掉,会觉得非常惋惜。留着吧,又会觉得对团队价值有限。这样情况下,我们的经验是进行持续充分的沟通,分析可能存在的问题,并让其尝试不同的工作,挖掘并帮助培养其优势点。通常成长慢的员工耐心会很好,而且忠诚度也比较好,培养好了之后很多都是团队的顶梁柱,越是好木头,树长得越慢,所以团队负责人在面对这些同学时要有足够的耐心,相信自己的努力总会培养出灿烂的花朵。