美团、快手、去哪儿网是如何构建测试环境的?点击查看实践案例>> 了解详情
写点什么

从普通程序员到三百人技术团队 CTO,技术人成长的易与不易

  • 2017 年 1 月 16 日
  • 本文字数:4857 字

    阅读完需:约 16 分钟

引言:

成功学者们总是在灌着各种鸡汤,好像按他们说的做就能走上人生巅峰。普通程序员们也经常幻想着成长可以一蹴而就,三五年做到架构师、CTO 好像触手可及。平凡的人总是相似,不凡的人各有各的不凡。这次不灌鸡汤,只有最朴实的文字与回答。本文不一定能马上帮到你,但起码可以带给你一些思考与方向。

编者按:

起初,他也曾是一名普通小程序员,循规蹈矩地上班下班;后来,他突然意识到这不是自己想要的生活,于是从阿里辞职,跳槽有赞;现在,他是三百人技术团队的 CTO。

与崔玉松先生的相识,源于 2016 年 12 月中国技术开放日美国站的活动中。和许多程序员一样,有赞CTO 崔玉松自爆也曾不善言语、不喜与人沟通。曾经的梦想是做一名优秀的架构师,带领一个不超过10 个人的精英架构师团队。如今,他侃侃而谈,做事沉稳干练,并管理有超过300 人的研发团队。InfoQ 为此专访了崔玉松,希望他能够为大家分享一下,在不进则退的技术人生里,如何仰望星空、脚踏实地。

采访嘉宾

崔玉松,有赞联合创始人、CTO。前阿里巴巴技术专家,资深码农。

行业巨擘阿里 VS 初创公司有赞,为何选择了后者?

2013 年,他放弃阿里投向有赞,一边是成熟稳定的互联网大公司,一边是充满不确定性的初创小公司,是什么促使他做出了这种决定?有赞哪些地方吸引到了他?

标准的回答应该是为了理想,实际上我也不知道算不算。2012 年底和团队一起基本上做完了淘宝搜索业务端的重构,我在思考下一步做什么。当时得到的信息很碎片,大家都不是很清晰明年搜索业务做点什么,只是说垂直化,个性化。我自己思考了一段时间,搜索业务从诞生以来到当时其实没什么变化。

总的来讲就是一个搜索框,输入一个词看到结果,搜索结果呈现之前有很多很复杂的逻辑和算法。但是这个业务已经到了除非发生革命性变化,否则用户不会有太多感知的地步。我觉得自己的投入和用户感受到的价值不成正比,于是我开始关注外界的机会。

加入有赞是个偶然,2012 年年底我看白鸦的微博在上招人,到 2013 年初还在招人,我就在微博上联系了一下他,最后大家约个时间见面,聊了两三个小时,感觉挺靠谱的,其实当时已经决定加入了。保守起见,我回去想了几天,就主动提出来要加入。当时只是觉得团队挺靠谱,事情也值得做,然后主动给白鸦打了一个电话,告诉他我要加入,电话完就写了辞职信。

我记得当时他还没准备好给我的薪资,说商量好告诉我。晚上的时候,他告诉了给我的薪资数值,实际上这个薪资是我当时在阿里的一半都不到。只是我在联系他之前已经考虑到了这个问题,所以就算没有工资我也想去试一下,对于我而言做点自己认可的事情比任何其他额外因素都重要。

程序员到 CTO,如何快速成长?

从一个普通程序员,到 team leader,再到管理 300 多人的 CTO,管理上是如何做到快速提升与成长的?有无特别的经验可供分享?

有赞现在有超过 300 个工程师的研发团队,从一个工程师到一个 leader 的阶段是非常简单的,很多人都可以很快做到。leader 就是很多匹拉车的马中,走在最前面,带头做榜样和控制方向的那匹马。通常来讲,团队的成员不超过 20 个人时,整个管理成本很低,基本上不会有太多的管理动作。只要细心一些,人员招募到位,做事情的时候身先士卒,日子基本上都会很好过。

但是,当研发团队规模达到 100 多人的时候,leader 所起的作用就比较弱了,之前作为 leader 的各种本能的管理手段都失效了。当团队大到无法感知你的能量,这个时候就要考虑更多不一样的策略了,比如把团队分层。当然这个也取决于在团队治理的时候选择什么样的策略。

