为什么CTO、技术总监、架构师都不写代码,还这么牛逼?( 二 )


小结一下 , 技术经理的职责是:
1、开发任务分派 。开发工作量评估、分派 , 最大化资源利用率;
2、代码质量提升 。Code Review、编码规范、线上bug分析;
3、项目管理 。确保项目的按时交付 , 建立管理机制;
4、团队管理 。团队搭建、人员招聘、人员培养 。
 
第三阶段 , 技术总监技术规划、多产品线、项目群管理
当技术团队发展到30人左右 , 有了多条核心产品线、有了多个技术经理时 , 就需要一个技术总监了 。
技术总监 , 作为领域专家 , 站在更高的层面思考技术如何建立壁垒 , 构建技术竞争力 。逐步开始建立公共技术平台 , 协调多条产品线在统一的技术平台上快速迭代 , 让产品线跑得快、跑得稳 。
技术总监 , 在领域内有多年沉淀 , 来自知名互联网企业 , 能够把技术团队带上一个新的台阶 。技术总监 , 更多是做技术判断了 , 也有些技术型的技术总监仍然会写些核心代码、做架构设计 。
技术总监的职责:
1、搭建公司技术平台部 , 统一技术栈;
2、建立产品研发体系 , 让技术团队可持续性地快速交付;
3、管理和协调多条产品线 , 打造明星产品;
4、建立技术壁垒 , 形成技术竞争力;
第四阶段 , 架构师架构设计、架构实现、架构评审
公司如果“跑到”了B轮 , 技术团队应该要接近百人了 , 此时的技术团队跟初创时期相比 , 已经很不错了 。
有技术总监协调着各产品线 , 有开发经理带领技术团队快速迭代产品 。代码规范、最佳实践的总结和推广也在逐步开展 。
此时 , 需要把架构规划和架构评审的职能从技术总监和开发经理身上剥离 , 即分离专业岗和管理岗 , 专业人做专业事 。
这时候就需要设立架构师岗位 , 专注于技术架构分析、架构设计、架构实现、推动重构、推行架构原则等工作 , 让技术总监和技术经理侧重在项目管理、团队管理 。
架构师的职责是:
1、业务架构设计和实现 。根据业务规划和应用场景 , 设计切合当前业务要求 , 并且具备一定前瞻性的应用架构、类、接口、业务抽象及业务建模等 。
2、架构设计和实现 。识别非功能性需求 , 如性能、可扩展性、安全性、高可用及易部署等 。
3、重构计划及执行 。关注全链路监控数据、线上bug、系统预警等信息 , 识别架构缺陷 , 提出重构建议并推动执行 。
 
第五阶段 , CTO技术产品战略规划 , 提升技术竞争力
当技术团队有了几名总监、架构师 , 人数达到几百人 , 是时候引入真正意义上的CTO了 , 除非CTO是联合创始人 , 否则这个CTO会有“虎落平阳”的感觉 , 公司也会觉得这个人“满嘴跑火车 , 却落不了地” 。
国内的中大型互联网公司 , 一般有产品VP和技术VP , 有的技术VP就是CTO 。如果CTO统管技术和产品 , 那么产品VP就给CTO汇报 , 否则他们是平级的 。
在国外 , CTO主要研究3~5年的技术发展趋势 , 为公司做中长期的技术规划 , 是具有行业影响力的技术大咖 , 公司技术领域的精神领袖 。CTO较少关注当下的具体事务 , 这类工作主要由工程副总裁们处理 。
以国内互联网公司CTO为例 , 总结一下CTO的主要职责:
1、技术赋能商业 。敏锐的商业洞察、深入的产业研究、参与公司战略规划 , 技术引领业务增长 , 通过技术和产品实现战略落地 。
2、技术趋势研究 。思考未来3~5年的技术发展趋势 , 以及新技术发展给企业带来的机遇和风险 , 为企业提前布局 。
3、技术治理体系 。持续的过程改进、高效的研发流程、稳定的交付质量、高可用的系统 。
4、组织与文化 。建设学习型组织、自我完善型组织 , 建立符合企业特色的文化氛围 。
结语最后 , 不想当CTO的程序员 , 不是好骑手 。从程序员到CTO的成长过程 , 需要不断提升技术能力、产品能力、项目能力、管理能力、商业视野、个人影响力、行业人脉等等 。除了自身的奋斗之外 , 机会和运气同样重要 , 而且是可遇不可求的 。但是 , 梦想还是要有的 , 万一见鬼了呢 。


推荐阅读