不想做将军的士兵不是好士兵,这句话可以有很功利的理解方式,对应到我们自己很可能是:不想做CTO的程序员不是好程序员!几年前对这句话的理解与现在有很多不同,因为我现在已经是一名中小型公司的CTO了,这句话真实的理解方式其实应该是:我们每个程序员要有远大的梦想(理想),这个涉及到我们的格局,只有格局足够高了才能走的更远,如韩信受胯下之辱而不怒为例就是,后面受委屈的时间多着呢,忍得住才能走的更远,看得到远方也就不会为如今的愁苦困扰了,所以来个佛系三连:随便吧,就这样,也可以。

  一般来说,中小型公司(好的创业团队),研发人员基本为50-100人的配置,原则上不会让CTO统管产品、UI、运营等,如果你看见一个公司CTO会统管以上一切,很有可能他是产品出生、市场出生、运营出生、销售畜生,但就不会是技术出生,这个角色真正的称呼是COO。我这边团队大概在80人左右,也会有自己的产品,但是公司级业务都是统一的产品团队在握到手里,有时候老板是最大的产品经理,有时候市场是,更多的时候还是产品自己是,各个部门都有一个太极阴阳平衡在里面,如果这种平衡失衡的话,公司一般来说是走不远的,这里后面有章节会介绍到,这里不赘述。

  这个是CTO并不是终点系列,大家已经可以猜到,其实后面更多的是自己工作中的一些吐槽,或者说一些经验。人嘛,都需要一个发泄总结的平台于是便拿起了我这个尘封已久的账号,发点心得体会,反正没人知道我是谁,是否被喷,得失荣辱也就不重要了,下面逐一讨论,先来聊聊中小公司的CTO大概是些什么人吧。

  大公司的骨干

  一般来说,中小型公司的CTO,水平相当于阿里的P8左右,技术扎实,在某一个领域有自己的一块自留田,但这并不能说一个P7就一定能做CTO,有时候中小公司的CTO去阿里也到不了P8。大公司出来的工程师,以P7为例,进入一个团队,如果那个团队不是太差,一般来说招这样的人至少目标是让他做leader的,但稍微有点经验的负责人会让他做架构师观察一阵子,还真不是所有技术好的都能做leader,有时候能力越大,造成的伤害越大。因为每个人都有自己专精的一块领域,走出来其他的就恼火了,比如我是后端出生,对前端还有所了解,但是一旦涉及到了Native、Hybrid等就要开始头大,而前端又变得死快死快的,今天一个Vue,明天一个React,完了多平台产品Weex或者微信小程序平台各种爆炸,如果没有一个好的前端架构师(leader),根本扛不住;另一方面,前端出生的负责人,又会在后端程序拆分、业务梳理陷入困境,所以必须要一个相辅相成的人出现,才能弥补团队的不足。当然,我也认识一些大神,属于全通的类型,但是这些大神可能舞台就不是中小型公司了。

  一旦成为leader后,因为本来在自己领域其实就没有太多的窒碍了,你会越发的发现,为什么前端能做的是这么少?为什么服务器那么多问题不能解决?为什么Native能做的事情这么少?好一点的leader,在这个时候之前大公司的大格局、工程化、服务化等等思想就会燃起来了,如果本身执行力以及资源协调能力足够强的话,便会推动着整个研发团队往前走。这里必须强调的是强执行力以及落地能力,因为你如果出生前端那么这一波刷完,团队尝到甜头后,一定是前端团队会占据研发部门的主导地位,后端团队亦然。这里就非常体现两个方面的能力:

  1、跨部门协调能力、跨部门资源统合能力

  2、大局观,要懂得让利,要懂得分账,要懂的互相成就,特别是成就他人

  要做到这一切,需要你本身就很强(这里的积极性、态度什么的仅仅是个基础罢了),更重要的是,需要你口碑很好,至少人家要认可你,如果得不到其他团队的支持,一般来说什么事情都做不成的。

  好了,经过一轮刷存在感,并且真真实实的贡献,那么可以恭喜你了,中小团队没有那么多人才,也可以说,刚刚进入团队你就会发现身边的人单个看起来都还不错,但是合到一起为什么就是那么平庸,在这些平庸当中,你就说卓尔不群的,正常的情况下,该升职了,运气好就会成为总监之类的职位,后面持续努力的话,早晚成为实际的研发负责人,也就是CTO了。

  这里也有小伙伴说,一个萝卜一个坑,之前的CTO不走,你凭什么上位,其实真实的情况是,你的公司如果发展的不错,会有很多不错的子公司逐渐出现,而你从员工(架构师)到leader、从leader到中层干部(总监),正常速度都得一年半以上时间,而且这里请各位小白注意,这里是P7(最少优秀P6)的情况下,都得在公司打拼一年多的时间才能到中层,你在总监职位后信息量会有极大的不同,而且可以接触到最高管理层CEO的机会会大幅度增加,而你能做到中层必定本身实力不会太有问题,那么这种口碑便是你之后做CTO的关键了,还是那句话,你上位得多数人服气,就算是不喜欢你的人,都得服气。关于空降等话题,我们在后面继续展开,本篇不讨论。

  讨厌的人事物开始出现

  经过一连串的血拼,你杀出重围,做上了心爱的CTO职位,本以为可以高高兴兴庆祝登顶,但不好意思,你往往会发现:你所认为的结局可能只是一个开始。

  CTO难做,初期尤其难做,这种难做不仅是事情难做,更多的时候是心理难受,那真的是很难受啊!

  当我们做前后端或者Native开发的时候,往往只会关注自己这层,做前端的最多吐槽下后端接口傻逼,有点推动精神的就会想要去优化这一切;当我们做有理想的leader的时候便会更多的帮助其他团队、而当我们做总监的时候,我们会发现,尼玛为什么其他部门那么蠢???

  有些时候真的想用蠢来形容,跳出了研发的圈子,产品、UI、运营等部门会越来越多的接触,于是不省心的事情会接连发现,而每个公司每个部门绝对会有同一种情况:

  为什么公司会有那个毒瘤?

  对的,你没有看错,每个公司乃至每个团队都一定会有几个毒瘤,这里毒瘤一定会有一些共同的特点:

  1、强势,在工作上除非他需要求你,否则不会给你留面子,有时候他要求你也不会给你留名字,说话很生硬;

  2、小公主(绝不只是女人,有时候甚至是老板),睚眦必究,需要你哄着我,你不哄着我我就给你穿小鞋;

  3、纯傻逼+马屁精(HR居多),不做评论

  之前有人用了一张图表示彼此之间的关系:

  

  在中小公司来说,CTO眼中的真实想法可能不是这样的,会有所不同:

  你会发现,你可能不被所有部门喜欢,同时你也不喜欢所有部门的负责人,正常情况下,各个部门的负责人都是严格筛选上来的,这些人都是人精,而这些人中有两种人最让人讨厌:

  1、强势的人(一般来说,强势的人自带小公主光环),虽然被所有的人不喜欢,但没人想惹。

  2、老板最喜欢的马屁精,没人敢惹。

  所以呢,出了研发的圈子,你就需要跟所有的以上打交道,而且这些人普遍是不认可你而你也不认可的人,你的资源统筹能力或者强执行落地能力一出了自己团队变得毫无意义,这里的两个主要原因是:

  1、目标不统一,你的目标不是我的目标,我为什么要成就你。

  2、主导性,这个事情可以做,但是需要我来主导。

  目标问题,需要CEO做很多工作都未必能达成一致,主导权这个东西更是谁都想摸一下,一般来说,我们总会高估自己,至少是局部高估。而部门负责人一定都是各种信息量很大的人,知道各个部门的一些问题,这个时候一些想做事的部门负责人往往会陷入,信息量与能力不对等,知道的太多,能做的太少,就会陷入极度忧虑。

  里面特别是胡乱强势+小公主组合,会极大的破坏部门之间的正常交流,导致业务停滞不前,这种消磨与内耗便是痛苦的根源,你要做事还需要去讨好各种小公主才能继续做事,那么便是真正受挫的开始,这个时候就要时刻念叨韩信韩信韩信,期待能解决问题了。

  更让人受挫的是,我们总会以为这个人情商低,哪个人蠢,有时候也在念叨,如此之人怎么可能成为这个职位的负责人,但是不要惊喜,不要意外,公司就是会存在这种人,各个职位都会出现,总有这样那样的契机让这种人出现在那个关键的职位,就算现在不出现,以后也一定会出现,当你在抱怨的时候,可能其他人正在抱怨你。

  而职位越高,性格所带来的缺陷会越大,这种破坏力也就越大,整个这一切是无解的,想要走的更远,就必须接受你自己可能是个傻逼,你需要跟各种小公主共事的事实,所以,与君共勉吧。

  下篇待续......

