架构师是做什么的(为什么大部分人做不了架构师)

园林资讯网 15 0

  架构师是做什么的(为什么大部分人做不了架构师)

  阿里梅指南:有时候选择比努力更重要。真正厉害的人不仅努力,而且用好的思维方式和方法,看透事物的本质,跟风,找到事物的最佳解决方案,懂得举一反三。架构师是程序员的目标之一,但大多数程序员都不能成为架构师。一个真正厉害的建筑师是什么样的思维模式,强在哪里?今天,韩帅为你揭示了秘密。

  韩帅的其他文章:《架构整洁之道,看这一篇就够了!》

  世界上所有的真理都是一样的,而有些却惊人的相似,就像模型思想家和建筑师一样。《模型思考者》是密歇根大学教授斯科特佩奇写的一本书。这本书的目的是教人们如何理解和处理这个复杂的世界。目前该书中文版尚未正式出版,万伟钢铁精英日班共有15门课程。

  本文为读书笔记,来源于花荣先生的文章和万维岗精英日班《模型思考者》的讲解,结合自己的一些理解和思考。学完这些东西,我就有了学习和成长的框架和方向。如果觉得有收获,可以看看原著。欢迎在留言区交流。

  Iso/iec 42010: 20072对架构的定义如下:

  一个系统的基本组织,体现在其组成部分,它们之间的关系和环境,以及指导其设计和evolution.ISO/IEC 42010的原则

  架构师是做什么的(为什么大部分人做不了架构师)

  这里定义了架构的三个元素:

  定义越简单抽象,职责明确的模块或组件之间的关联约束和指导原则就越美观、通用。小到一个玩具,大到一个国家的运作,这样的内容都可以隐含。

  让我们举两个简单的例子来看看他们的三个元素是什么。

  软件架构

  架构师是做什么的(为什么大部分人做不了架构师)

  模块:模型,域关系:一对一,一对多(模型);依赖(领域)原则:单一责任原则、开放封闭原则、李希特替换原则等组织架构

  架构师是做什么的(为什么大部分人做不了架构师)

  模块:部门关系:管理或报告原则:各种管理原则和财务原则从不同角度丰富了结构的定义;

  结构原理简单,但不能有遗漏;建筑的目的是解决问题。在问题的规模上,可以大到国家战略问题、经济问题、民生问题,也可以小到一支笔如何能均匀地吐墨;从时间上来说,可以是目前的问题,也可以是未来预计会发生的问题;架构不是静态的,它只适合特定的场景。过去的架构不一定适合现在,现在的架构也不一定能预测未来。

  建筑师是一个角色。定义角色实际上就是定义责任。架构师的职责是:识别和定义问题,创建、选择或调整架构,以便找到最佳解决方案并解决问题。

  其实这也是架构师做事的一般套路:定义问题——确定架构——提出解决方案——在实地取得成果。这四个步骤中,前面的步骤越多,越重要,越抽象,越难,越能体现建筑师的功力。

  1.什么是问题?

  问题的定义很宽泛,是要还是不要?这是个问题。今晚你想吃烧烤吗?也是个问题。建筑师常说,我的建筑解决了哪些问题?这里的问题不是一般的问题,而是具体到马克思主义哲学中的矛盾(矛盾的定义也很宽泛,注意这就是马克思主义哲学中的矛盾)。

  问题是事物的矛盾性。哪里有未解决的矛盾,哪里就有问题。

  毛泽东认为一切事物都是矛盾的统一体,矛盾是事物发展的源泉和动力。——马克思

  建筑师要界定和解决的问题是特定领域的矛盾。矛盾解决了,他们就会得到发展,获得利益。

  更多的了解问题的本质,请阅读附录中荣华老师的原文:如何自上而下构建架构(前进之路)。

  既然建筑师眼中的问题是马克思主义哲学中的矛盾,我们可以从马克思主义哲学中学习定义问题的系统方法,例如,矛盾可以分为主要矛盾和次要矛盾。主要矛盾是指在事物发展中处于主导地位,对事物发展起决定性作用的矛盾;次要矛盾是指从属性的、对事物发展没有决定性作用的矛盾;主次矛盾相互依存,相互影响,在一定条件下相互转化。

  当我们面对复杂的问题时,我们应该不断反思。这是主要问题吗?是或否

  当下最主要的问题?

  2.如何区分问题、手段、挑战

  我们述职或晋升时常常要说问题、手段、挑战,但这些概念总是混淆在一起,很难区分一件事情是问题还是手段。其实问题、手段、挑战都是一回事,都是矛盾,只是层次不同。比如:

  架构师是做什么的(为什么大部分人做不了架构师)

  每一个问题可以向下不断展开不断细化,下一级的问题是上一级问题的具体解决手段,当你把“提升性能”当做你Owner的问题时,提升帧率、提高页面秒开率、优化启动耗时就成为了你的具体解决手段;而手段的下一级问题,就是你将面临的挑战,比如你要优化网络耗时,你要面临的挑战就有弱网环境、一些国家区域的带宽问题等等。同理,当你把“提升用户体验”当做你Owner的问题,“提升性能”就变成了你的具体手段,帧率、秒开率、启动耗时就成为了挑战。

  3.如何定义问题

  The significant problems we face cannot be solved at the same level of thinking we were at when we created them.——爱因斯坦

  荣华老师把爱因斯坦这种思想定义为升层思考:我们不能只局限于问题本身,还需要看到问题背后的问题,然后才能更容易找到更多的解决方案。

  亨利福特说,如果我问客户需要什么,他们会告诉我,他们需要一匹更快的马。从亨利福特的这句话,我们可以提炼出一个最直接的问题:客户需要一匹更快的马。立足这个问题本身去找解决方案,可能永远交不出满意的答卷:寻找更好的品种,更科学的训马方式。

  思考问题背后的问题,为什么客户需要一匹更快的马?可能客户想要更快的日常交通方式,上升了一个层次后,我们立刻找到了更好的解决方案:造车。

  阅读了本段内容,相信你不仅仅理解了什么是架构师,也理解了架构师的做事套路和思考方式。

  《模型思考者》中对模型的定义是这样的:

  模型是对真实世界的抽象,明确定义了各种元素、以及元素之间的关系,可以用来做逻辑推导。

  对比架构三要素和模型的定义,相同点是都有元素(组件),以及元素(组件)间的关系。不同的是,架构强调约束和指导原则,用来指导我们如何做事;模型强调逻辑推导能力,指导我们在现有规律下寻找答案或寻求最优解。

  举个使用模型解决问题的例子:如果你是一位高中班主任,想要提高班级中考试成绩大于90分的人数,你应该怎么做?

  首先要找到正确的模型。关键元素有两个:考试成绩、相应的学生人数,这两个元素之间的关系是正态分布函数,所以应该使用的是正态分布模型。

  然后使用模型做推导,找到问题的最优解。正态分布函数有两个关键变量:均值、方差,只要这两个变量确定了,正态分布就唯一确定了。想要提高班级中考试成绩大于90分的人数,我们有两个选择,提高均值,或者提高方差。即使忽略提高方差带来的负面影响(成绩差的同学也更多了),提高方差带来的正面影响也远远逊色于提高均值,特别是当均值接近90分时,均值哪怕提高1分,大于90分的人数都有巨大提升。

  最后根据推导结果,确定具体落地方案。放弃提高方差的方法,比如给成绩好的同学特别的照顾,把成绩不好的同学座位调到后排。多采取提升均值的方法,比如培养班级的学习氛围,成立学习小组等等。

  参考架构师,用模型思考者的做事方式来给它下定义:面对问题,能看穿客观事物的本质,选取或构建合适的模型,推导出问题的最优解。

  就像架构和模型的定义类似,只是突出的重点不同一样,架构师和模型思考者的定义也很类似,重点也不同。架构师的重点是定义问题、解决问题、推动事物发展;模型思考者的重点是看穿事物的本质,遵循规律,找到最优解。

  接下来介绍几个惊艳的模型:

  1.认知模型(认知金字塔):这个模型揭示的是认知的本质,给出了一条提升认知的最佳实践。

  架构师是做什么的(为什么大部分人做不了架构师)

  模型解释:

  金字塔的最底层是数据。数据代表各种事件和现象。数据本身没有组织和结构,也没有意义。数据只能告诉你发生了什么,并不能让你理解为什么会发生。

  数据的上一层是信息。信息是结构化的数据。信息是很有用的,可以用来做分析和解读。

  信息再往上一层是知识。知识能把信息组织起来,告诉我们事件之间的逻辑联系。有云导致下雨,因为下雨所以天气变得凉快,这都是知识。成语典故和思维套路都是知识。模型,则可以说是一种高级知识,能解释一些事情,还能做预测。

  认知金字塔的最上一层,是智慧。智慧是识别和选择相关知识的能力。你可能掌握很多模型,但是具体到这个问题到底该用哪个模型,敢不敢用这个模型,就是智慧。

  来源:得到付费课程《精英日课》 作者:万维钢

  模型的应用:

  信息焦虑:处在信息时代,很多人都有信息焦虑,生怕自己每天阅读的信息不够多而被时代抛下,每天疲于输入新的信息,没时间思考总结,结果随着信息的遗忘,什么也没留下。其实相比于信息,模型并没有那么多,我们应该花更多的时间总结模型,明确模型的使用范围(智慧)。数据分析:开发完一个功能,加一些埋点,跑sql能拿到数据,做报表能拿到信息,针对报表所做的分析属于知识。反思一下自己,有多少埋点还没跑数据,有多少数据还没结构化为信息?多少信息还没做分析?多少分析还没做下一步决策?指导投资:DALIO 的《原则》一书中提到了桥水基金挣钱方法:不断采集市场数据,使用计算机加工数据抽象模型,根据模型自动做投资决策。计算机的这个行为,不就是模型思考者吗?

  2.索洛模型(经济增长模型)

  这是个拿了诺贝尔经济学奖的模型,揭示的是经济增长的本质。

  架构师是做什么的(为什么大部分人做不了架构师)

  模型解释(摘抄自得到精英日课):

  O代表经济产出,A代表技术进步,L代表劳动力,s代表储蓄率,d代表折旧率。

  O与L成线性关系:索洛考虑劳动力有两个作用:他们不仅仅是去工厂上班工作,他们还要拿工资,拿了工资会存钱,存的这个钱可以用来投资。经济产出跟劳动力工作是平方根关系,跟劳动力的投资也是平方根关系,所以跟劳动力本身就成了正比关系。

  O与A成平方关系:你的技术更先进,你的产出就比别人的产出更值钱 —— A 代表了你的技术附加值。为什么经济产出和 A2 成正比?因为 A 有两个效应。一个是 A 能直接增加产出,一个是因为 A 增加了产出,会导致相对于同样的折旧,投资也会增加。如果你能把技术附加值变成两倍,你的总产出就会变成四倍。

  来源:得到付费课程《精英日课》 作者:万维钢

  模型的应用:

  单纯的投资行为,会被折旧追平,是边际效应递减的过程,不可持续劳动力对经济增长的影响是线性的,但是技术进步的影响是平方的,面对我国人口问题,追求技术进步是唯一出路,技术进步是真正的增长之本。

  3.其他的模型:

  《模型思考者》中有许多许多模型,每个模型有详细的解释,以及模型的适用场景,比如:适用于市场营销、病毒传播领域的“传播模型”,研究稳态与“宿命”的“马尔可夫模型”,大家感兴趣可以阅读原著。

  架构师和模型思考者是非常相似的两套做事方法,对于所研究的系统,当我们可以对系统做修改时,可以用架构师思维,定义问题、解决问题,推动系统一步步完善;当我们无法影响系统运行机制时,要用模型思考者思维,洞见其本质,顺势而为,找到最优解。

  作者:韩帅

  本文为云栖社区原创内容,未经允许不得转载。

  以上就是关于《架构师是做什么的(为什么大部分人做不了架构师)》的百科答疑相关内容,希望能够解决大家的疑惑,今天就介绍到这里了,如有更多疑问,请查看百科答疑。

标签: 架构师

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~