前言
最近学习了《郭东白的架构课》,受益良多。作为一名普通程序员,有时候不禁想问公司里的架构师大牛是怎么成长的,为什么他可以是一名架构师,而我们只能在公司里写代码做需求?郭在文章中提出了很多超出以往认知的观点,让我重新审视了架构师这个职业。除此之外,他还系统地提出了一些方法论和实际的案例,理论和实践结合,所以我们有理由相信:架构师的成长是需要方法的,而不是靠工作经验堆叠起来的。
郭从布朗大学(Brown University)获得博士学位后,先后在美国甲骨文、微软和亚马逊陆续工作了 15 年,做过研发、研发经理、 产品经理、数据架构师等等。2014 年,成为阿里巴巴 AliExpress 的 CTO,后来离职后先后又在多家集团担任首席架构师、CTO[1]。郭在课程中说到:成为一名架构师,你必须具有“战略意图”。
战略意图:职业规划的顶层设计
什么是战略意图?战略意图就是,虽然你当下你的资源、你的能力只有 40 分,但是你有一颗达到 100000000 分的心。你可能会问,这不是杞人忧天吗?仔细思考一下,每一位取得极大的成就的人都有类似的品质。比如 NBA 职业篮球运动员詹姆斯·哈登,从 2009 年加入 NBA 之后,到如今十多年的职业生涯,1 次常规赛 MVP,3 次得分王,没有得过 1 次总冠军。但是深入了解之后你会发现,尽管没有总冠军,我们从旁观者的角度极端地说,可能他职业生涯也可能没有,但是哈登从来不认为自己不会得总冠军,杨毅当时采访他后,被他那种“莫名的自信”深深折服。马斯克 2004 年加入特斯拉,准备制造新能源汽车。当众人还在为马斯克的选择担忧时,他已经看到了 20 年后的现在,允许汽车商免费使用他们的专利,只为加速新能源全球化。除此之外,乔布斯等人同样具有极不匹配的战略意图。
如何具有战略意图?提升你的思考力
战略意图不是简单的一个雄心壮志就能把事情做好的。它有一些方法论,但最重要的只有一个:提升你的思考力。
仅靠记忆和技能的学习,是成不了一个好的架构师的。也许你学会了 Java 之后,又学习了 Go,还把八股文背的滚瓜烂熟,或许有一天你会拥有“架构师”的 title,但不代表你是一名好的架构师。为什么?因为记忆和知识只能给你带来知识本身,而架构师最需要的不是知识本身,而是你思考后的产出。想想每天参加的各种会议,有现成的知识可以套用吗?很少,我们开会更多讨论的是当前环境、资源等外部条件下,对一些问题的解决方案。
如何提升思考力?
要提升思考力,首先要学会演绎法而不是归纳法。什么意思呢?演绎法就是我家有一只宠物是猫,猫喜欢吃鱼,所以我家的这只宠物喜欢吃鱼,这是演绎法。归纳法是,张三家的猫喜欢吃鱼,李四家的猫喜欢吃鱼,所以猫喜欢吃鱼。演绎法是从一般到特殊,归纳法是从特殊到一般。演绎法的前提只要成立,那么结论一定是正确的,这有助于我们在架构活动中通过缜密的逻辑思维得出最终的结论,来帮助我们进行决策。而归纳法更多是总结出一般性的结论,这些一般性的结论如果都适用于架构活动的话,那只要总结出一份文档就行了,也就没有架构师什么事了。
其次,要掌握一些基本的架构方法、思维工具和建模的技能。架构师离不开建模,所以我们经验看到架构师大佬能画出很多很牛的架构图、思维导图等。这些图其实都是思考的抽象结果的具体展现。如果你的图画得不好看,可能不是你的配色问题,而是没有把事情想明白。
最后要多读书,多看一些实际的案例。在本科之前我虽然也看书,但是之前都是看一些文学的书,当时其实也不理解看这些文学的书到底有什么用,也没什么兴趣。后来慢慢才发现自己对经济和思维方式类的书比较感兴趣,因为这些书里讲到的案例会真正帮助你提高自己的认识。最大的感受就是:你遇到的问题,其实别人早就遇到了,只是你还蒙在鼓里而已。
总结
架构没有捷径,关键要有战略意图。战略意图的关键是要有思考力。当思考力水平提升了,架构师也就水到渠成。
文章转载自:腐烂的橘子