常常会被问到这样的问题:CTO、技术总监、架构师很少写具体代码 , 为什么还很牛逼的样子 , 拿这么高工资?
其实 , 这个问题本身就错了 。就好比问:导演、制片人为什么不懂演戏 , 还能指导演员 , 好像比演员厉害似的?其实不难理解 , 导演、制片人的核心能力并不是演戏 , 又怎么能跟演员作比较呢?
回答前面的问题 , 逻辑也是一样的 , 拿CTO、技术总监、架构师 , 跟程序员比写代码的能力 , 本身就是个错误 。因为 , 他们的核心能力是不一样的 。
CTO、技术总监、架构师的核心能力是技术判断力 。简单来讲 , 就是判断一个项目、一个系统架构、某个技术方向 , 是否符合企业当前现状 , 是否对企业的未来产生价值 。
程序员的核心能力是写代码的能力 。就是做具体的代码实现 。
所以CTO/技术总监/架构师 , 跟程序员的核心能力 , 是完全不一样的能力 , 是没法作直接比较的 。
通常我们说 , CTO、技术总监、架构师们很牛逼 , 指的是他们的技术判断力牛逼 , 而不是他们写代码的能力牛逼 。相反 , 他们写代码的能力可能还比不上一个资深程序员 。
但是 , 他们所做的技术判断 , 给公司带来非常高的价值 。比如 , 阿里云创始人王坚博士 , 在所有人反对的时候 , 他坚持云计算是未来 , 帮助阿里提前布局云计算 , 为阿里成长为万亿商业帝国 , 立下汗马功劳 。这就是技术判断力 , 给企业带来的巨大价值 。
大家之所以都很容易混淆这几个角色 , 以及它们的职责 , 其实很重要的一个原因就是 , 人们常常把CTO、架构师、技术经理的头衔 , 乱授予技术负责人 。在国内这种现象尤其严重 。
比如 , 一个初创公司的技术负责人 , 实际干的活就是个技术经理 。老板为了显得高大上 , 硬要给他安一个CTO的头衔 。这种情况很普遍 , 特别是全民创业的那几年 , 遍地都是CTO 。
为了说清楚技术负责人的职责 , 我们以一个电商公司的成长为例 , 讲解企业在初创期、发展期、成熟期的不同阶段 , 都需要什么样的技术负责人 , 以及他们具体都干些什么 。
第一阶段 , 高级程序员实现复杂功能 , 解决技术难题
一个刚刚起步的创业公司 , 通常只有几个程序员 , 甚至连产品经理、项目经理都没有 , 老板自己就是产品经理 , 把想法跟开发人员一说 , 就快速地做出原型 。
如果这个阶段对开发的能力不满 , 那么大概需要的只是一个高级开发人员 , 他能搞定一般的技术难题 , 实现复杂功能 , 思路清晰、干活利索 。千万不要去大厂挖个技术总监 , 你家庙太小 , 供不起这么大的神 , 他真来了也发挥不了应有的作用 。
老读者知道 , 老K有过一段创业经历 , 当时追随我的老领导出来创业 , 我就是名义上的CTO , 带了7、8人的团队 , 我还同时带了两个项目 , 每个项目里我都贡献了30%以上的代码量 。其实 , 当时的我 , 就是个高级程序员而已 。
小结一下 , 高级程序员的主要职责是:
1 , 实现复杂功能 , 编写核心代码;
2 , 处理线上bug , 解决技术难题 。
第二阶段 , 技术经理交付效率提高、质量提升
当公司的业务发展起来后 , 就需要一支相对完善的技术团队 , 有了专职产品经理、测试人员等 , 团队规模在15人左右 , 专注于一条产品线 。
复杂功能、技术难题 , 高级开发人员可以搞定 , 但是如果要解决开发团队效率、技术人员能力提升、代码质量和编码规范等 , 就需要技术经理了 。技术经理通常写少量的代码 , 更多做技术管理、项目团队等工作 。
这就是许多创业公司A轮融资前的情况 。由技术经理总体负责技术团队 , 产品经理对接业务需求 , 做产品规划、竞品分析 , 而不是抄袭哪个App 。
推荐阅读
- 查看、分区、格式化、挂载 Centos挂载硬盘
- 防火墙基础与配置
- 朱元璋为何不让朱棣继承大统 朱棣为什么没有继承皇位
- 曹操原配丁夫人为什么被废
- JS排序算法:冒泡、选择、插入、归并、快速、希尔、堆、计数
- 为什么会爱上一个不爱我的人-喜欢上一个不爱你的人-_1
- 为什么叫毛利?毛利是什么
- 刘邦为什么不废吕后 吕太后是刘邦的什么人
- 明朝皇帝朱祁钰为什么没葬入13陵 朱祁钰葬在皇陵了吗
- 胤祥为什么被圈禁十年 历史上胤祥被圈禁过吗