有赞选择了高度扁平化的策略。所以在团队规模达到 100 人的时候我们都没有正式的 manager 角色,我们只是把团队按照角色和职责做一些简单的划分,确认核心人员能够在各个战线上充当 leader,能够身先士卒,勇于担当,自我激励往前走。如果你的团队有 20 个这样的人,基本上 100 人的团队还是不用太多的管理手段介入。

当团队规模超过 200 人,这个时候就真的需要真正的 manager 了,因为这个时候会遇到很多噪音,需要大量的时间纠偏。团队可能有一半人甚至更多对最高技术管理者根本不了解,甚至没有那么强的信任感,因为大家每天接触的时间实在太有限。大部分人可能一年说不上几句话,让人家信任你是不太可能的,所以我们在这个节点上正式组建了 team leader 的团队。我只负责 team leader 团队和少数需要攻坚的直属团队。

新晋的 leader 至少你是充分信任的。虽然他们肯定也会犯很多的错,而且绝大部分还是我之前曾经犯过的错误。但是人就是这样,你和他讲的时候他不以为然,非要自己犯一次才会觉得你说的是对的。不过,在我看来这就是一种成本,从公司层面看是一种必须付出的成本。即使你招的是一个成熟的管理者,也要适应你的公司独特的需要,他也是要做很多调频和“犯错”。

组建管理团队我觉得重要的地方是在于信任和放权,道理大家都懂,但绝大多数从底层成长起来的技术负责人都做不到。我刚开始也不适应,因为事情不是你亲自分配下去的,执行的人是谁也不清楚,每件事情都想要问一下结果,总会担心事情发展是不是会走偏,是不是有隐患,等等。这确实需要一段时间的适应和练习。

核心团队的组建与管理

核心团队是如何组建的?日常是如何进行团队管理的?

我们经过三年的时间才逐步沉淀了一些有做 team leader 潜力的人,定向挖过来的也有,非常少。

日常我过问的比较少,一般只参与少数重点项目,少数重点的人转正或者谈话我一般会参加。对于团队,我还是把很多时间放在找人和招人上,特别是重要岗位的人。2016 年上半年,我 70% 以上时间都是在招聘,下半年各个 leader 逐渐成熟了,大家招人的理念和评判的标准逐渐一致之后,日常招聘的工作也都放出去了。

我只负责一些重要岗位重要人员的面试,这个时候我可以把更多的时间投入到每个团队我熟悉的人或者重点人员的沟通上,一有时间就聊几句。在沟通过程中,不但能发现很多存在的问题,同时也维持了和最前线同学的感情。

一个优秀的工程师团队非常重要,如何组建这样的团队,有赞是如何做到的?鼓励做什么,不鼓励做什么?

组建任何一个优秀团队都是不容易的,这是一个漫长的寂寞的过程。大部分公司在寂寞的过程里放松了对于候选人的要求,很多时候会把完成业务看的更重要。有赞在过去四年里坚持的了该坚持的东西,甚至在早期使用了非常极端的手段。

比如,把试用期的薪资做的非常低,故意让周六上班。实际上,在转正的时候我们会加很高的比例,周六也大多以分享和团建活动为主,并非是真的在工。这样就能把一些对于短期利益非常非常看重的人过滤掉,因为一开始我们核心团队的共识就是我们要做一个事业,并非短期的生意。公司可以挂了,事情可以做不成,但绝不能违背内心的追求。

不过,这个策略实际上也拒绝了一些真的不错的人,他们觉得自己的价值被低估了,不愿意加入团队。我们也怀疑过这个策略是不是对的,不过最终还是坚持了。任何规则都是有利有弊,我们需要的是更齐心的团队,所谓人心齐,泰山移。后面随着有赞业务和团队的规模化,步入到一个新阶段后,我们也及时调整了我们的策略。

有赞招人的三个最核心的特质:聪明、要性、皮实,缺一不可,有赞现在 600 人团队,技术超过 300 人,实际上全职的 manager 角色在公司没有超过 10 个人,我也算是其中的一个。高度扁平化的组织要求大家更多的是自我驱动,自我运转,对于信息的传递效率要求非常的高,对于噪音的忍耐限度很低。

