tutorabc CTO汤峥嵘:技术管理者带团队需要迈过哪些坑?
写在前面
今天给大家分享的是技术管理者无法绕过的那些坑。管理这件事是仁者见仁智者见智的,我更多的是分享个人经验。
先简单自我介绍一下,本人是一个典型的理工男,在清华还没有读完本科就出去留学。这一段经历对我来讲很重要,因为我在国内读了两年大学,在国外读了两年大学,这经历对后面思考问题的方式帮助很大。国外的大学跟中国大学最大的差异在于它们没有系、没有班级、没有班主任,所有的选择都是靠自己去做,不像我们从小到大都被安排好。作为一个技术管理者,你要关注其他人、关注团队、关注自己,这种情况下独立思考能力非常关键。
我毕业之后在美国硅谷工作了一段时间,回国后在阿里工作了 8 年,后来在途牛任 CTO 3 年,现在是 tutorabc(原 vipabc)的 CTO。
第一个坑,从技术转管理本身就是一个很大的坑。一旦跳进去,就很难爬出来了。我认为最大的差异就是:。有点像男和女之间的差异,男生思考问题偏理性,女生偏感性。
我觉得没有谈过女朋友的理工男直接做管理会有很大的风险,因为他连女生都不懂,很难做好管理。男女的差异就是这么大,你不理解女生你就不知道世界上还有另外一种人,你以为所有的人都像机器一样,你发一个指令就会按照逻辑执行,其实并不是这样。如果你特别的喜欢逻辑,但是情商相对比较弱,我的建议是等一等再做管理。
给大家介绍一下硅谷文化,硅谷非常崇尚技术,到什么程度呢?如果你在公司做到了架构师或者 CTO,大部分人会对你非常崇拜。但如果你是经理或者总监,很有可能会被认为是缺乏技术能力,被看不起。
国内有一种说法就是 30 岁之后就不适合做技术,应该转向管理。我认为这种说法没道理,如果在军队里面,一个士兵说我杀敌本领不行,是不是可以升做将军了?同样的道理,技术是一个手艺活,最好是技术能力比较强再转管理,水到渠成,技术不行的人即使转了管理,人家也可能不服。
我自己曾经也是这样的思维方式,认为管理跟写代码修 BUG 一样。实际上,系统是死的,人是活的,什么意思呢?就是 BUG 在那儿,这是一个问题摆在那,如果是一个技术问题,我们摆他一个月,甚至摆一年,解决方案可能还是同样的,没有怎么变,只是你当时没有想出来。
所以系统的问题是死的,放在那琢磨就行。可是人是活的,你今天不解决这个问题,明天这个人就走了。这个人跟你说他要离职,问题很简单,可是你真的没有办法解决。系统问题难度越大我们解决的成就感越高,可是人的问题不一样,很多鸡毛蒜皮琐碎的小事解决起来一点没有成就感。例如有一个很重要的员工,在项目中他说他要休息一段时间,你缺少替代的人怎么办,这些都是没有办法绕过的。
系统问题需要智商,而人是活的,你要理解他,就需要情商。情商是什么?我个人理解,情商就是如何站在别人的角度看问题。我曾经在阿里上过一门课叫“情商为零”,课里面有一个性格测试让我突然间明白很多事情。它说人的性格分内向和外向,跟我们通常讲的有点像,但也不完全一样。
内向的人在思考问题时喜欢一个人独立思考、整理思路,我就是典型这样的人,我不喜欢一大堆人围着我讲。但是外向型的人通常很喜欢跟大家聊天,聊的越多整理的越清楚。我以前在途牛的老板就是这样的人,他从几个发散的点跟我聊,聊到后面我已经有点晕了,他却画了一个清清楚楚的图出来。
当你明白世界上有另外一种外向型的人的时候,你就要去理解他,否则你就会觉得跟他沟通很累。我跟这样的老板沟通的时候,我明白我在帮他,那我们就一起讨论,当他觉得他整理清楚了,他要做结论的时候,我跟他说,“对不起老板,我觉得当中还有几点我没想明白,我要回去想想,现在还不能做决定。”
性格当中还有一个方向叫判断型,非常喜欢按计划办事。另外一种人是认知型,非常喜欢自由,不按规矩办事。我是前面那种类型,出去旅游时我希望把每天的行程都计划好,除了机票酒店定好,每天早上起来到哪儿玩,几点玩到几点也要规划好。但是我老婆就跟我相反,她觉得特别好玩就多玩会。那我下个景点怎么办呢?对我来说,在本子上把去过的景点打个勾,也是一种很大的成就感。
工作中,做项目就需要判断型的人,他们对时间把握很精准,总是能够按照时间完成。认知型的人就是不喜欢规划,十个工作日,前面八个工作日没干活,因为没有感觉,最后两个工作日就开始工作起来了。
但认知型的人也有发挥的时候。当系统出现重大故障时,喜欢计划的人一下子懵了,不知道怎么办。而认知型的人对付这一类突发事件如鱼得水,这就是他发挥的场合了。当你了解之后,你才知道跟不同性格类型的人沟通是不一样的。我们通常比较喜欢用自己的方式去理解其他人,真正用别人的方式理解其实非常难。
下一个坑是什么?很多人觉得要早点转管理,因为管理是一门科学,可以早点学。什么是科学,如何定义科学?我有一个方法,就是去书店里看,你发现这一类型的书特别少才是科学,这一类型的书特别多的通常不是科学。医学、化学,都只有几本经典的书。我们搞计算机也是,那本 K&R 的 C 程序设计语言,一直是经典。
但书店里最多的书是什么?管理学。而且管理学每个时代还不一样。美国 90 年代流行日本管理学,我猜很快全世界就要流行中国管理学了。现在华为、阿里的管理学很流行。但如果真的把另外一家企业所有的管理都拿过来,一定把你企业害死了。
管理学跟人一样,你说你要养生,真的要有一个好的方法照着去做,那所有人都可以长生不老了。肯定每个人体质不一样,不是所有人都适合跑马拉松,我觉得就是这个意思。
科学通常要按照前人的理论和数据去走,钻研透就行。管理真的就是靠个人实践。我不建议很多人在没有准备好之前就匆匆的转到管理上,你认为你进到管理就可以真的学管理,你是拿自己的短板跟别人的长板去拼,你如果情商不够高一定会吃很多亏。
下面一个坑,唯一证明自己的是业绩。我们搞技术的人特别喜欢证明自己,我相信在座各位从小到大估计都是高材生,证明自己是必须的一件事,我们会认为业绩是真正证明自己的东西,我们会拼命去做。但什么是技术的业绩啊?效率、系统稳定性,通常这些是我们追求提升的维度。
但老板不一定听得懂。系统稳定是应该的啊。效率最好是 100 个人的活你 10 个人干,你加了一倍的工程师,需求可能多出两倍。所以你永远没有办法真的有效证明自己,但很多人会掉进这个坑。
大家容易忽略的事情其实是信任,我们和老板之间,和其他业务之间的信任,能不能做到真的非常非常信任?这一点我特别想突出放在这,因为大部分技术人不太擅长做信任这件事情。工作以外才是真正让老板更信任你的方法,比如和他吃吃饭、喝喝酒。我们大部分技术人不擅长这些。工作中的我和生活中的我,有时候不是同一个人,因为工作中的有些特质是被逼出来的,或者装出来的。
阿里很喜欢让员工下了班之后打牌,甚至赌博。赌的时候,人性都出来了,这个人很急,那个人很胆小。这种人性在工作中一定会有,一定会在老板不在的时候带出来。如果你发现一个人生活中就是慢脾气,你非要他急,他是急不来的。让别人看到 360 度的我,比如容易获得信任。
每个人身上一定有各种各样的缺点,如果你尽快的跟老板和业务伙伴达成信任,才有可能放心合作。这件事是非常容易被低估的,这可能是我们中国人的文化特质。我美国的同事,真正美国人下了班我从来没有去过他们的家,他们也不来我家。但在美国的中国同事都互相串门,上班是同事,下班就一起吃饭,一起看电影,所以中国的文化可能强调的是人际关系,这个给你创造了一个非常好的条件。
要想办法获取你老板和业务的信任,没有信任或者信任不够多的时候,你的工作起码要 30% 以上的时间是为了证明自己。我建议大家找工作时,先去跟你未来的老板,同事,聊一聊,他们的价值观,性格,跟你有没有默契?如果没有,工作会比较痛苦,也许就不合适一起工作。
讲到管理很多人都有这个疑问,是不是要考核。一种观点是,管理唯一的手段就是先定 KPI 再考核,别的不重要。另外一种,特别是在我们技术行业里,认为根本就不应该定 KPI,都是瞎定。我认为这是两个极端。我还是定 KPI,但我通常把 KPI 分成三大块,我们做技术的特别是在互联网行业,毕竟是在为业务做产出,所以第一块 KPI 应该是业务。只要为业务服务,就要把业务的 KPI 让技术一起去背。
我建议占比至少 30%。这 30% 决定他一定会跟业务一起拼,能解决很多问题。没有这个,业务和技术会越来越分开,技术只管技术,业务只管业务。
第二块是技术,我通常比较强调系统稳定性,这个是可以量化的结果。我建议占比 40%。第三块主观分。如果你是管理者考核的是你的管理能力,如果你是普通员工,考核的是你的成长能力。这两个能力虽然是虚的,但是你要给他布置实的任务。举个例子,你发现某位员工负责的系统不稳定,容易出 BUG。如果知道他的性格,知道他的过程,会发现这个人其实就是粗心,做完之后不努力去检查。你就可以帮他改变粗心毛病,给他设定任务和目标。
管理当中也有很多指标,但是根据情况去看管理审核有没有问题。通常会拆分为三块,有两块相对比较客观,业务数据,业务做的好坏本身就是客观,系统稳定性也是比较客观的。但是第三部分是主观,我认为做技术管理一定要维持一块相对比较大的主观打分。
技术人员不是工人,也不是业务人员,不可能通过一个或几个客观数据就有效评估出结果。如果可能的话,扫地的阿姨也可以做管理了。管理者存在的价值就是这些不确定性的事情。
我的观点跟别人不一样,我认为 懂不懂技术跟管理成本有关。所以我比较喜欢用技术好的人做管理,这是一个成本的问题,不是一个所谓风格的问题。为什么?技术比较好的人在各种各样的技术方案上,感觉会比较准一些,不要每件事情都仔细评估,打一个很细的分数,他看一眼就知道大概。我觉得低管理成本很重要。如果公司中有一半人是做管理的,那效率肯定上不去。
怎样让管理者人数更少?第一,管理者要清楚哪些员工技术强。打分只是一个反馈。而不是说我都不知道这些人谁厉害,必须要依靠体系打完分才知道谁分数比较高,谁分数比较低。我觉得这样的管理者其实是不称职的。优秀的管理者,心目中应该有自己的排序。
第二,如果做管理的人技术不太行,很难留住技术好的人。技术好的人会有各种各样的缺点,容易高智商低情商,比如不太善于沟通。不懂技术的管理者容易忽略真正的技术能力,从而会增加非常大的管理成本。我觉得一家公司最终还是要技术导向,千万别管理导向。你的 CEO 要求你把成百上千人都用一套方法排出来。如果你真的去琢磨这个东西, 我觉得你一定会陷入非常大的坑。
技术团队的组织架构怎么搭?我不太喜欢按业务或者项目建组织架构,我比较喜欢按照系统来分团队。因为我觉得系统是比较稳定的。比如做电商一定有订单系统。有了系统,就把团队跟它对上,成为系统的 owner,可以让这个系统不停的迭代,发展,更加稳定。
平衡是比较容易出现的问题,特别是我们初级的管理者希望完全追求技术导向,就容易只管技术,不平衡业务。我认为往上走,管理到后面所有的难度就是平衡。这张图其实更能表现出来,平衡永远是一件最难的事情,但这是一个管理者必须要面临的事情,千万不能忽略。
第二个就是大家很容易先去做架构,不知道业务是什么样子,我认为必须要业务架构先行,很多管理者要同时担任业务架构师的角色。你看看公司业务架构图能不能画出来,有的时候你会发现,画出的业务架构图跟公司的组织架构图不一样。说不定是因为公司业务做得不好的原因。比如很多传统行业是产销分离,就是生产跟销售是分离的。但不同的阶段有不同的方法。你能否画出合理的架构图和组织结构图?
最后一个坑是打造技术文化。很多人认为技术文化就是技术驱动。我认为这是一个谬论,不要纯粹的去追求技术驱动,其实很多技术人的成就感恰恰来自于业务。你跟他说代码写的多牛,肯定有一瞬间的成就感,但是人家说你的系统支撑了多少亿订单、多少亿用户,这些业务场景让技术人更有成就感。
今天是一个互联网的世界,技术跟业务的分工不要太细,包括技术内部的分工,我的主张都是 厉害的人让他既管产品又管技术。传统招聘是因岗定人,先定好岗位再去招人。我喜欢以人定岗。来的人,比想像中的还厉害,就让他做更多的事情。没有想象中好,就少做点事情。