成为一名架构师,你必须具有“战略意图”

前言

最近学习了《郭东白的架构课》,受益良多。作为一名普通程序员,有时候不禁想问公司里的架构师大牛是怎么成长的,为什么他可以是一名架构师,而我们只能在公司里写代码做需求?郭在文章中提出了很多超出以往认知的观点,让我重新审视了架构师这个职业。除此之外,他还系统地提出了一些方法论和实际的案例,理论和实践结合,所以我们有理由相信:架构师的成长是需要方法的,而不是靠工作经验堆叠起来的。

郭从布朗大学(Brown University)获得博士学位后,先后在美国甲骨文、微软和亚马逊陆续工作了 15 年,做过研发、研发经理、 产品经理、数据架构师等等。2014 年,成为阿里巴巴 AliExpress 的 CTO,后来离职后先后又在多家集团担任首席架构师、CTO[1]。郭在课程中说到:成为一名架构师,你必须具有“战略意图”。

战略意图:职业规划的顶层设计

什么是战略意图?战略意图就是,虽然你当下你的资源、你的能力只有 40 分,但是你有一颗达到 100000000 分的心。你可能会问,这不是杞人忧天吗?仔细思考一下,每一位取得极大的成就的人都有类似的品质。比如 NBA 职业篮球运动员詹姆斯·哈登,从 2009 年加入 NBA 之后,到如今十多年的职业生涯,1 次常规赛 MVP,3 次得分王,没有得过 1 次总冠军。但是深入了解之后你会发现,尽管没有总冠军,我们从旁观者的角度极端地说,可能他职业生涯也可能没有,但是哈登从来不认为自己不会得总冠军,杨毅当时采访他后,被他那种“莫名的自信”深深折服。马斯克 2004 年加入特斯拉,准备制造新能源汽车。当众人还在为马斯克的选择担忧时,他已经看到了 20 年后的现在,允许汽车商免费使用他们的专利,只为加速新能源全球化。除此之外,乔布斯等人同样具有极不匹配的战略意图。

如何具有战略意图?提升你的思考力

战略意图不是简单的一个雄心壮志就能把事情做好的。它有一些方法论,但最重要的只有一个:提升你的思考力。

仅靠记忆和技能的学习,是成不了一个好的架构师的。也许你学会了 Java 之后,又学习了 Go,还把八股文背的滚瓜烂熟,或许有一天你会拥有“架构师”的 title,但不代表你是一名好的架构师。为什么?因为记忆和知识只能给你带来知识本身,而架构师最需要的不是知识本身,而是你思考后的产出。想想每天参加的各种会议,有现成的知识可以套用吗?很少,我们开会更多讨论的是当前环境、资源等外部条件下,对一些问题的解决方案。

如何提升思考力?

要提升思考力,首先要学会演绎法而不是归纳法。什么意思呢?演绎法就是我家有一只宠物是猫,猫喜欢吃鱼,所以我家的这只宠物喜欢吃鱼,这是演绎法。归纳法是,张三家的猫喜欢吃鱼,李四家的猫喜欢吃鱼,所以猫喜欢吃鱼。演绎法是从一般到特殊,归纳法是从特殊到一般。演绎法的前提只要成立,那么结论一定是正确的,这有助于我们在架构活动中通过缜密的逻辑思维得出最终的结论,来帮助我们进行决策。而归纳法更多是总结出一般性的结论,这些一般性的结论如果都适用于架构活动的话,那只要总结出一份文档就行了,也就没有架构师什么事了。

其次,要掌握一些基本的架构方法、思维工具和建模的技能。架构师离不开建模,所以我们经验看到架构师大佬能画出很多很牛的架构图、思维导图等。这些图其实都是思考的抽象结果的具体展现。如果你的图画得不好看,可能不是你的配色问题,而是没有把事情想明白。

最后要多读书,多看一些实际的案例。在本科之前我虽然也看书,但是之前都是看一些文学的书,当时其实也不理解看这些文学的书到底有什么用,也没什么兴趣。后来慢慢才发现自己对经济和思维方式类的书比较感兴趣,因为这些书里讲到的案例会真正帮助你提高自己的认识。最大的感受就是:你遇到的问题,其实别人早就遇到了,只是你还蒙在鼓里而已。

总结

架构没有捷径,关键要有战略意图。战略意图的关键是要有思考力。当思考力水平提升了,架构师也就水到渠成。

文章转载自:腐烂的橘子

原文链接:https://www.cnblogs.com/rottenorange-cn/p/18171069

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/596876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络模块-reactor模式

reactor其实没那么神秘 背景介绍实现一个单线程的reactor(epoll)单独事件结构体reactor总表reactor事件增删改 总结优点缺点使用到reactor的开源库 背景 高性能服务器的开发需要考虑到3点:I/O事件、定时事件、信号。 对于多并发的场景&#…

ROS机器人入门:机器人系统仿真【学习记录】——2

承接上一篇博客: ROS机器人入门:机器人系统仿真【学习记录】——1-CSDN博客 我们先前结束了(上一篇博客中): 1. 概述 2. URDF集成Rviz基本流程 3. URDF语法详解 4. URDF优化_xacro 下面让我们继续学习ROS机器人…

基于ESP32和ESP8266的物联网开发过程(一)

给大家演示一个小工具,通过Wifi去连接ESP32或者ESP8266出来的一个热点。连接到这个热点之后,可以输密码,也可以不输密码。这里我设置的是不输密码直接进来,我这个是ESP8266。 进来之后直接点配置Wifi,然后可以看到ESP8…

tecplot 宏的使用方法及代码改写

我们在对流场数据进行批量提取时,不可避免的需要使用tecplot宏文件,因此,俺就研究了一下,主要针对的是批量切片-批量转换成dat文件-批量转换成excel的格式 以下贴出我的宏文件 1.批量切片 重点在于设置循环 2.批量dat转excel 大…

