一线工程师→技术经理→技术VP→CTO,是不少技术从业者为自己规划的理想职业路径。
然而,CTO 在公司中到底承担着怎样的角色?从一线工程师一步步进阶到 CTO 之前,又有哪些关键的职业技能和工具需要掌握?
光凭站在起点的空想,很难支撑你顺利走向职业规划的终点,此时过来人的亲身经验就尤其重要。
自如 CTO 王迪分享了他从小白到 CTO 的 15 年职场路、CTO 的角色定位、所需技能,以及他在自如的实践经验。
从小白到 CTO 的 15 年职场路
学生时代的第一份工作,亲历精益创业
我本科和研究生在清华读计算机专业读了七年。2003 年,我正好遇到了几个在学校边开公司做网络安全的师兄,就去他们的公司兼职做软件研发。
从兼职到毕业后正式入职,一不小心就在这里工作了四年。我逐渐从基层的程序员,写安全产品服务器、客户端代码,做企业集成,到慢慢开始带团队。
公司发展也不错, 虽然也就是二三十人的一个软件开发团队,但我一路做下来,算是里头资历最深的技术负责人,期间也经历了售前售后各个方面的锻炼。
那时我也不懂「精益创业」和「敏捷开发」,但却在事实上经历了整个过程——从 0 到 1,完整走过从 MVP 到实验室到最终产品的每一步;再把它销售出去,从 1 个客户到 10 个、100 个客户,迭代地验证产品的市场价值。
初次试水互联网,从一线员工到总经理
2007 年,我感受到自己在这家小公司能积累的东西已经到了一定程度,希望有进一步提升;另一方面,创业中我踩了很多坑,也想学学正规的公司到底是如何运作的。
于是,我给自己立了两个短期职业目标:
- 去互联网公司,互联网是未来的发展方向。
- 去一家硅谷公司,毕竟那里是科技公司的发源地。
在这样的朴素理念下,我就进入了第二家公司:FreeWheel。
FreeWheel 在 2007 年才刚成立,三位创始人都是 Double Click 的前高管——这是一家当年被 Google 收购的、美国领先的互联网广告公司。
这个公司很神奇的一点在于,它从最初起,所有的研发岗就 Base 在北京,我老板就是从美国回国来建立研发中心的,我是 FreeWheel 在北京招的第一个人。
接下来,我在 FreeWheel 又一口气待了七年半。这场 7 年半的长跑里,我确实学到了很多:我观察到了创始人前辈们是怎么做事情,怎么思考商业,怎么设计产品的。
美国公司真的是在创业之初规模还很小的时候,就抱有改变行业、改变世界的雄心壮志。
我和团队一起设计产品、招聘团队、做编码、做开发……
刚加入公司时我是技术经理,一步步做到了整个公司主管技术的 SVP 兼中国区总经理,基本上也做到头了。这时,新的机会正好又来敲门了。
在 LinkedIn,打造本土职场社交平台
2015 年初 LinkedIn 入华不到一年时间,中国区总经理 Derek Shen 找到我,提出了他的想法:用全新的架构、团队和产品策略做本土创业的新产品,打破跨国公司在华发展的魔咒。
为此,他希望找一个既有海外公司经验(毕竟要跟美国人打交道),还具备创业激情和经验的人。正好我的经历符合他的标准,就这么加入了领英中国。
我加入领英中国时,公司在国内还没有任何产品、技术研发的团队,产品的基础架构和设计也全都没有。
在五个月内,我们又是从 0 到 1 的招聘团队、设计产品、搭建基础设施,开发测试到最后上线,做出了一款本土职场社交产品:赤兔。
在 LinkedIn 的这 3 年,我收获了:
- 第一次尝试 To C 产品。
- 研发的是针对本土用户的产品。这是我当时职业规划里非常确定的一步,希望做跟本土市场相关的事。
加盟独角兽,成为 CTO
2018 年初,本图民营企业自如宣布完成了 40 亿人民币的 A 轮融资,全面发力产品技术研发,并开始寻找一位 CTO。
经人推荐,我有机会和 CEO 熊林做了深入交流,在理念、愿景高度一致的情况下,最终决定加盟自如。因此今年 5 月,我终于回到了本土民营企业。
CTO 到底要做些啥?聊聊 CTO 的角色定位
我们来看看企业中的 CTO 是一个什么样的角色,给有志于此的同学一些启示:
产品技术专家
首先 CTO 得在某些领域(最好不止一个)有特长。既然已经到了 CTO 这个位置,遇到的问题往往不止一类,对要处理的问题要有基本的判断能力。
研发战略的决策者
或者叫决策发起者。开始可以带领大家一起 Brain Storming,但是最后要 CTO 做决定。这一点在创业型公司尤为重要。
当年我做赤兔的时候,最难的事情不是在那五个月里面加了多少班,封闭开发,或者带团队。最难的是,在时间有限的情况下做决策。
很多时候我面临的情况是,几种选择都不能保证正确,但是时间有限,大家等不了。这种时刻 CTO 就必须决定,产品向哪个方向发展,把资源投向哪里。
而决策的依据,有些是需要经过长期的积累和思考获得的,另一些则需要通过读书、和人交流去积累。
研发团队的 Leader
任何项目都不是一帆风顺的。在团队面临压力,产品出现波动的时候,需要有 Leader 带领团队往前走。这件事会占据 CTO 日常工作的很大部分。
比如,我多年来都坚持和向下两级的下属保持定期的 One-One(一对一面谈),一般是 45 分钟到一个小时,至少每个月一次。
公司产品技术的代言人
作为 CTO,当别人问到公司有关产品的技术问题时,不管了解到什么程度,都得去讲。无论对内对外都是如此,可能对内的沟通更重要。
因为一般技术团队相对偏后台,很多业务、营销团队都在面对用户,CTO 需要用产品和技术的知识去赋能他们,帮助他们拓展市场。
CTO 的使命
现在来说说 CTO 的使命,我认为主要有以下几点。
开发好的产品
每个人对「好的产品」的定义可能都不同。我认为,好产品首先要有价值,无论它的目标用户是内部员工还是外部客户。
当然任何产品都不是第一天就能“好”的,都需要细细打磨,所以 CTO 在产品日常开发方面要投入较多精力,参加产品的讨论。
推进新技术的开发与应用
作为技术企业,我们都希望自己的产品和技术能够与时俱进。这就要紧跟新技术并应用到产品、项目中去,这是需要 CTO 来推动的。
其中的挑战是,如何把握新技术的成熟度、风险以及应用之后可能获取的收益。这里举个我的亲身经历。
2007 年下半年我在 FreeWheel,我们开发第一版数据后台时,就用到了刚刚发布的 Hadoop 0.1 版。
当时 Hadoop 刚从雅虎开源社区分离出来,还很不稳定,但是我们还是大胆采用了这个框架,基于它开发了第一版的 MapReduce ETL 系统。
后来过了大概一年半,我们用自研的 C++ MapReduce 系统替换了 Hadoop,主要是因为我们的业务发展到了一定规模后对性能的要求提升了,而当时 Hadoop 的性能不够好。
技术采用中经常会有这种现象,架构要因时而用,因时而适应。
有意思的是,我离开 FreeWheel 两年后,我原来的团队又着手用新的 Hadoop 系统替换了自己研发的 C++ 版本。
技术变迁的过程,就是不断地拥抱变化,抛弃和接受的过程。
吸引和培养优秀的人才
怎么把各种各样的人用好,如何吸引大家优势互补,是挺有意思的一件事。大家可以在这方面去做一些思考和练习。
有本书叫《现在发现你的优势》,英文叫《Strengths Finder》,里面有个测试可以测每个人最大的 5 个优势(西方讲究要用人所长,而不是补他的短处)。
这些年我在公司里,都会让直接汇报给我的同学去测他们各自的优势,这也是一个有意思的一对一讨论话题。
有一种特殊的人才,可能有某一个专长非常厉害,但是 ta 也有非常明显的缺陷。
这样的人才你敢不敢用,能不能用好?曾经有句话讲「偏执狂才能生存」。我经历的团队里都有这类人才。
打造高效的组织,营造研发文化
每个企业都在讲「企业文化」,但真正让人感觉有文化特色的企业并不多。很多企业要不就是散养,要不就是管得太严。
团队的文化和组织的效率之间有一定的联系。打造一个什么样文化的研发团队,是 CTO 要思考的。
我个人的体会是:研发团队需要建立相对独立的文化,可以和公司其他团队稍有区别,但是大方向上还是要一致的。不能太特殊,但是又要有一定的特殊。
从人力资源管理的角度上来说,要让员工高效工作,首先要解决意愿的问题,其次是能力的问题。
以我所在的团队为例,不论是之前的外企还是现在的自如,我们都在广泛使用 OKR(Object Key Results)绩效管理工具。
每个季度,团队的每个成员都需要设定清晰的目标,当然这个目标 Leader 一定要跟员工本人商量。
目标的设定至关重要,直接关系到意愿和方向的问题。目标管好了,后期再辅以激励,或者管控的措施,最后做绩效评估的时候才有据可循,大家才会觉得公平。所以我们会花相当多的时间去讨论目标。
在 OKR 的制定当中要运用 SMART 原则:
- 具体(Specific)、定量可衡量(Measurable)。
- 够一够能够得着的(Attainable),不能太高,也不能太容易达到。
- 相关的(Relevant),跟个人和公司目标相关。
- 最后要有时间限制(Time-bound)。
发动团队破解难题
每个企业都会遇到急难险重的问题,这时候 CTO 作为技术团队的 Leader,要第一时间带领团队去解决。
这里分享一个例子,是在我的第一份工作——网络安全创业公司的时候发生的。
因为当时开发的安全产品是涉及到保密系统和单位使用的,对质量的要求非常高,而且当时软件安装的环境是不能连接公共互联网的。
当出现问题后,只能通过电话和客户联络,客户用自然语言去描述出了什么问题,连截图都没有。所以破解这类技术支持难题还是挺难的。
有些可以远程电话解决,有些可能要去现场,有些可能要想办法重现环境。我有很多次都是带着团队一起冲过去解决这类问题。这其实是团队成员所希望看到的。
CTO 的技能包
我们再来看看作为 CTO 需要的技能:
技术的宽度和深度
CTO 应该是「T字型」人才。技术宽度上,前端、后端、数据库、移动端的各种问题多少要听说过;深度则是需要在某些(最好不止一个)领域有比较权威的知识,在团队里应该是技术最好或者经验最丰富的。
比如我,我感觉我有两点吸引了自如 CEO:
- 我做过媒体广告管理,本质是一个 ERP 系统。虽然当时管理的是数字资产,但和自如管理实体资产的 ERP 在本质上还挺像的,也就是说这种复杂的 To B 商业流程我是有深度经验的。
- 我做过 To C 的移动端产品、社交平台。这又和自如现在 To C 的客户端,以及在尝试中的社区产品不谋而合。
从 0 到 1 的产品经验
成为技术团队领导者之后,我特别感谢第一份工作——那个非常小的民营创业公司——它使我在职业生涯刚开始的时候就有机会亲手操刀从 0 到 1 做一个产品。这和中间去接一个项目,做迭代式更新的挑战是不一样的。
从长期职业发展来看,我非常推荐大家至少有一次这样的产品经验,它带给你的收获和做从 10 到 100 会非常不同。
解决复杂问题的经验
读研的时候学过一门课叫「最优化算法」,那个时候就给我建立起这样的概念:世界是复杂的,有时候要做出局部牺牲,放弃局部最优解,才有可能找到全局最优解。
还有的时候,全局最优解你可能永远都找不到。这和我们的人生,包括创业有些相似之处。
复杂系统的经验带来的好处是:如果有机会挑战复杂系统,之后你看问题的视角、解决问题的经验会提高一个档次——这也是大型科技公司看重的地方。如果从来没有解决过复杂的问题,在这方面是有所欠缺的。
理解业务
做技术的人大部分是学工科的,缺少人文社会、商业等方面的科班训练。
我也是学工科的,但是现在越来越感觉到人文、商业知识的重要。世界变化这么快,光靠努力是不够的,很多时候要做选择。
而选择其实是基于对商业模式的理解和思考的。既要看得远又要脚踏实地,脚下带泥。
管理能力和领导力
管理没有对和错,只有适合或不适合。这种能力是要慢慢修炼的。经历了这些年的经验,我有一个简单的总结:管理一定是可学的,同时就像德鲁克讲的,管理的核心不在于知,而在于行,唯一衡量它结果的就是绩效。
对研发流程和工具的掌握
现在除了特别小型的公司,大家都会用敏捷开发方法,用这样那样的流程框架管理项目,推进研发。工具化、流程化的普及水平已经非常高了。
这和十年前的 IT 互联网行业、软件行业的现状很不一样。作为团队领导者,一定要知道这些。
创新思维和方法论
现在越来越多技术的基本开发门槛降低了,包括 AI 未来可能都会平台化。但是有些东西很难被替代,会形成竞争壁垒,创新思维就是其中之一。
创新是有方法(套路)的,也可以叫做工具箱。创新思维和方法,比较有名的就是克里斯坦森写的几本书:《创新者的窘境》、《创新者的解答》,里面对创业包括创新有些系统的描述。
《精益创业》、《创业维艰》等书里面也都提到了许多创新企业探索的方法。
原来迅雷的创始人程浩最近在 36 氪和混沌大学上分享他的创业创新的方法论,大家也可以找来看一看。
职场人脉
随着社交网络的发展,职场人脉在未来会越来越重要。这方面的工具和平台都是现成的,微信、领英、脉脉之类,都可以去用。
但是工具只是工具,我们需要把握职场人脉建立的核心:职场社交是一种价值型社交,大家需要提供互相价值。毕竟都是陌生人,你到底能帮助别人做什么?
所以在拓展职场人脉的时候,你先要思索「我能带给对方的价值是什么」,然后再来开启对话。
工程师的个人成长
在此分享一些我的工程师生涯中的经验和体会:
从工程师到管理者的角色转变
很多工程师从技术专家变成技术团队领导者的时候,都会遇到一个问题:突然不知道该干什么了。
Ta 感到惊慌失措:「我原来把自己的事做好就行了,现在突然有了 10 个 20 个人要管,都不知道每天时间该怎么分配」。这种惶恐和彷徨我也经历过,现在回头想想,其实也是有套路的。
管理学家亨利·明茨伯格有一本经典著作《管理工作的本质》中讲过的管理者角色理论——管理者兼顾三个方面的十种角色(见下图),只要安排好自己在这十件事情上该花的精力就好。
把该做的事情有计划地管理起来,就不会觉得慌,然后用 OKR 去考核,就会看到实际效果。
很多人因为没有经过这种训练,只好本色出演——自己觉得该干什么就干什么,结果还是干以前当工程师的那些事儿。
成为好的领导者,是要从本色出演变成专业出演,明确自己作为管理者的职责,清楚组织出现了什么问题,并知道这时候需要自己扮演什么角色。逐渐训练自己往职业化方向去发展。
可以从一些小事做起,最简单的:学会组织会议,什么是有效的会议;学会写邮件,什么是好的电子邮件,如何有效地去撰写等等。
这方面网上都有很多总结,还有书籍专门讲解,大家可以去看。
日程的管理
要成为优秀人才,就要保持一个好的工作习惯,用日历管理时间。
我现在时间管理以半小时为单位,把每一项工作管到半小时的时间粒度,可以比较有效地利用时间。
社交媒体礼仪
社交媒体礼仪其实也是职业化的一个体现,虽然很多人还没意识到这一点。
比如说用微信和别人发消息,我找比较忙的人帮我的时候,会用简短的文字,一句话告诉 Ta,我想求他做的事情。而不会先寒暄一番,发个「Hi」,「在嘛」之类的。
人家正在忙的时候,可能很窘迫,Ta 想知道你到底要问什么,这就是社交媒体礼仪。
尊重不同
不同,又称多样性(Diversity)。事实有真假,观点无对错。美国尤其是硅谷的公司特别强调这一点。
慢慢地,越来越多 90 后,95 后的小朋友加入团队,真的不能再用过去传统的方式来管理。尊重不同其实也是一种职业化的体现。
重视细节
有些小失误在工作中一定要避免,比如失信、迟到、打扰等等。把小节做好,对于职业发展也是很有用处的。
王迪,现任自如 CTO,曾任领英(LinkedIn)副总裁、赤兔技术创始人、FreeWheel 高级副总裁及中国区总经理。清华大学计算机硕士,持续创业者,天文发烧友,长跑达人。