这是一个很是敏感的话题,每次谈论到技术总监要不要写代码的时候,总会引发一片争论。程序员
有的程序员说技术总监若是不写代码怎么能领导好技术团队;有的说技术总监还须要写代码?若是技术总监都须要写代码的话,那技术团队有多操心呐。正反观点看起来都蛮有道理的,我也试着和你们聊聊这个话题。数据库
我感受本身仍是蛮有资格来讨论这个话题的,我有过30人左右技术团队负责人的经历、也有过管理超100多人研发副总的经验,也经历了从一个程序员到一个技术管理者身份转变的历程,因此方便从各个角度来看待这个问题。微信
任何问题抛开背景来讨论都是耍流氓。架构
好比下面这个图片,正着看的时候是一个老太太,若是咱们把手机倒过来看的话是一个小姑娘。分布式
这就是咱们看待问题的角度不一样,所展示给咱们的视角也是不一样的。优化
技术总监要不要写代码这个话题,其实也是须要看公司是什么样的背景、处于什么样的阶段、技术总监管理人员的规模来定。编码
另外技术总监只是一个统称,不少公司还会分部门技术总监、研发中心技术总监等,不一样级别也须要不一样的讨论。架构设计
首选探讨一下什么样的技术总监须要写代码,这里的写代码指的是参与到具体的编码实现。我的认为有如下 3 种状况:设计
01 技术驱动型的技术总监须要写代码blog
不少互联网公司产品,彻底是依赖技术来构建的,公司的命脉都是技术,那么这个技术总监就必定要参与到核心代码的编写中。
好比我一直比较关注的创业公司 PingCAP ,他们公司的主要产品是 TIDB,一个开源分布式关系型数据库。咱们知道开发一个高效的数据库是一个技术含量很高的事情,那么这种类型公司的技术总监必定会参与到编码中。
02 初创技术团队的技术总监须要写代码
一个创业公司的初创团队,可能公司的技术体系、技术路线、技术文化彻底都没有搭建起来的时候,一定须要技术总监参与到一线,一步步将这些内容搭建起来。
同时几乎全部的创业公司在刚开始的时候,就技术的须要程度是至关紧迫的,因此这个时期的技术总监,必定要亲自参与其中,确保核心系统功能不会出现问题。
有一个很著名的反例:
2012年的时候程维为了滴滴产品快速上线,花了 8 万找了一个外包作了一个 APP,开发出来不只体验差,还出现了耗费流量高、耗电、听不到订单、定位不许的问题,差点直接将滴滴搞死。后来张博的加盟才逐步解决了这些问题,产品稳定后才赢得了滴滴后期的大发展。
国内外的互联网公司都存在创业早期过度注重技术,认为技术能够搞定一切;创业成熟期后又过度轻视技术,致使后期问题频发。因此对技术的重视程度应长期保持一致。
03 管理十几人如下的技术总监须要写代码
管理十几人的技术总监,我的建议整体仍是须要参与到核心代码的梳理中,须要对系统的各个特性了然于胸,知道系统极可能出现的问题点,在出现问题的时候能够快速定位解决。
在这个规模的时候,若是技术总监不参与到核心代码的工做中,实际上是很难掌控整个系统的稳定性,出现问题的时候须要依赖于团队中的核心骨干来解决。
固然确定不是须要参与大量的编码工做,能够在架构设计、核心代码评审、代码优化层面来多作工做。若是这个阶段的技术总监彻底脱离代码编写工做,容易致使团队技术失控。
国内技术总监现状
在国内,大多数技术总监实际上是没有参与到具体的代码编写中的。一方面国内不多有上面所说的纯粹技术驱动型的公司,大多数互联网公司对技术的重视程度仍然很不够,认为技术只是服务于公司商业价值,从而不断的压迫技术团队。
特别是老板若是对技术一点都不了解的话,那对技术团队就是一个大灾难,可悲的是大多数企业都是这个状况,这个时候技术总监的很大一部分精力,就变成了如何向老板合理的解释清楚技术团队的工做状况,不是封闭几个月或者压迫一下就能够搞出一个完美的系统。
国内的大多数技术总监都被迫陷入不少的行政事务中,好比我曾经呆过的第三方支付公司,各类监管机构每月都会有各类检查,另外还须要处理各类外部须要文档、行政事务、外部谈判、公司会议等各类各样的琐事中。
固然这些都不是最可怕的,最可怕的是若是参与到公司的办公室政治,那不少事情就已经偏移了事务的本质,不是这个事情你要不要作好的问题,还须要考虑不少其它的因素,相似的事情最容易让人心累,耗费巨大的精力。
技术总监到底须要干些什么?
首先强调一下技术总监是一个管理岗位,因此它的管理职责远远大于编码职责,技术总监的工做更应该关注宏观、全局性的问题。
若是一个技术总监本身代码写得贼溜,团队内小伙伴代码写得一片烂渣渣,那他绝对不是一个合格的技术总监。
因此技术总监不是让本身编码很爽,技术总监的工做更应该是让团队内的成员编码很爽。让团队内的小伙伴编码很爽,其实就有不少的工做要来作。
好比构建一个有技术氛围的团队,作有前瞻性的技术选型,在业务设计、架构设计、系统架构上下狠功夫。任何团队内不太爽的工做都是技术总监的责任,好比需求变更太频繁、技术选型不合理致使问题频发,团队没有按期的技术分享。
技术总监须要负责技术管理体系的建设和维护,对行业技术发展趋势和管理现状具备准确的判断,从技术层面上协助决策层实现战略目标。因此必须综合实力很强,既要懂技术,也要懂管理,并且职位越高,所须要的知识面要越广。
用通俗易懂的话来说:技术总监的工做就是对内就是让团队干活很爽,对外要拼命接住老板吹过的牛逼。
那么咱们最后来探讨一个话题:除过上面三种状况,工做中写代码的技术总监就是好的技术总监,不写代码的技术总监就不是好的技术总监吗?
答案留给你们,请在评论区告诉我。
*做者简介:纯洁的微笑,一个有故事的程序员。曾在互联网金融,第三方支付公司工做,现为一名自由职业者,和你一块儿用技术的角度去看这个世界。个人我的微信号 puresmile2,欢迎你们找我聊天,记录你个人故事。