不想做将军的士兵不是好士兵,这句话可以有很功利的理解方式,对应到我们自己很可能是:不想做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. 调试bootmgr&winload vista&win7 x86&x64

    设置调试bootmgr 1.以管理员权限运行cmd.exe 2.执行以下命令 3.  参照我的另一篇文章<win8 + vmware + windbg 双机调试 >中的第1.3步,建立wi ...

  2. Linux多线程实践(5) --Posix信号量与互斥量解决生产者消费者问题

    Posix信号量 Posix 信号量 有名信号量 无名信号量 sem_open sem_init sem_close sem_destroy sem_unlink sem_wait sem_post ...

  3. 【leetcode74】Sum of Two Integers(不用+,-求两数之和)

    题目描述: 不用+,-求两个数的和 原文描述: Calculate the sum of two integers a and b, but you are not allowed to use th ...

  4. android universal image loader 缓冲原理详解

    1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL ...

  5. android 签名

    (1)Android Studio菜单Build->Generate Signed APK (2)弹出窗口 (3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过)    ...

  6. mongoDB常见的查询索引(三)

    1. _id索引     _id索引是绝大多数集合默认建立的索引     对于每个插入的数据,MongoDB会自动生成一条唯一的_id字段. 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  7. Spring揭秘 读书笔记 五 容器的启动

    Spring的IoC容器所起的作用,就是生产bean,并维持bean间的依赖关系.它会以某种方式加载Configuration Metadata(通常也就是XML格式的配置信息),然后根据这些信息绑定 ...

  8. 69个Spring面试题

    Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring ...

  9. Swift基础之UITableView(之前写的知识点都是最新的2.2版本样式,欢迎大家参考,可以相互交流)

    //这里只是列举了经常使用的UITableView的属性和方法,其他的都可以类似使用,注意用法即可     //设置全局变量UITableView     var myTableView = UITa ...

  10. 通过COM组件方式实现java调用C#写的DLL文件

    转自这里 最近一段时间单位在做一个Web项目,工程师用JAVA语言,需要公用人员信息,统一用户名和密码,原有的平台中是用C#语言开发的,在网上查找解决方法,通过JAVA调用C#的DLL文件实现.网上资 ...