【也许CTO并不是终点开篇】CTO也只不过是CTO罢了的更多相关文章

  1. 也许CTO并不是终点——没有净土

    开篇 不想做将军的士兵不是好士兵,这句话可以有很功利的理解方式,对应到我们自己很可能是:不想做CTO的程序员不是好程序员!几年前对这句话的理解与现在有很多不同,因为我现在已经是一名中小型公司的CTO了 ...

  2. CTO是有门槛的 我眼中真正优秀CTO应具备五大素质

    最近几个月,不断有人找我推荐CTO人选,这两年互联网创业和创投实在是太火爆了,全民创业,创业项目井喷,一下子发现CTO不够用了,全行业缺CTO,到处都在找CTO.说实话,我自己也没有CTO存货,CTO ...

  3. 对话 CTO〡用声音在一起,听荔枝 CTO 丁宁聊 UGC 声音互动平台的技术世界 原创 王颖奇 极客公园 2018-12-01

    https://mp.weixin.qq.com/s/jfHFXZpzbAEbHKkCMSev6w 对话 CTO〡用声音在一起,听荔枝 CTO 丁宁聊 UGC 声音互动平台的技术世界 原创 王颖奇 极 ...

  4. 极光推送CTO黄鑫:技术人员要建立自己的知识图谱

    本周,我们邀请到了极光推送CTO兼首席科学家黄鑫进行人物专访,在展示风采的同时,也分享会员们对技术.对工作.对人生的感悟.       扎实的底层服务是扩张关键 极光推送是一个做第三方云服务的公司,在 ...

  5. 如何成为一名合格的CTO?(转)

    不会走出去公众演说的的攻城狮不是好CTO. 本文来源于微信公众号“线性资本”(ID:LinearVenture) 成为一名合格 CTO 我们投过很多技术型的公司,对于什么是合格的 CTO 有过自己的一 ...

  6. [转] 从知名外企到创业公司做CTO是一种怎样的体验?

    这是我近期接受51CTO记者李玲玲采访的一篇文章,分享给大家. 作者:李玲玲来源:51cto.com|2016-12-30 15:47 http://cio.51cto.com/art/201612/ ...

  7. 我眼中真正优秀的CTO

    该文转自“肉饼铺子”.作者robbin是前JavaEye网站的创始人,TOPITCLUB互联网俱乐部发起人.  原文链接 现在进入正题,最近几个月,不断有人找我推荐CTO人选,这两年互联网创业和创投实 ...

  8. CTO 之“六脉神剑”

    他深谙电商之道,从零打造 1 号店网站及供应链系统,以技术引领业务发展.他是欧电云创始人韩军,下面将由他分享完美 CTO “六脉神剑”的经验之谈. 首先,从对 CTO 的一个认识误区讲起. 不写代码的 ...

  9. 叶亚明:合格CTO的六要素(转)

    叶亚明,携程旅行网CTO & 高级技术副总裁,负责携程的移动.Online.呼叫中心等的技术架构.开发及运营.在加入携程之前,叶亚明是ebay.com技术平台总监,领导ebay.com几代网站 ...