我们非常鼓励大家相互补位,有问题及时寻找资源,及时获取有效的信息,鼓励大家面对面把事情说清楚,所以我们专门给所有人配备笔记本。我们杜绝一切办公室政治,杜绝人前一套人后一套,也杜绝没事捕风捉影,造谣生事。

技术、管理、领导力的权衡

技术能力、管理能力、领导力哪个更重要?如何权衡?

很难讲哪个更重要,我也希望我是个完美的人,技术能力、管理能力、领导力都很强,可惜我做不到。我觉得正确的认识自己是很重要的技能,这个是我经历了很多事情之后开始想明白的。如果像有赞这种成长方式,团队从开始几个人然后发展到上百人,我觉得前期技术能力是非常重要的。

因为早期业务发展非常迅速,根本没有时间做架构重构,对于技术管理者而言,做最有利的架构才能驱动公司的业务。毕竟一个团队可能除了技术管理者之外大家能力都很平均,如果连技术管理者也不懂或者能力很一般,那基本上业务会受损很大。评判这个的标准是 CEO 对于技术团队的关注次数乘以批评数量。

管理能力和领导力,我觉得领导力可能更重要,没有领导力基本上连核心管理层都建不起来或者管理不好。管理能力差可以通过核心管理层帮助你去做很多事情,甚至 HRBP 也可以帮助做很多事情。这个也和我的经历有关,我就是典型的管理能力不怎么样的人,全靠我们优秀的 Team Leader 团队。

进阶管理后,遇坑怎么填?

进入有赞后,管理或者技术上遇到过哪些特别的坑?最后是怎么解决的?

管理上没什么好说的,就是要正确认识自己的管理能力,扬长避短,摆正自己的角色和位置。不该说的要坚决忍住,该说的要仔细想想是不是应该 leader 去说,给他们解决问题和定位角色的机会。

技术上有赞走过的路和大多数从小到大的创业公司差不多,都是前期专注于解决业务问题,最后架构问题在某个时间点集中爆发,导致很多的不稳定。这一点不管是阿里也好,京东也罢,还是最近交流的一些其他公司,基本上都是一样的,只是大家问题的严重程度和解决问题的速度不一样。有赞的解决方法和大家也没什么太大区别,就是组建一流底层核心架构和核心运维团队,这个团队必须得好,不然解决问题的速度非常非常慢,每天都可能宕机,会严重影响公司业务及效益。

初创公司做大后,内心有无膨胀与彷徨?

作为公司的创始人及 CTO,当看到公司规模做来越大,发展越来越好,内心有没有膨胀过、彷徨过?内心想法是?

我是一个相对保守和冷静的人,以前看过很多关于死亡和哲学的书,所以从来没有膨胀过,反而会经常思考更多的危机和问题。不过,这个也有不好的地方,就是很少表扬团队,因为我看到的都是问题和危机。

彷徨倒是有过一段时间,可能差不多有三四个月。我从未想过我有一天要带几百人的团队或者将来要带上千人甚至更多人的团队,从我在大学里决定开始玩编程的时候,我的理想就是做一个优秀的架构师,绝大部分问题能在我这里能得到解决。我希望我带领的是一个不超过 10 个人的非常精英的架构师团队。

我自认为自己不是一个很好的管理者,一个优秀的管理者要去触及人性的各个方面,而这个是我之前觉得我干不了的事情。我退缩过,但是最后还是得站出来,职责所在,责任所在,我的角色必须去承担这样的事情,遇到的困难和痛苦都必须我自己解决和承受。想明白这些事情之后就突然觉得释放了,那就重新给自己一个新的定位和目标,去打造中国最好的技术团队。也许没有几个人像我这样幸运,有这样的机会,在创业中杀出一条路。所以,我很知足。

创业维艰,最大收获是什么?

好像很难讲具体的收获是什么,将心比心吧。看很多事情的时候变得更多面了。现在看以前的自己,就是个愤青,不过现在也会喷。比如前几天的大雾霾,但是喷之前大多先做很多的细致研究,从数据上,各种观点上,还有从很多其他方面查漏补缺,最终再形成一个结论。

除此之外,可能最大的收获就是见识了很多没有见识过的东西,认识了很多跟自己趣味相投的人,感觉自己的人生变得更加丰满更加真实了。还有,以前我是一个不怎么说话的人,现在能够和三五个人坐在酒吧里就一个话题聊十几个小时。

