写点什么

架构师是什么?

用户头像
ES_her0
关注
发布于: 2021 年 03 月 14 日

首页看到推荐的一篇文章叫《如何成为一名架构师》,里面说成为架构师是每个程序员的终极目标。我又被代表了,我的目标又被人定义了。且不说这一篇短文通篇空话,这样的文章也能推荐置顶,让新加入的作者怎么看呢。批判到此为止,只是看到架构师这个词,也思考了一下,到底什么是架构师。


这个词前几年在中文互联网圈出现的十分频繁,长期盘踞互联网技术食物链的顶层,在潜意识里被大家当作一个至高无上的技术专家。我认真的 google 了一圈,其实讨论最多的还是中文内容,英文内容中无论是架构师还是 Enterprise Architect 关键词,都很难跟人联系在一起,更多的是在说一个软件工具。


再看常见的一些招聘平台,几乎没有说要招架构师这个职位的,一般都是技术专家之类。我经历的几家公司里,有一家中型公司,另外两家都是万人级的大公司,也没从见过有架构师这个岗位(可能是我孤陋寡闻)。不过倒是那家中型公司会称呼某些人为架构,其实这些人只是成天出入各种大会,发朋友圈,在公司内部会上提各种时髦的概念,最终落地的技术方案也是另有他人。后面两家公司就完全没有人提架构这个词。可能在我有限的职业生涯里,我认知的架构师形象和江湖骗子是一类人。


想要形成正确的认知,还是要综合多方面的观点。再看看一些假大空的文章是怎么写的,我承认我是带有偏见的,但说实话这些文章描绘的架构师职能还是挺有价值的。总结起来,架构师就是负责公司某个系统的技术方案的制定,定需求,选型。其实就这点来看,如果只是起到这个作用,架构师是完全不需要的工种。每个语言体系下的技术主流方案都是比较固定的,以 Java 为例(因为我是写 Java 的,别的我就不乱说了),Spring Boot 几乎是绕不过去的,想上微服务,spring cloud 可以做保姆式的架构。选择成熟的体系,是最稳妥的选择,可能在某些周边系统上有可替代的选择,但主体结构都是那一套,任何一个 1 年经验的 Java 开发者都知晓的那一套。


总体的结构没有改动的必要,架构师的威力往往是发挥在某些细节的地方,这也是我见过的喜欢被外界称之为架构师而自己却不知道的人的能力。我在的两家公司技术团队的 leader,他们有一个共同点,在解决一些疑难杂症时发挥了很关键的作用。根据他们丰富的经验,在很多细节方案的处理上会给我提出一些前瞻性的意见。比如,某些 API 不要为了实现功能而做,要保留以后的扩展性;某些模块的调用关系要保持既定的原则,不能为了快速迭代而妥协。这是一个技术 leader 该做的事,也是一个架构师该做的事,但他们从不觉得自己是个所谓的架构师。


其实在第一家公司的时候,就知道了原来架构师可以分为技术架构师和业务架构师。所以,不写代码就有了理由。也有一部分人认为技术架构师就应该写代码,还要写框架性的底层代码,才能显得出厉害。不一定写底层代码就厉害,那你怎么不写汇编汇编去呢?一段时间里,我也是这么认为的,不写框架的架构师都是骗子。但随着经验的增长,我认为代码风格非常的重要,能设计出优雅的 API 和层级结构也十分的可贵。同时我也明白一件事,底层不等于厉害。


所以,如何成为一名架构师?这个问题真的不用去想,奔着这个目标去走,最终会迷失自己。你只用想着提升自己的代码能力,增强对业务的理解,不要看什么架构师宝典,当一个技术 leader 就好了。

用户头像

ES_her0

关注

还未添加个人签名 2018.03.21 加入

还未添加个人简介

评论

发布
暂无评论
架构师是什么?