SPSS之聚类分析

SPSS中系统聚类分析功能在【分析】—【分类】—【系统聚类】中完成。系统聚类有两种类型,一种是对样本进行聚类,称为Q型聚类;一种是对变量进行聚类,称为R型聚类。在【系统聚类分析】—【聚类】框下选择【个案】——Q型聚类&#x…

优惠券样式案例

优惠券样式案例 <template><view class"box"><view class"boxItem"><img src"../../../static/come.png" alt"" class"img"/><span class"icon">&#xffe5;</span><s…

MySQL之查询 拿下 * 。*

DQL数据查询语言 对上述的的查询操作进行代码演示&#xff08;续上一篇学生表代码进行处理&#xff09; 下面是上一篇的代码分享 下面进行简单的查询操作 字符串如果强行进行算数运算默认只为0 查询时常用的单行函数列举 未完待续

电源管理芯片该如何测试?

电源管理芯片作为电子产品的重要组成部分&#xff0c;其性能测试必不可少。通过各项指标测试&#xff0c;评估电源管理芯片是否符合设计规范&#xff0c;及其稳定性和可靠性。 可通过检测以下指标参数来评估电源芯片的性能&#xff1a; 输入/出电压范围、输出纹波、电压调整率、…

数据结构学习/复习8--树与二叉树的概念与基本性质练习

一、树 1.概念 2.树的表示 二、二叉树 1.二叉树的概念 2.与性质相关的题

StreamingT2V

下面首先是参考的一些博客 https://blog.csdn.net/qq_44681809/article/details/137081515 qustion SDEdit:就是给图片加一点噪声然后再用模型去噪&#xff0c;来获得一个更好的帧&#xff0c;比如去掉伪影和污点 这里的分割为m个24帧的块&#xff0c;块与块之间已经有8帧重叠…

抖音 通用交易系统 下单 密钥生成

已PHP为例 前提提条件 必须在 linux 系统中 生成 准备工作 接下来打开命令 执行命令即可 openssl genrsa -out private_key.pem 2048 rsa -in private_key.pem -pubout -out public_key.pem exit 会生成 公匙和 私匙 在小程序中 将 生成应用公匙 复制到小程序后台 在执行…

C++ 概览并发

并发 资源管理 资源 程序中符合先获取后释放&#xff08;显式或隐式&#xff09;规律的东西&#xff0c;比如内存、锁、套接字、线程句柄和文件句柄等。RAII&#xff1a; (Resource Acquisition Is Initialization),也称为“资源获取就是初始化”&#xff0c;是C语言的一种管…

C语言-设置控制台信息

Win_API Win_API是Windows应用程序接口&#xff08;Windows Application Programming Interface&#xff09;的缩写&#xff0c;它是一组函数、系统服务和程序接口&#xff0c;允许开发者在微软Windows操作系统上创建应用程序。Win32 API 是Windows API的一个主要部分&#xff…

测试用例执行的结果pass_fail_block_skip

pass fail block skip 测试用例的执行结果通常包括以下几个方面&#xff1a; 1. **测试结果状态**&#xff1a;通常分为“通过”、“失败”、“阻塞”和“跳过”等状态。 - **通过**&#xff1a;测试用例执行完毕&#xff0c;预期结果与实际结果一致。 - **失败**&am…

C++ 多态(一)

一、多态定义 同一种操作作用于不同的对象时&#xff0c;可以产生不同的行为。在面向对象编程中&#xff0c;多态性是指通过继承和重写实现的&#xff0c;同一个方法在不同的子类中可以表现出不同的行为。多态性可以提高代码的灵活性和可扩展性&#xff0c;使得程序更易于维护…

Golang中实现调用Windows API向指定目标发送ARP请求

简介 Go库中很多实现的arp都是支持osx/linux/bsd之类的&#xff0c; 但几乎没有支持windows的&#xff0c; 也试了一些方式&#xff0c; 目前还是选用调用windows的API&#xff0c; 记录一下这一次windows的API的调用经验。 实现 代码 package main/* #cgo CFLAGS: -I. #cgo …

Altium Designer——检查原理图库正确性并生成报告

一、方法&#xff1a; 1.打开原理图库&#xff1a; 2.点击菜单栏的报告选项&#xff1a; 3.选择器件规则检查&#xff1a; 根据需求勾选&#xff0c;一般都是全部勾选&#xff1a; 二、问题&#xff1a; 1.缺少封装会导致什么问题&#xff1a; 1.首先&#xff1a; 封装是…

网络相关笔记

IPv4地址 IPv4地址通常以“点分十进制”形式书写&#xff0c;即四个0-255之间的十进制数&#xff0c;各数之间用英文句点&#xff08;.&#xff09;分隔&#xff0c;例如&#xff1a;192.0.2.1。总共32位的地址空间可以表示大约42亿个不同的地址。 IPv4地址结构包括&#xff…

Django开发实战之登录用户鉴权登录界面实现

Django自带的鉴权系统非常的安全&#xff0c;大家可以放心使用&#xff0c;那么如何使用呢&#xff1f; 1、首先需要检查settings文件种的INSTALLED_APPS&#xff0c;有没有这两部分内容&#xff1a; 2、检查中间件&#xff0c;比如这两个中间件&#xff0c;一个是用于登录&a…

io (fscanf fprintf)

20 #include <sys/un.h>21 typedef struct stu22 {23 char name[16];24 int age;25 double score;26 }stu;27 int main(int argc, const char *argv[])28 {29 /* 有如下结构体30 31 申请该结构体数组&#xff0c;容量为5&#xff0c;初始化5个学生的信息32 …
最新文章