还有很多很多的变化,我也不知道哪个是最大的收获,创业对我来讲就是完成一件我想完成的事情,就是一个经历,无所谓好坏。我只是选择了这样的生活方式,和很多人选择了朝九晚五并没有什么大的区别。不同的人有不同的生活方式,但每种方式遗憾和快乐都会并存,想清楚什么是自己想要的就好。

InfoQ:非常感谢崔玉松先生,期待您在 2017 年 4 月 QCon 大会上的“工程团队建设”专题中的分享!


感谢 Ryan 对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 1 月 16 日 18:005966

评论

发布
暂无评论
发现更多内容

索引为什么能提供查询性能...

小林coding

MySQL 索引 数据结构与算法 B+树

Week1 命题作业

J

极客大学架构师训练营

《迅雷链精品课》第八课:迅雷链多链结构

迅雷链

区块链

架构师训练营第一周UML图

Geek_xq

谈谈持续集成、持续交付和持续部署三者究竟是什么,有何联系和区别呢!

ShenDu_Linux

Linux 持续集成 架构师 持续交付 持续部署

如何保护视频资源?这几个防盗链使用技巧你一定要知道!

腾讯云音视频

音视频 防盗链 内容安全 视频防盗 视频资源防盗

区块链数字版权应用落地开发,区块链版权溯源解决方案

13530558032

没想到我费劲心力学的kafka,还不如阿里大佬整理的这份学习手册,真的是差距啊

小Q

Java kafka 学习 架构 面试

通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!

华为云开发者联盟

通信 企业 网络自动化

美团架构师总结整理的这份GitHub标星150K+的神仙笔记,我花了两个月肝完成功面进了阿里定级P7,现在分享出来希望大家也能有所提升!

Java架构之路

Java 程序员 架构 面试 编程语言

有了它,数据库也能空中加油,一边迁移一边跑起来

数据君

从数据库巨人身上撕开一道口子

数据君

腾讯云数据库登陆印尼,金融行业显神威

数据君

tdsql

【领福利啦】广受欢迎的人工智能实战课程+“智能音箱”教程免费领!

小冬

人工智能 技术 福利 项目实战 智能音箱

深入内核,拒绝蒙圈!阿里巴巴一位P7级架构师总结整理的这份《Java架构成长笔记》彻底火了。

Java架构之路

Java 程序员 架构 面试 编程语言

ThinkPad X1 Carbon与MacBook有何不同?不止是专业

新闻科技资讯

EMAS 移动 DevOps 解决方案 —— Mobile DevOps

移动研发平台EMAS

阿里云 DevOps 运维 开发 emas

秋招offer收割机——后台服务器开发方向(专业学习路线图总结)

程序员小灰

c++ Linux 后台开发 架构师 服务器端开发

如何保障企业数据资产的全生命周期安全?看这篇就够了

华为云开发者联盟

数据 数据资产 数据安全

涨薪神作!华为内部操作系统与网络协议笔记爆火,这也太香了吧

Java架构之路

Java 程序员 架构 面试 编程语言

食堂就餐卡系统设计

我们新四军不拿群众一针一线

架构师训练营 -week10-总结

大刘

极客大学架构师训练营

【得物技术】供应链库存幂等实战分享

得物技术

幂等 供应链 得物技术部 实战 得物

区块链跨境溯源平台搭建,助力跨境电商防伪溯源

13530558032

“通证经济”实质是生产关系的变革

CECBC

通证经济

11.11数据可视化大屏设计揭秘

京东科技开发者

大数据 AI 数据分析 数据可视化 交互设计

一文带你了解两种Transformer文字识别方法

华为云开发者联盟

人工智能 AI 文字识别

一周信创舆情观察(11.16~11.22)

统小信uos

去“测试”下的测试重生,不为焦虑买单

陈磊@Criss

软件测试 自动化测试 测试开发 智能化测试

架构师训练营第一周架构方法学习总结

Geek_xq

分享一份大佬的MySQL数据库设计规范,值得收藏

小Q

学习 架构 面试 JVM 多线程

从普通程序员到三百人技术团队CTO,技术人成长的易与不易_语言 & 开发_朱昊冰_InfoQ精选文章