当前位置: 首页 > 科技观察

20年摸索:如何打造优秀的技术团队?

时间:2023-03-13 03:16:06 科技观察

【.com原稿】1998年毕业,工作近20年。我写程序很多年了。在编程初期,我的领导觉得我是一个适合团队管理和协调的人,所以我做了很多年的技术团队管理。今天有这样的机会和大家分享一个CTO是如何打造优秀的技术团队的。优秀的CTO需要具备什么样的素质?一般来说,技术团队分为两个因素,一是人,二是技术。从人的角度来说,很多程序员最大的梦想就是成为CTO。非技术人员创业的时候,都会感慨我们只差一个CTO。看来他想出了一个好主意,只要有一个CTO,他就可以实现这个想法,然后占据一定的市场份额,最后获得成功。但实际上,CTO并不能解决所有问题。我觉得CTO是一个很宽泛的概念。CTO应该具备一些特点:良好的技术远见和敏锐的技术触觉。比如公司应该在什么时候、使用什么样的技术,然后需要引入哪些新技术,在不同的阶段应该引入什么样的技术力量。CTO除了要对技术有前瞻性,还需要懂业务。很多人说我是CTO,可能对前端技术、后端技术、移动开发技术都比较了解,但是对公司的业务不了解。那么当公司的业务和技术不能结合的时候,你就会遇到特别大的困难,因为你不能用技术来带动业务。而一个公司的业务增长就是它的生命力。没有生意,***就没有利润。即使公司获得了一轮又一轮的融资,***还是会被收购或者死掉。所以,一个公司对CTO的要求是非常高的。不仅要有很好的技术预见性,还要判断什么时候引进什么技术;那么一定要懂业务,会管理团队,懂人性。我觉得这是一个过程。每个人都可能有成为CTO的梦想,但是他们能成为CTO吗?我觉得比较现实的目标是先让自己成为技术带头人。成为技术高手后,会有很多迷茫。比如我以前是做技术写代码的,感觉自己做的很好,很有自信,因为我的技术能力很强。***公司可能会给你一个管理职责,但是在这个转型过程中,你会有很多困惑:我该如何发挥自己的技术优势?我如何管理他人?如何让团队的表现和我个人的Merging表现结合起来?成为CTO必备的四个阶段。我总结了技术领导之路的四个阶段:野蛮生长、分组治理、救火员、无所事事。在野蛮生长初期,你带领着一个小团队。在这个团队中,你的表现非常出色,具有一定的沟通能力。您将被委以管理这个小团队的小责任。这个时候你基本上就是这个组的组长,你的技术也很强,所以你会承担一些培养新人,和其他组交流的任务。其实这样更容易管理,你的核心能力可能还是体现在编程上。在这个群体中,你的编程水平,包括你的代码量,都会保持在一个很高的水平。我觉得这是一个野蛮生长的阶段,不需要太多的管理。在一个团队里,你做得好,公司会给你更多的工作,让你承担更多的责任。有时候,一个优秀的程序员可能会排在十个程序员之列。当然,这也是在管理过程中,应该避免的。有时候在一个公司,如果一个人特别优秀,公司就会给他更多的任务。不仅会累死,薪资表现也不会相应提高。比如你管理一个十几个人的团队,这时候你能做的就是把这个团队分成两组。管理上有一个原则,就是一个人最多只能直接面对七到十个人。如果你管理过20多个人,这个时候就得拆成组,因为你不可能直接面对这么多人,你要和他们沟通,规划这么多人的工作。这时候你可以把整个团队分成两个小组,你自己领导一个小组,然后你提拔一个组长去领导另一个小组。你接下来的工作就是给自己的组员分配任务,然后定期和二组的组长沟通,确保整个组的方向运转顺畅。消防员当你管理的人多了,也就是你管理了几十个人。前期会有一个进化过程。一般来说,你会一个人带领一个团队。你还是会在这个群里面编程,管理这个群的任务。那你可能再组三四个其他的团,你一个人面对三四个。各组组长相互交流,共同协作。在开发的过程中,你会发现自己没有精力去管理自己的组。最后,你开始直接面对每个组的组长。当你不再承担一个团队的领导任务时,那么你可能就是部门经理了。这时候你可能要管理四五个小组,直接面对四五个领导。但你仍然是最熟悉公司技术体系的人,因为你是从一个小兵开始搭建整个公司技术体系的。我觉得在这个阶段,你要做一名消防员,你要帮助下面这些小组的领导完成他们的工作。无为而治的阶段,基本都是研发总裁或者CTO的位置。你不再关注你的技术是不是公司里最好的,你的技术能力和你的管理能力已经融为一体。你会关注一些更大的方面。公司未来的技术是什么?整个互联网未来的技术是什么?我们应该在新方向上进行哪些投资?您可以与CEO沟通这些问题。在这个阶段,你需要为整个部门或者整个公司的技术制定一个方向或者规则,然后让这些优秀的技术人员在这个规则和方向内发挥自己的聪明才智。其实如果你以后成为一个公司的领导,我想很多时候,我们需要思考的问题不是我们做的太少,而是我们管的太多了?在这个时代,我认为每个人类的聪明才智都可以发挥出来。我们不必计划好一切,让他们来执行。如果你成长到这样的阶段,我觉得你应该注意借助更多聪明人的力量,而不是仅仅依靠自己的力量,因为你不是最聪明的,你可能只是把握大局和大势多了解一点就好了。CTO如何打造技术团队?建队其实有两种方式:一种是白手起家,另一种是空降。从零开始,从第一人开始招募,我觉得这其实对我们个人的能力和团队的稳定性是一个非常大的考验。这样的团队,一旦建立起来,其实是非常稳定的。每个人都是你的兄弟,是战火中牺牲的伙伴。针对这种情况:当你在团队的时候,你会觉得整个团队的氛围很烂,或者大家都说,你为什么要来这家公司?然后他们说大家都走了,你怎么还不走?有这样的公司氛围,你会有这样的想法,为什么公司不给我加薪?如果你到了一个好的团队,你会发现虽然团队的经理离开了,但是大家还是很坚定的,希望在这个公司有所作为。我建议的处理方式是:对公司满腹牢骚的人赶紧放人,然后保护好公司现有的技术资产,让原来有价值的技术继续发挥作用。面对消极的员工,如果觉得公司不好,或者已经打定主意要走,就让这样的人尽快离开。清理完这种人,赶紧重建队伍,让队伍活过来。Airborne空降会面临两种情况,一种是队伍已经很烂了,乱七八糟,需要你去解决问题。还有一个就是团队很优秀,而你的前任因为各种其他原因离开了公司,所以需要一个leader来带动整个团队。针对这种情况:你会发现团队本身精神面貌很好,但是因为你的前任离开了,团队成员会有一点失落感,或者觉得公司不被重视等等。这样的情况。这个时候团队一般会保留一个很好的机制,团队的技术语言、技术选择、团队组织都会是一个比较完整的情况。在这种情况下,最不应该做的事情就是上任新官,按照自己的想法重新打造团队的机制,包括用自己熟悉的技术策略改造整个公司的产品。我觉得这是很忌讳的。因为作为技术管理者,大家都喜欢用自己特别熟悉的技术,我觉得这是每个人的人性。但是要成为一名优秀的技术领导者,你应该有更开放的心态。如果团队很优秀,你不熟悉他们使用的技术策略,那么你可以向他们学习,你不必强迫别人改变。其实,如果你遇到这样的团队:你只要保持其原有的机制,然后根据公司的发展逐步调整即可。原来的技术战略也是如此。缺一不可,可补之,不可破其根基。从技术的角度来分析团队建设,是一个公司,尤其是初创公司利用好现有技术的最佳选择。作为程序员,我们有时会忍不住去追求一些新技术。因为你会觉得,一些新技术出来之后,如果你不了解,在和别人交流的时候会很自卑,然后就会恐慌。其实很多时候我们为了消除自己的焦虑,去追逐各种新鲜事物。但是在一个公司,尤其是创业公司,你最终要达到的是公司的利润。公司要赚钱,需要用户,所以我们用什么技术能解决现在的问题。对于初创公司来说,我觉得利用好现在的技术是最好的选择。当然,在成长的过程中,你需要制定一些新的计划。如果你正在寻找一个新的方向,你就不会局限于一个原则。技术最重要的是支持现有的业务发展。技术要带动商业,最终要用商业来赚钱,或者找到足够多的用户。我想这是技术人员应该非常清楚的一点。推送系统每个手机厂商都会有一个推送系统。比如我们可以根据用户画像推送用户,可以推送实时新闻。当手机在线时,用户会收到此消息。如果没有收到,则消息丢失。您还可以推送离线消息。只要手机在线,就可以收到信息。但是这条消息可能只会在消息端保留一两天等,推送的准确率可以达到99.99%以上。在规划产品时,您必须有一个长期计划。现在,在一个迭代中,它有多长?不管是创业公司还是成长中的创业公司,我觉得一到两年就够了。因为你会发现你的公司可能在你规划产品之前就死掉了,这是很有可能的。所以这个产品一定要有计划,然后在迭代的过程中不断修正。事实上,我们基本上很难规划超过三年的产品,因为世界变化太快了。比如三年后,VR会是什么样子,会不会取代手机等等?我觉得这是一件不可预测的事情。好的、成熟的技术要尽快引进。在追求新技术和寻求稳定之间必须取得平衡。同一种技术应用于不同的应用场景。重构你的代码,而不是重写它。程序员最喜欢重写代码,因为重构总是会消耗我们更多的精力,但是哪个更值得呢?我觉得很多时候,我们重构代码,更有利于我们自己产品的迭代。因为重写完成后会发生什么?我们不太清楚。而对于程序员来说,他就像一个诗人,或者像一个作家,文章永远是自己的好,代码永远是自己的好。然后没有代码的时候,总觉得别人的代码不好。而我们自己也在进步,在进步的过程中,我们自己的代码质量也会提高。有一次在部门的时候,一个程序员过来说代码写的不好,要重写。你不让他重写,他就给你拼出来。我说这段代码是谁写的,然后抬头一看,是自己半年前写的代码,***,他说,要不我们重构一下。所以,这是需要程序员自己考虑的事情。其实重写之后,还需要做很多测试。如果你的界面发生变化,需要进行大量的测试才能满足系统的稳定性。将变更集中在某个区域而不是分散在系统的各个地方是架构师的一个原则。CTO管理的三大原则***跟大家分享一下三个原则,也就是我在自己的工作中经常遇到的三个原则:闭环原则、谁不舒服谁原则、ThinkBigger原则。闭环原则作为管理者非常重要。你应该扮演上传和发布的角色。你要让上面的人知道你要做什么,然后让你的下属知道你在做什么。如果你是一个普通的程序员或者执行者,我觉得这也很重要。这是一件说起来容易的事,但是在这个过程中,你发现能做到这一点的人少之又少,你可能还得不断地训练他,他才能做到这一点。例如,您每周召开一次会议。周会后,你发现有四件事要做。本来你写一封邮件,第一件事谁负责,第二件事谁负责,第三件事谁负责。第一件事谁负责,第四件事谁负责,然后你抄给所有参会的人。但是在下一次会议上,你发现没有人对这四件事中的三件事给你反馈。它可能会完成,也可能根本不会完成。我认为程序员有时不喜欢反馈。如果他们想做某事,他们会默默地为您做,然后他们不会告诉您他们是否做过。永远都是这样。但反馈其实很重要。如果有这样的反馈,你就完全形成一个闭环,你就知道你的进步了。尤其是这个闭环要向外延伸的时候,也可以延伸到产品上。你做了一个产品,你把这个产品扔到市场上,谁给你反馈,市场的反应是什么?我想这也是需要大家思考的问题。其实一个好的产品在扔出去之后应该有自己的数据感知能力,用户喜欢哪些特征,用户不喜欢哪些特征,日活跃量,然后统计你用户的很多行为等等。这就需要产品数据管理者能够得到这些用户的反馈,然后根据自己的感受判断哪些功能应该加强,哪些功能应该弱化。这就是产品的闭环。如果你想让你的产品扔到社会上,扔到市场上,它自己会长出来,这是很难做到的。除非是百年难遇的产品,比如微信。谁不舒服,谁提倡原则在组织中,经常会有一些跨部门的合作。这些跨部门的合作往往是因为公司的一片空白,大家似乎都认为是对方的事。但其实应该有一个组织者,也就是一个带头的人,但是我们不能只等负责人来推进度,因为他推起来可能很麻烦。举个简单的例子:比如我们的新闻发布会。在发布会之前,我们一般需要准备好所有的产品,包括产品的销售模式、产品的特点,以及一系列的资料。在上线的过程中,你会发现产品的功能设计页面总是不给,所以作为技术人员要不断督促设计师尽快把这个设计提交给我。如果你准备在16号发布产品,那么15号,给你这些设计稿谁最难受?设计的同事们都已经完成任务了,肯定是这些前端程序员特别难受,因为他只有一天的时间画页面上线,所以他们还要一直推。所以原则是:如果你觉得不做这件事情你会觉得特别难受,那你就应该主动去推广。这对于整个团队的合作或完成整件事非常有价值。但随着你主动推进,这个过程可能会慢慢变得合理。ThinkBiggerprinciple是我想到的一个词,大致意思就是从大处着眼,从小处着手。就是有的时候我们在做一件事情的时候,我们的眼界会很浅薄,看不到一件事情的未来发展。不管你是写需求,编程,还是在公司创业,我觉得都是一个公司最原始的想法,也就是创业的想法。您有一个好主意,可以激励您自己和您团队中的其他人继续前进。这个很重要,如果没有这个idea,就会导致我来这里挣工资,你不会和你的团队一起成长。然后你的团队有任何麻烦的迹象,你可能会离开并找到一份薪水更高的工作。所以,希望大家能站在自己的立场上,想大局。在这个职位上,如果你的部门能扩充到50人,你会做什么。如果你的用户扩大到5000万,你能做什么?我想这是每个人埋头在路上都需要思考的问题。迟建强,极客邦科技总裁,70后程序员、技术作者,曾就职于鸿恩软件、用友集团、锤子科技。现任极客邦科技总裁,分管研发和产品工作。热爱编程,喜欢写作,相信互联网可以改变生活。2012年创立微信公众平台“MacTalk”,讲述科技与人文的故事。他的书《MacTalk•人生元编程》和《MacTalk•跨越边界》在程序员中广为流传。以上内容节选自《CTO训练营》一书?,根据包括乐视网CTO杨永强、360副总裁谭晓生、CTO李钢江、财务CEO华夏段年、极客邦科技总裁迟建强等向谁学习,更多内容请查看:https://item.jd.com/12065279.htmlCTO培训营地是一个面向中高端技术管理人员的学习和社交平台。自2016年推出以来,受到行业骨干技术力量的欢迎。邀请业内资深技术高管、科技型投资人和科技创业者,打造科技经理人MBA,帮助中国培养有潜力的技术经理人成长为未来技术的领军人物。CTO训练营第四季正在招募中,你想加入吗?http://x.51cto.com/?51cto【原创稿件,合作网站转载请注明原作者及出处.com】