前语


写这篇文章意图是之前在一篇文章中谈到,我实习那会有个老哥很牛皮,事务才能嘎嘎凶猛,可是后边开展一般般,这引起我的考虑,最近有个搭档发了篇腾讯pcg的同学关于review 相关的文章,里边也谈到架构师的层次,也再次引起我关于架构师的相关考虑,接下来咱们打开聊聊吧~

摆正初心


我写这篇文章,初心是为了找到导致这样成果的原因,而不是站在一个居高临下的方位,对他人指手画脚,彰显自己多牛皮。(PS:我也鄙视经过镇压他人来展示自己,你几斤几两,咱们都是聪明人看得出来,假如你的确优异,他人还镇压,阐明他急了,哈哈哈)

查理芒格说过一句话:假如我知道在哪里会踩坑,避开这些,我已经比很多人走得更远了。

考虑成果


我觉得是没有一个层级的概念导致的,这个原因筛掉了大部分人,打破层级的难度筛掉了另外一批人,命运和时机又筛掉另一波人。

没有层级概念

为什么这么讲呢?

咱们打游戏的时分,比如说王者,会有废铁、青铜、钻石、铂金、荣耀、荣耀王者,对吧。它的层级咱们都清楚,可是在现实生活中,你会闷逼了,我其时处在那个阶段,上一层是什么水平,需求什么技能,什么样的要求。

其次也会对自己才能过高的点评,假如你一直在组里边,你或许一直是一把手,到了集团,或许变成10名内,到了公司排名,或许几百名后。咱们需求站在一个更高、更全面的视点去了解自己的方位。

呈现这种状况也很正常

举个栗子,曾经我实习那会,有个老哥事务才能特别强,啥活都干得快,嘎嘎牛皮,这是个背景

假如团队里头你最凶猛了,那你的打破点,你的成长点在哪里?

对吧,咱们都比你菜了,自然你能从他人身上学习到的就少了,还有一种状况是你觉得你是最凶猛的,这种想法也是最要命的,会让你踏步不前。这时的解法,我认为是自驱力,假如你学哲学,就知道向内求,自我检讨,自己迭代更新,他人便是你,你便是他人,他人仅仅一面镜子。

层级的概念

那时看到他搞事务特别凶猛,但现在看是做需求凶猛,可是缺少深度。我比照曾经的开发履历,跟现在在架构组的作业履历,感触很明显。一个是为了完成任务,一个需求深度,什么深度呢?这个埋下伏笔,为后边架构师层级再打开聊聊。

从初级到中级,到高级,再到主程、再到TL,技能经理,再到架构师,再到负责人。当完成任务的时分,是最基本的事情,深化的时分,从coding下手,在代码上有所追求,比如说可读性,用用规划形式,再深化想到代码可扩展性。。。

当你了解下一个层级的要求的时分,有了方针才能有效的打破它。

打破层级的难度

这是在上一个原因根底上一个加强版,你了解了各个层级的要求,可是打破这些要求,或许因为履历,或者才能,或者天赋缺乏,导致打破困难。

为什么有些蛮厉害的人,后来都不咋样了

这儿我想聊聊架构师的考虑,之前在转正答辩上,一个领导问我你怎么了解架构的,我其时没有概念,可是接触相关作业以及观看相关文章,有了更深了解。

  • 腾讯工程师,万字长文说 Code Review

这儿讲的是coding部分,归于架构师负责的一部分,标准

我不禁想想平常什么作业内容涉及到这个?

比如说契约,规定了依靠jar版别;界说了协议,什么类型输出的格局,转化的类型;开发的标准,规划文档的款式;像文中review的进程,的确比较少,意图是为了削减代码的坏滋味。就像文中讲到,假如你界说的一个标准,可以在300+人里边hold,让体系一直在正常迭代,那么算合格的架构师。

一次广义上review

我一般下班会遇到根底服务的小伙伴聊聊天,我说话很少,就喜欢听听他人聊点什么,他跟我聊了几天,我发现问题是现有产品代码已经缺乏以支持事务的快速迭代,因为冗余其他东西太多了。比如说一个毛胚产品,然后它也快速的加上其他特点,变成一个加工品。可是现在场景变成了它便是一个加工品,你想拆成其他加工品,很困难,便是字段冗余到产品表里头了。

这个时分到架构已经不适合事务快速迭代了,需求重构,大破大立,还需求大佬牵头。review狭义上是代码层发现问题,假如你从一线同学那里听到的东西,能发现问题,也是一种review。

架构师不止标准,需求深度

需求什么深度呢?

从一个做需求的点看,从需求了解,这个是事务深度,从规划文档上,谨慎程度,扩展性、危险点、可行性,规划深度。从开发阶段,coding,技能标准,技能功底,这个是技能深度

跳出需求的点,从大的面来看,需求为了解决什么问题,不做行不行,事务价值在哪里?做了这一期还有后续吗,这是事务的远景。然后规划是怎样的,先从哪里下手,然后有木有计划去推进?这是考虑的深度

笼统的才能

  • 大咖们如何评判优异架构师?

里边重复提到笼统的才能,比如说逻辑、物理架构图,这个有助于你了解整个体系的调用联系,形成闭环,可以从全局的视点去了解,我其时做的需求在什么方位,为了解决什么问题。

再到经过问题看到实质,从技能计划看到实质。有一次一位同学跟我探讨DDD,跟我说防腐层不应该是这样写的,你仅仅用了战略形式去写,应该有个一个门面,然后后边是实现逻辑。我听到这儿就明白他被绕进去了,DDD是一个思想,他变幻出来一些对应的框架,它的精髓是高内聚、低耦合。你说战略形式,能否将外部rpc调用分隔开呢?当然可以,它是不是防腐层呢?也算~

最近一次做代码优化的时分,我用了责任链的规划形式,将190行的代码,拆分红4个模块,每个类大概30行,当然190行包括换行。可是实际效果除了行数变少外,每个模块分工特别清晰,这个模块在处理特定的逻辑,当某部分有问题的时分,直接找到那个模块修正即可。(这便是高内聚的魅力)

笼统另一种表现:模块化

最近在牵头做账单,其实我也没做过,我就找了几篇大厂的文章看看,拿来吧你,哈哈

为什么有些蛮厉害的人,后来都不咋样了

分为几个步骤,下载账单,解析账单,对账,差异处理(平账)。是不是瞬间有了几个模块,文件模块,包括上传、下载,解析文件对吧。然后是账单模块,或许会分红订单,还有一些退款的,然后是对账处理成果,归于对账模块,文件解析出来的东西跟账单比照,哪些是对的上的,哪些又是异常的,这个模块还有后续的处理成果,主动平账,或者人工处理。

模块化也是高内聚的表现,这便是DDD的思想,只不过人家现在有名头而已~

命运

这个就不打开了,有点形而上学,也看投胎,也看老天赏不赏饭吃。我觉得嘛,不论有没有有命运,都要不卑不亢,努力提高自己,很多成果咱们决定不了的,可是进程咱们可以说了算,人生不也是这样嘛,那就好好享受进程吧~

为什么有些蛮厉害的人,后来都不咋样了

最后


《矛盾论》,仍是里边的观念,咱们需求全面的认识自己的定位,找到自己的优势,不断打破自我。有些凶猛,仅仅暂时性的,而长远来看,仅仅冰山一角。