来源:     作者:     发布时间:2021-07-31     次浏览

建筑师,听起来像一个如此神秘的头衔。尤其是在刚进入开发领域的新手程序员眼中,架构师都是专家,都是那么的高人一等。

然而,经过四五年的编程,程序员往往对这些“高级”职位失去了神秘感,甚至抱怨自己项目的架构师,在背后骂他们是一群水王。因此,江南白衣曾写过一篇文章说:“30岁以后,国内建筑师很多去理论,而国外建筑师在上的时候,保持着下面的编程经验。所以,中国有很多水王,也有很多。国外的大师。”

这就是我们今天文章的主题:优秀的软件架构师首先必须是优秀的程序员。

据弗雷德乔治说,“不编程的建筑师的职业生涯是短暂的。”。他说这句话的背景主要是针对一些架构师的设计和实现之间的错误,因为如果架构师不实践,他们只是想当然地认为“没问题,这个想法是可以实现的”,那么是项目实施的一大隐患[支付宝架构师冯大辉也表示,架构师是一个“虚拟”岗位,主要问题都在“落地”过程中。

架构师确认一个想法是否可以实现的最直接方法是编写自己的代码并尝试“实现系统中最困难的部分”(Fred George)。如果你看看 Fred,他就是最好的例子:他已经大到可以每天写代码了。事实上,我们可以列出一长串顶级架构师,你会发现没有一个不是顶级程序员。

我们可以列出一长串顶级架构师,你会发现没有一个不是顶级程序员

但是,这在逻辑上可能不太有说服力,因为这似乎并不能证明高级架构师无法根据自己的经验知道一个想法是否可以实现。如果你认为这些只是一些老西方极客在编程方面的怪癖,看看 eBay 的架构师 [Randy Shoup] 如何总结他在项目中的职责

布满荆棘的专家程序员王翔专访:毅力是建筑师人生的第一要务

在这个过程中,架构师至少有一半的工作需要开发团队来完成。在 Randy 看来,这是“架构师不能忘记实现细节”的体现。与开发团队合作,指挥风格的领导不受尊重,架构师必须通过自己的个人影响来指导开发团队。什么是影响力?说白了就是通过自己写代码,和其他成员一起,引导团队成员去实现每个架构细节的想法。

如果你稍微思考一下,你就会明白这一点的重要性。如果架构师通过命令管理一个开发团队,告诉他们“实现这个模块”和“实现那个功能”,团队也尝试这样做。但是可能是架构师的要求太高,或者团队的开发实力不够,团队成员会向架构师求助:你看,我们不知道怎么实现这个,你能给我们一些指导吗? ? 架构师可能知道如何处理这个问题,也可能没有仔细考虑过,但他们觉得自己并没有拘泥于细节,于是皱眉丢下一句话:这是你的事,你自己解决!

然后是冲突的开始。架构师只觉得团队技术不够,团队对架构师越来越不满意。如果项目是黄色的,开发团队就会出现各种意见,比如“这位先生居然是一个不会写一行代码的大傻瓜!”

综上所述,它反映了 Fred 的断言:“不编程的建筑师的职业生涯是短暂的。”。一个架构师不仅要会写代码,还要能写出自己系统中代码最难的部分。这样,他就可以放心将“落地”的重担交给开发团队来做。

让我用 Fred 的话来总结这篇文章:“架构师的价值在于,他不仅可以看到系统的美,而且在构建系统时还可以创造它。”

是的,每个优秀的架构师都是优秀的程序员。


在线客服

关闭

客户服务热线

在线客服
网站地图