为什么90%的“码农”做不了“架构师”?
The following article comes from 阿里技术 Author 韩帅
选择有时候比努力重要,真正厉害的人不仅仅是埋头苦干,而是会利用好的思维方式、好的方法,看穿事物的本质,顺势而为,找到事情的最优解,并懂得举一反三。
图片来自 Pexels
架构师是程序员的目标之一,但大多数程序员无法成为架构师。真正厉害的架构师具备什么样的思维方式,到底强在哪?今天,韩帅为你揭秘。
世界上所有的道理都是相通的,而有一些相似到令人吃惊,模型思考者和架构师就是如此。
《模型思考者》是密西根大学教授斯科特·佩奇的一本书,这本书的目的是教大家如何理解和应对这个复杂的世界。
目前这本书的中文版还没正式出版,得到万维钢精英日课中有 15 节课程讲解。
这一篇文章是篇读书笔记,内容来自荣华老师的文章,还有万维钢精英日课中对《模型思考者》的讲解,结合一些自己的理解和思考。
学习了这些后,我的学习和成长都有了框架有了方向,如果你觉得很有收获,可以阅读原著,欢迎留言区交流。
什么是架构?
The fundamental organization of a system, embodied in its components, their relationships to each other and the enviroment, and the principles governing its design and evolution.
ISO/IEC 42010
这里定义了架构的三要素:
职责明确的模块或者组件
组件间明确的关联关系
约束和指导原则
举两个简单的例子,我们来一起看他们的三要素分别是什么。
模块:模型、域
关系:一对一、一对多(模型);依赖(域)
原则:单一职责、开闭原则、里氏替换原则等等
模块:部门
关系:管理 or 上报
原则:各种管理原则、财务原则
架构的原则是简单,但不能有遗漏。
架构的目的是解决问题。问题的尺度上,可以大到国家战略问题、经济问题、民生问题,也可以小到一只钢笔如何均匀地吐墨;时间上,可以是当下的问题,也可以是预期以后会发生的问题。
架构不是一成不变的,它只适合于特定的场景。过去的架构不一定适合现在,当下的架构不一定能预测未来。
什么是架构师?
什么是问题
架构师常说,我的架构解决了什么问题,这里的问题不是一般性的问题,而是特指马克思哲学中的矛盾(矛盾的定义也很宽泛,注意这里是马克思哲学中的矛盾)。
问题就是事物的矛盾。哪里有没有解决的矛盾,哪里就有问题。
——毛泽东
任何事物都是作为矛盾统一体而存在的,矛盾是事物发展的源泉和动力。
——马克思
如何区分问题、手段、挑战
其实问题、手段、挑战都是一回事,都是矛盾,只是层次不同,比如:
如何定义问题
The significant problems we face cannot be solved at the same level of thinking we were at when we created them.
——爱因斯坦
什么是模型?
《模型思考者》中对模型的定义是这样的:
模型是对真实世界的抽象,明确定义了各种元素、以及元素之间的关系,可以用来做逻辑推导。
什么是模型思考者?
参考架构师,用模型思考者的做事方式来给它下定义:
面对问题,能看穿客观事物的本质,选取或构建合适的模型,推导出问题的最优解。
认知模型(认知金字塔)
这个模型揭示的是认知的本质,给出了一条提升认知的最佳实践。
模型解释:
金字塔的最底层是数据。数据代表各种事件和现象。数据本身没有组织和结构,也没有意义。数据只能告诉你发生了什么,并不能让你理解为什么会发生。
数据的上一层是信息。信息是结构化的数据。信息是很有用的,可以用来做分析和解读。
信息再往上一层是知识。知识能把信息组织起来,告诉我们事件之间的逻辑联系。有云导致下雨,因为下雨所以天气变得凉快,这都是知识。成语典故和思维套路都是知识。模型,则可以说是一种高级知识,能解释一些事情,还能做预测。
认知金字塔的最上一层,是智慧。智慧是识别和选择相关知识的能力。你可能掌握很多模型,但是具体到这个问题到底该用哪个模型,敢不敢用这个模型,就是智慧。
来源:得到付费课程《精英日课》 作者:万维钢
模型的应用:
信息焦虑:处在信息时代,很多人都有信息焦虑,生怕自己每天阅读的信息不够多而被时代抛下,每天疲于输入新的信息,没时间思考总结,结果随着信息的遗忘,什么也没留下。
其实相比于信息,模型并没有那么多,我们应该花更多的时间总结模型,明确模型的使用范围(智慧)。
数据分析:开发完一个功能,加一些埋点,跑 SQL 能拿到数据,做报表能拿到信息,针对报表所做的分析属于知识。
反思一下自己,有多少埋点还没跑数据,有多少数据还没结构化为信息?多少信息还没做分析?多少分析还没做下一步决策?
指导投资:DALIO 的《原则》一书中提到了桥水基金挣钱方法:不断采集市场数据,使用计算机加工数据抽象模型,根据模型自动做投资决策。计算机的这个行为,不就是模型思考者吗?
索洛模型(经济增长模型)
这是个拿了诺贝尔经济学奖的模型,揭示的是经济增长的本质。
模型解释(摘抄自得到精英日课):
O 代表经济产出,A 代表技术进步,L 代表劳动力,s 代表储蓄率,d 代表折旧率。
O 与 L 成线性关系:索洛考虑劳动力有两个作用:他们不仅仅是去工厂上班工作,他们还要拿工资,拿了工资会存钱,存的这个钱可以用来投资。
经济产出跟劳动力工作是平方根关系,跟劳动力的投资也是平方根关系,所以跟劳动力本身就成了正比关系。
O 与 A 成平方关系:你的技术更先进,你的产出就比别人的产出更值钱。
A 代表了你的技术附加值。为什么经济产出和 A² 成正比?因为 A 有两个效应。一个是 A 能直接增加产出,一个是因为 A 增加了产出,会导致相对于同样的折旧,投资也会增加。如果你能把技术附加值变成两倍,你的总产出就会变成四倍。
来源:得到付费课程《精英日课》 作者:万维钢
模型的应用:
单纯的投资行为,会被折旧追平,是边际效应递减的过程,不可持续。
劳动力对经济增长的影响是线性的,但是技术进步的影响是平方的,面对我国人口问题,追求技术进步是唯一出路,技术进步是真正的增长之本。
其他的模型
总结
当我们可以对系统做修改时,可以用架构师思维,定义问题、解决问题,推动系统一步步完善。
当我们无法影响系统运行机制时,要用模型思考者思维,洞见其本质,顺势而为,找到最优解。
参考文章:
荣华老师的多篇文章点击“阅读原文”即可在线阅读
万维钢精英日课,《模型思考者》系列课程
作者:韩帅
编辑:陶家龙、孙淑娟
出处:转载自微信公众号阿里技术(ID:ali_tech)
精彩文章推荐: