说实话,最近一段时间被完全方向迷惑到了。对于Leader的要求,说到底是做大规划、策略拆解、业务协调,还是事无巨细,深入到每个细节,连系统代码每一行都不放过?
对于技术负责人来说到底要不要写代码,到底要写多少代码?到底要细致到什么程度?是不是连系统有一个bug都要了解前因后果?
但是如果真的这么细致的话,显然是不现实的,每个人的精力是有限的。什么都懂的情况下就等于什么都不懂。
但是如果不懂细节,又如何能掌握系统的核心模块?如果只是大聊特聊业务,天天做规划,又如何保证自己的技术核心竞争力?
说到底,问题就是到底怎么样做去一名合格的Leader?
这个问题我疑惑了比较久,因为在阿里巴巴的时候是一个比较成熟的模块,并且我也了解业务的前因后果。所以我根本不用费多大劲去了解里面的细节,很容易问问同学,也就知道了个八九不离十。
所以更多的时候都是去和业务同学沟通,用技术怎么样实现某一些产品功能,甚至是主动去发起一些技术创新型的需求。
但是到了字节之后就发现风格完全是不一样的,作为一个Leader或者IC,要了解到可能所有的细节部分。如果不了解到细微的一些差别,根本就不能够给出业务上的技术决策。
比如一个模块你都不了解所有的细节,你又怎么样知道这个模块的风险在哪里?不知道风险在哪里,你又怎么样跟其他同学提供良好的反馈和建议。
但是面对着几百万行的代码,你要了解的每一个细节点可能就得花上个五年十年时间。业务和组织也不可能等你这么久。而且就算一个小模块,你一头扎进去了,很有可能就出不来了,沉浸在细节和琐碎里面。
所以在这种情况下到底怎么干?怎么防止自己干着干着,在细节里不能自拔,甚至干成了一个大头兵?
最近一段时间,我就陷入了泥潭,为了追求细节,自己调试每一行代码,研究每一个难点。
但是看着几百万行的代码,我什么时候才能做到熟能生巧,指点江山?
我把这个问题抛给了一个很高层的一个领导,他跟我说了一番话,我收获良多。
首先是抓重点。
这个说起来很简单,你问个中小学生都知道。但实际上要做到是极其困难的,或者说大部分普通人是做不到的。
大多数人在工作和生活里,都是胡子眉毛一把抓。
怎么样区别一名技术负责人和技术骨干的区别?他们最大的差别就在于技术负责人能够在全局的维度上抓住重点。
怎么样抓住这个重点,就依赖于有非常靠谱和可信的信息来源。在当前的阶段,你不可能自己去了解所有的细节然后汇总出来你认为重要的部分,应该快速的找到关键的接口人了解到上下文。
这就是这个时代,对人才提出了更高的要求。
所以,你如何找到最重要的几个人物才是关键。比如是不是能够找到业务的关键人,让他给出系统的核心业务的定义?比如能不能找到关键的资深工程师,能够快速的给你分享出来最核心的模块和难点?
这里切记要找到关键人物,随便找到一个小兵,听他云里雾里给你分析了一通,最后你们两个一起到坑里去了。
另外你还要确认,他们所带给你的信息是不是正确的信息,是不是有他们个人视角的偏颇?
当重点的几个问题明确之后,那么其他的就是细致末节,很多时候这些细节部分你可能都可以忽略。这样你就可以把最重要的精力放在几个最为明确核心的问题上。
其次是抓重点问题的细节。
抓到的重点并不是可以说泛泛而谈了。否则就犯了眼高手低的问题。其次,普通人和高手的区别就在于抓住了重点问题之后,能不能把重点问题解决?
就比如说大家都知道中国造CPU之难,这就是已经抓住了核心问题,但是想要把它做好又极其不容易。看起来技术原理,框架和方法甚至都可以在网上找到,但是依然做不好。
这个里面就涉及了重点问题的细节以及具体方法。
所以换一句话来说,对于一名技术负责人并不是把重点问题直接定义清楚了之后就高枕无忧了,最重要的是技术负责人还要把重点问题的所有可能的细节都要搞清楚。
确定重点问题能解决。
我之前在村里,就有很多人看起来特别牛逼,观察问题命中要害,甚至连国际冲突的根源都能分析得一清二楚,但是终其一生,并没有多大的成就。
原因就在于,这些人,一直讨论的是自己无法解决的问题。
从Leader的角度来说,负责人可以不写代码,但是一定要明白核心问题里面的所有的逻辑以及核心的代码架构部分。
对于技术负责人来说,应该是把自己的大部分时间放到了最重点的问题细节上,毕竟不需要Leader一天到晚搞规划,也没那么多规划。要确保问题的方案代码执行阶段效果和反馈都要无比清晰。
所以很多时候对于技术负责人来说,说不定要写代码,要写方案,要追系统的监控,但一定要把最关键的精力放在了这些重点细节上面。
在这个地方,一定不要认为自己做的事太小,没什么技术或者业务含量,但凡贴近核心问题的小事,也一定是大事。哪怕只是跑一个SQL,还是配置一个监控。
所以对于一个负责人来说,可能不明白业务和系统里面的一些细枝末节,但是对于核心模块的所有步骤应该了如于心,甚至要超过团队里面所有的人。
通过这样,一名技术负责人就能够把自己的最核心的问题找出来,并且把自己所有的精力放到了核心问题的细节之上,这样既能抓住重点的问题能保证执行落地,又不会像天女散花那样分散自己的经历。
这些才是作为一名技术leader的要点。