|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: 技术总监到底要不要写代码? |
| 4 | +no-post-nav: true |
| 5 | +category: it |
| 6 | +tags: [it] |
| 7 | +excerpt: 任何问题抛开背景来讨论都是耍流氓。 |
| 8 | +--- |
| 9 | + |
| 10 | +这是一个非常敏感的话题,每次谈论到技术总监要不要写代码的时候,总会引起一片争论。 |
| 11 | + |
| 12 | +有的程序员说技术总监如果不写代码怎么能领导好技术团队;有的说技术总监还需要写代码?如果技术总监都需要写代码的话,那技术团队有多操心呐。正反观点看起来都蛮有道理的,我也试着和大家聊聊这个话题。 |
| 13 | + |
| 14 | +我感觉自己还是蛮有资格来讨论这个话题的,我有过30人左右技术团队负责人的经历、也有过管理超100多人研发副总的经验,也经历了从一个程序员到一个技术管理者身份转变的历程,所以方便从各个角度来看待这个问题。 |
| 15 | + |
| 16 | +**任何问题抛开背景来讨论都是耍流氓。** |
| 17 | + |
| 18 | +比如下面这个图片,正着看的时候是一个老太太,如果我们把手机倒过来看的话是一个小姑娘。 |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +这就是我们看待问题的角度不同,所展现给我们的视角也是不同的。 |
| 23 | + |
| 24 | +技术总监要不要写代码这个话题,其实也是需要看公司是什么样的背景、处于什么样的阶段、技术总监管理人员的规模来定。 |
| 25 | + |
| 26 | +另外技术总监只是一个统称,很多公司还会分部门技术总监、研发中心技术总监等,不同级别也需要不同的讨论。 |
| 27 | + |
| 28 | +首选探讨一下什么样的技术总监需要写代码,这里的**写代码**指的是参与到具体的编码实现。个人认为有以下 3 种情况: |
| 29 | + |
| 30 | +**01 技术驱动型的技术总监需要写代码** |
| 31 | + |
| 32 | +很多互联网公司产品,完全是依赖技术来构建的,公司的命脉都是技术,那么这个技术总监就一定要参与到核心代码的编写中。 |
| 33 | + |
| 34 | +比如我一直比较关注的创业公司 PingCAP ,他们公司的主要产品是 TIDB,一个开源分布式关系型数据库。我们知道开发一个高效的数据库是一个技术含量很高的事情,那么这种类型公司的技术总监一定会参与到编码中。 |
| 35 | + |
| 36 | +**02 初创技术团队的技术总监需要写代码** |
| 37 | + |
| 38 | +一个创业公司的初创团队,可能公司的技术体系、技术路线、技术文化完全都没有搭建起来的时候,必定需要技术总监参与到一线,一步步将这些内容搭建起来。 |
| 39 | + |
| 40 | +同时几乎所有的创业公司在刚开始的时候,就技术的需要程度是相当紧迫的,所以这个时期的技术总监,一定要亲自参与其中,确保核心系统功能不会出现问题。 |
| 41 | + |
| 42 | +有一个很著名的反例: |
| 43 | + |
| 44 | +2012年的时候程维为了滴滴产品快速上线,花了 8 万找了一个外包做了一个 APP,开发出来不仅体验差,还出现了耗费流量高、耗电、听不到订单、定位不准的问题,差点直接将滴滴搞死。后来张博的加盟才逐步解决了这些问题,产品稳定后才赢得了滴滴后期的大发展。 |
| 45 | + |
| 46 | +国内外的互联网公司都存在创业早期过分注重技术,认为技术可以搞定一切;创业成熟期后又过分轻视技术,导致后期问题频发。所以对技术的重视程度应长期保持一致。 |
| 47 | + |
| 48 | +**03 管理十几人以下的技术总监需要写代码** |
| 49 | + |
| 50 | +管理十几人的技术总监,个人建议总体还是需要参与到核心代码的梳理中,需要对系统的各个特性了然于胸,知道系统很可能出现的问题点,在出现问题的时候可以快速定位解决。 |
| 51 | + |
| 52 | +在这个规模的时候,如果技术总监不参与到核心代码的工作中,其实是很难掌控整个系统的稳定性,出现问题的时候需要依赖于团队中的核心骨干来解决。 |
| 53 | + |
| 54 | +当然肯定不是需要参与大量的编码工作,可以在架构设计、核心代码评审、代码优化层面来多做工作。如果这个阶段的技术总监完全脱离代码编写工作,容易导致团队技术失控。 |
| 55 | + |
| 56 | +**国内技术总监现状** |
| 57 | + |
| 58 | +在国内,大多数技术总监其实是没有参与到具体的代码编写中的。一方面国内很少有上面所说的纯粹技术驱动型的公司,大多数互联网公司对技术的重视程度仍然很不够,认为技术只是服务于公司商业价值,从而不断的压迫技术团队。 |
| 59 | + |
| 60 | +特别是老板如果对技术一点都不了解的话,那对技术团队就是一个大灾难,可悲的是大多数企业都是这个情况,这个时候技术总监的很大一部分精力,就变成了如何向老板合理的解释清楚技术团队的工作情况,不是封闭几个月或者压迫一下就可以搞出一个完美的系统。 |
| 61 | + |
| 62 | +国内的大多数技术总监都被迫陷入很多的行政事务中,比如我曾经呆过的第三方支付公司,各种监管机构每个月都会有各种检查,另外还需要处理各种外部需要文档、行政事务、外部谈判、公司会议等各种各样的杂事中。 |
| 63 | + |
| 64 | +当然这些都不是最可怕的,最可怕的是如果参与到公司的办公室政治,那很多事情就已经偏移了事务的本质,不是这个事情你要不要做好的问题,还需要考虑很多其它的因素,类似的事情最容易让人心累,耗费巨大的精力。 |
| 65 | + |
| 66 | +**技术总监到底需要干些什么?** |
| 67 | + |
| 68 | +首先强调一下技术总监是一个管理岗位,所以它的管理职责远远大于编码职责,技术总监的工作更应该关注宏观、全局性的问题。 |
| 69 | + |
| 70 | +如果一个技术总监自己代码写得贼溜,团队内小伙伴代码写得一片烂渣渣,那他绝对不是一个合格的技术总监。 |
| 71 | + |
| 72 | +所以技术总监不是让自己编码很爽,技术总监的工作更应该是让团队内的成员编码很爽。让团队内的小伙伴编码很爽,其实就有很多的工作要来做。 |
| 73 | + |
| 74 | +比如构建一个有技术氛围的团队,做有前瞻性的技术选型,在业务设计、架构设计、系统架构上下狠功夫。任何团队内不太爽的工作都是技术总监的责任,比如需求变动太频繁、技术选型不合理导致问题频发,团队没有定期的技术分享。 |
| 75 | + |
| 76 | +技术总监需要负责技术管理体系的建设和维护,对行业技术发展趋势和管理现状具有准确的判断,从技术层面上协助决策层实现战略目标。所以必须综合实力很强,既要懂技术,也要懂管理,而且职位越高,所需要的知识面要越广。 |
| 77 | + |
| 78 | +用通俗易懂的话来讲:**技术总监的工作就是对内就是让团队干活很爽,对外要拼命接住老板吹过的牛逼。** |
| 79 | + |
| 80 | +那么我们最后来探讨一个话题:除过上面三种情况,工作中写代码的技术总监就是好的技术总监,不写代码的技术总监就不是好的技术总监吗? |
| 81 | + |
| 82 | +答案留给大家,请在评论区告诉我。 |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +***作者简介**:纯洁的微笑,**一个有故事的程序员**。曾在互联网金融,第三方支付公司工作,现为一名自由职业者,和你一起用技术的角度去看这个世界。我的个人微信号 **puresmile2**,欢迎大家找我聊天,记录你我的故事。* |
0 commit comments