随机推荐

  1. Uva - 210 - Concurrency Simulator

    自己写个双端队列,或者直接用deque,这个也比较好用 AC代码: #include <iostream> #include <cstdio> #include <cst ...

  2. hive中与hbase外部表join时内存溢出(hive处理mapjoin的优化器机制)

    与hbase外部表(wizad_mdm_main)进行join出现问题: CREATE TABLE wizad_mdm_dev_lmj_edition_result as select *  from ...

  3. 【一天一道LeetCode】#98. Validate Binary Search Tree

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  4. Java 8新特性探究(五)Base64详解

    BASE64 编码是一种常用的字符编码,在很多地方都会用到.但base64不是安全领域下的加密解密算法.能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使 ...

  5. TCP的定时器系列 — 零窗口探测定时器

    主要内容:零窗口探测定时器的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 出现以下情况时,TCP接收方的接收缓冲区将被塞满数据: 发送方的发送速 ...

  6. Linux多线程实践(10) --使用 C++11 编写 Linux 多线程程序

    在这个多核时代,如何充分利用每个 CPU 内核是一个绕不开的话题,从需要为成千上万的用户同时提供服务的服务端应用程序,到需要同时打开十几个页面,每个页面都有几十上百个链接的 web 浏览器应用程序,从 ...

  7. C#之面向对象

    话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是晏众文武,在酒席间,曹操诗兴大发,不觉吟道:"喝酒唱歌,人生真爽" ...

  8. 关于使用Xcode自带的单元测试UnitTest的介绍

    什么是单元测试? 单元测试就是为你的方法专门多写一个测试函数.以保证你的方法在不停的修改开发中.保持正确.如果出错,第一时间让你知道,这样从最小单位开始监控来保证软件的质量. 什么时候用到单元测试: ...

  9. AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能

    在AngularJS应用中集成百度地图实现定位功能 注:请点击此处进行充电! 前言 根据项目需求,需要实现手机定位功能,考虑到百度业务的强大能力,遂决定使用百度地图第三方服务. 添加第三方模块的步骤与 ...

  10. StarUML配置Word生成文档模板

    来源:fasiondog 许多UML建模工具可以自动生成文档,让需求人员.开发人员专心于需求.设计的建模.当然为了能够生成符合自己要求的模板,需对建模时的目录结构(模型和包)有所规划和要求,否则很难生 ...