欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

许式伟的架构课

程序员文章站 2023-08-30 08:45:12
对工作多年的程序员而言,日后的职业发展无非是专精技术,转型管理,晋升架构师三种选择。成为一名优秀的架构师,是大多数技术人的追求。 想要做架构,空有一身技术是远远不够的,知识的深度和广度,会决定一个架构师的架构能力。而这些知识,从你踏入 IT 行业那一刻起,甚至更早就应该开始储备了。 我见过很多人,做 ......

对工作多年的程序员而言,日后的职业发展无非是专精技术,转型管理,晋升架构师三种选择。成为一名优秀的架构师,是大多数技术人的追求。

想要做架构,空有一身技术是远远不够的,知识的深度和广度,会决定一个架构师的架构能力。而这些知识,从你踏入 it 行业那一刻起,甚至更早就应该开始储备了。

我见过很多人,做了 7、8 年程序员,仍然停留在「码农」的阶段,平时工作节奏太快,很难有机会系统学习架构,也没人教,只能闷头敲代码,越来越被动。

而一旦你拥有「架构思维」,胸中自有大局观,对职业发展、职场晋升都会起到巨大的作用:

提升自己在组织内部的话语权,获得领导的赏识,客户的青睐;

快速掌握新知识,避免陷入频繁加班的恶性循环,获得更多发展机会;

透过问题看本质,了解代码之下更深层次的机制,不仅能快速完成方案,且条理清晰,重点突出;

制定符合用户需求且可扩展的商业计划,从而牢牢地控制企业生命线;

所以,无论你是否已经是团队里的架构师,对任何一位程序员来说,具备架构思维都会成为让你脱颖而出的关键。

但据我在工作中的观察,很多人对「架构」的理解,还停留在产品经理出需求,架构师依据产品设计给出实现,也就是所谓的架构设计方案这一阶段。

在我看来,这其实是个误解。架构关乎整个工程,以及实现它的人,又因团队的能力而异。

同时,架构也关乎用户需求,作为架构师,我们不仅要知道当前的用户需求是什么,还要对需求未来可能会出现的变化做出合理预判。

所以,想要成长为优秀的软件架构师,关键在于四个字:掌控全局。

掌控全局,就是要对系统的全貌了然于胸,在自己心中重新构建出整个世界。而不是一上来就沉浸在某个技术的实现细节中,除非它影响了你对这个世界构建过程的理解。

当你了解了世界的脉络和骨骼,你的感觉将完全不同,因为,你已经成为了世界的构建者。

而架构的本质,不正是构建和创造么?

作为一个技术人,我接触过的与架构相关的图书,大概有这么几类:

架构思维类。通常从一些著名的架构理论讲起,比如开闭原则、单一职责原则等等。其弊端在于过度理论化,而计算机科学归根到底属于工程技术类,应该实践第一。

设计模式类。这类一般上来就进入架构的局部细节,每个模式的来龙去脉并不容易理解。就算理解了某个具体的模式,也很难真正做到活学活用。

分布式系统架构设计类。通常从服务端的通用问题如一致性、高可用、高并发挑战等话题讲起,阐述大型业务系统面临的挑战。这些知识虽然非常有价值,但无法延伸至通用业务架构,对大部分企业的架构实践不具备真正的指导意义。

重构类。主要讲如何如何改进代码,其实是最实用的一类。但在我看来,一个模块最初的地基是最重要的,基本决定了这座大厦能够撑多久,而重构更多侧重于大厦建成之后,在服务于人的前提下怎么去修修补补,延长生命。

这些架构类图书并没有达到我个人的期望,在我看来,它们都没有揭开架构设计的全貌。

 

 许式伟的架构课

许式伟的架构课

 

链接:https://pan.baidu.com/s/1v5gm7n0l7tgyejcmqrmh2g 提取码:x2p5

免费分享,但是x度限制严重,如若链接失效点击链接或搜索加群 群号936682608

在专栏中,我会通过理解软件架构的宏观视角,从零开始构建出整个信息世界,在这个过程中,去阐述架构思维范式,以及这些范式在日常工程实践中应用。

在内容设计上,我希望这是一个门槛最低的架构设计专栏,不仅帮到想成为架构师的初学者,还可以让已经成为架构师的技术人规避一些错误的经验。

在行文上,我会尽量避免深奥的术语,以通俗易懂的文字描述信息世界构建者们的所思所想。