美文网首页简友广场哲思想法
什么是架构师?这篇文章让你一看就懂

什么是架构师?这篇文章让你一看就懂

作者: 架构师的白日梦 | 来源:发表于2021-02-09 09:41 被阅读0次

    以前,如果别人给我讲一些不切实际的事情

    我会劝他洗洗睡吧

    因为梦里什么都有

    而现在,如果同样的情况发生

    我会鼓励他成为架构师

    因为架构师的PPT上什么都画得出来

    题:架构师也会做白日梦吗?

    文 王晓辰

    1 避不开的灵魂拷问

    架构师的白日梦,是我们简书/公众号的名字。

    为了起这个名字,我们花了不少心思。

    当时,我们自信满满,以为这将是一个朗朗上口、过目不忘的名字。

    然而现实并非如此。

    实操中我们发现,除了混迹于IT圈内的朋友,圈外的绝大多数朋友对“架构师”完全没有概念。

    每当我们厚颜无耻地给别人推荐这个简书/公众号的时候,总会换回对方一脸懵逼的表情和一句直击灵魂的拷问:

    “架构师是什么鬼?”

    what the F**K?

    一开始,我们不为所动。

    到后来,同一个问题问的多了,佛系的我们也坐不住了。

    思前想后,本着交流的初心,我们觉得还是有必要做出解释。

    于是,便有了现在的这篇文字,让我们冒死同大家聊一聊架构师的内涵和外延。

    需要事先说明的是,架构师并不为IT圈所独有,所以本文也

    不会出现各种奇怪的代码和符号,请大家安心往下阅读。

    我们保证,读完本文之后,你就是一名合格的架构师了。

    这话你TM也信?

    2 其实都是翻译惹的祸

    那么,架构师到底是干什么的?

    我会告诉你,架构师就是建筑师。

    说起来你可能不信,这一切都是翻译的问题。

    大家应该知道,架构师的英文是architect,而这个单词还有另外一种解释,那就是建筑师。

    建筑师大家都懂的,我国各省市那些奇葩的建筑就是出自某些鬼才建筑师之手。

    普通的职业也可以惊为天人,关于我国的那些奇葩建筑,有兴趣的朋友可以自己去搜一下

    作为一个普通的职业,建筑师的工作并不复杂。无非就是决定一栋大楼长什么样子,提供什么功能,用什么材料修,用多长时间修好,修好了能用多长时间。

    更进一步,在满足上述基本需求之后,一个优秀的建筑师还会考虑这栋建筑同周边环境和人的关系,此时他的思想需要打破时间和空间的限制,他要不停的追问:

    “在这栋建筑建成之后的漫长岁月里,人们会如何使用并改变它?”

    可以说,在建筑师眼里,一切都是变动不居的。

    唯有把时间、空间、人、自然和土木结合到一起,无限趋近天人合一的时候,建筑师的工作才算开始。

    只有当天灾人祸降临,当地震、战争、乃至小行星把建筑摧毁的时候,建筑师的工作才能结束。

    把生生死死都给你整的明明白白的,这才叫勾画蓝图

    凡是在今天用左手建好的,必将在明天用右手毁掉——这便是建筑师的道义。

    但是,无论如何,优秀的建筑师一定是以人为本的。

    而判断一个建筑师优秀与否,除了时间的考验之外,再无他法。

    那么架构师呢?

    在汉语的语境下,架构师更多是指程序员当中的一种职业,若没有特别的说明,一般指的就是“软件架构师(software architect)”,但不妨让我们重申一遍:

    架构师就是建筑师

    只是IT圈子总是喜欢标新立异,而汉语又是如此的博大精深,所以传到国内的时候,architect的叫法就变了,变成了“架”在火上烧都不“够”的架构师。

    随便找一个程序员问一下,如果他不想把他的架构师架在火上烤,算我输

    现在,解决了翻译的问题,架构师这个称谓似乎就没有那么高级了,不妨让我们土味一点儿、谦虚一点儿,承认这个不争的事实:

    架构师就是建筑师

    那么架构师都在做什么呢?

    建筑师做什么,架构师就做什么。

    建筑师设计摩天大楼,决定用什么材料和土木技术。

    架构师设计软件系统,决定用什么框架和软件技术。

    两者都是用专业手段解决各自专业的棘手问题

    只不过,建筑师的作品由一砖一瓦垒成,建好之后很难再作大的调整。

    比如,欧洲大陆上的那些气势宏伟的大教堂,他们往往有几个甚至十几个世纪的历史,中途可能会有小的修缮,但却不会有重大的改建。

    米兰大教堂,1386年动工,1897年完工,历时5个世纪

    而架构师的作品则是由一行行代码写就,开不开心可以改,随时随地可以改。

    一个架构师在一年半载后忘记了自己成名作的模样,请千万不要对此感到惊讶,也不要责怪他没有坚守自己的原则,因为不断变化才是软件工程的魅力之所在。

    胡说!挖坑和考古才是软件工程魅力之所在

    同建筑师一样,一个优秀的架构师同样要以人为本,毕竟软件系统往往都是一波人另外一波人造给另外的另外一波人用的。

    而考验一个架构师优秀与否,同样需要时间的淬炼。以至于在笔者所在的公司里流传着这样的一个说法:

    一个架构师要看三年

    那么,在日常工作中,架构师们都在想些什么、做些什么呢?

    为了回答这个问题,这里我们斗胆举个例子,这个例子来自笔者在考科目三时记下的笔记,内容是对电子考官系统的猜测。全文如下:


    对电子考官技术原理的猜测

    王晓辰 

    在练习科目三的过程中,很多时间都是在等待中度过的。利用等待的闲暇,我琢磨了一下电子考官的技术原理,大体记录如下:

    1 获得汽车的精确位置

    图中红圈处,就是GPS接收机

    如上图,车顶上的两个突起是GPS接收机。

    GPS差分定位技术可以让定位精确到厘米级,于是我们就获得了接收机在空间里的两个点,两点确定一条直线,这条直线恰好又在汽车的中轴线上,而汽车在平面(不考虑高度)上的投影以及两个接收机在投影上的位置都是已知的,于是就可以算出汽车边缘的精确位置。

    示意图如下(紫色表示纵横轴,蓝圈表示GPS接收机,黄线表示两个接收机的连线,黑框表示汽车在平面上的投影):

    经费就这么点,要求不要太高,能看懂就行

    2 判断行车中是否压线

    知道了汽车边缘的精确位置,判断汽车是否压线就变得很简单了:

    由于道路信息一般是固定的,所以只要将道路信息在平面上的投影输入系统即可,也就是所谓的“电子地图”。

    之后,是否压线的问题,就变成了平面上两个图形是否有相交的问题,初中数学就能搞定。

    3 获取汽车其他行驶数据

    至于汽车油门,档位,转速等数据的获取,相对比较简单,汽车本身可能已经提供了“接口”(毕竟这些数据都显示在汽车的仪表盘上了),直接使用就可以了。

    4 数据的汇总和处理

    考虑到本地处理数据的可靠性和电子地图、打分标准的统一管理等问题,车载系统应该仅负责数据上传(一套嵌入式系统加一张sim卡就够了),所有的数据处理全部在数据中心的服务器上进行。

    胡乱猜测一下,数据处理可能又分为两个子系统:

    其一,实时行车路径记录、规则计算和打分。

    其二,视屏数据监控和保存,便于后续回顾。

    此外,当然得有人工管控的管理系统,由此还可以发散出考试车流调度等各种子系统。

    5 总结一下

    可以推断,一个完整的驾考系统至少包括如下模块:

    考场基础设施,定位基站系统,车载客户端系统,服务端数据处理系统,车辆管理系统、考试调度系统等等。

    那么问题就来了,搭建这么一套系统,大概要多少钱才够呢?

    (完,于富阳考科目三时)


    且不说上面的猜测正确与否,通过这则粗糙的笔记不难看出,架构师的存在就是为了搭建一个能够解决实际问题的系统

    更进一步,架构师还要回答这个系统里的每个功能模块怎么摆放才合乎其理,还得搞清楚实现这么一套系统要花多少资金和人力。

    然而,这还远远不够。

    对于一个优秀的架构师,由表及里,我们对ta抱有更多的期望。

    我们希望ta能够熟悉业务,精通技术,长于管理。

    我们希望ta能够究天人之际,通古今之变,成一家之言。

    我们希望ta能够格物致知,正心诚意,热爱人类,对世界充满好奇。

    而所有这些希望,到最后都指向了架构师存在的终极目标——解决实际问题,以人们期望的方式改造世界——让我们(人类)活下去。

    所以甘道夫操起了mac,励志成为一名优秀的架构师

    写到这里,我们似乎已经超越了架构师的狭义定义。

    3 不要被虚名所束缚,要超越

    来到广义的世界里,我们认为,但凡是在某个领域里解决问题的人,都算得上是架构师。这里挂一漏万地举例三个例子:

    例一,在航天工程里,我国的“嫦娥”探月工程,花了16年(整个工程从2004年启动,实际上技术论证的起步时间更早),先后发射了“嫦娥一号”至“嫦娥五号”月球探测器,最后由“嫦娥五号”(2020年11月到12月)在月球背面成功登陆并安全返回。

    可以想像,要让一个探测器在飞行了38万公里之后安全地在另外一个星球上降落再安全返回,其中所要面临的问题和挑战必然不胜枚举,这里当然少不了架构师的身影。

    嫦娥五号这么牛逼的项目都延期过,没有什么项目是不可以延期的

    例二,在科幻小说里,如《三体》这样情节复杂、时间跨度极长的小说。若不是作者的精心架构和设计,让该出现的人物、该发生的事件以最合适的方式出现和发生,摆在我们面前的恐怕会是一本平淡无奇的三流科幻小说。

    甚者,就连《三体》的故事本身,也是围绕着解决一个重大问题(或者说矛盾)展开的,那就是:

    人类文明该如何对抗三体文明?

    《三体》曾经拍过电影版,这么牛逼的项目似乎也延期了

    例三,在我们的生活里,其他的且不说,单说父母花十几年时间把我们教育成人,中间我们没有他杀或者自杀,到现在都还健康的活着,虽然有时候生活的确不易,但是不可否认,我们的父母在某种程度上已经攻克了一个重大的架构难题。

    最后,可以看到,小到一个家庭的幸福,大到整个人类的兴废,全得仰仗这群架构师们的共同努力。

    回到日常生活中,我们无时无刻不在面临和解决着或大或小的问题,我们无时无刻不在做各种各样的架构决策——

    由此观之,生活中的每个人都是架构师。

    大家都在为了架构自己的美好生活而不懈奋斗。

    4 架构师也是人,当然要做白日梦

    对于架构师而言,在解决问题的过程中,严谨和务实是最基本的态度,切忌模棱两可、油嘴滑舌,而应拳拳到肉、药到病除。

    这是架构师脚踏实地的一面。

    但同时,架构师也要敢于做白日梦。白日梦可不是不切实际的空想,而是基于现实对未来的合理想象,是现实在未来的延长线。

    架构师不但敢于要做梦,还要兢兢业业、踏踏实实地把这些白日梦实现(否则就成了PPT和嘴炮工程师)。

    这是架构师仰望星空的一面。

    但是,为什么要做白日梦呢?

    周星星告诉我们:没有梦想的人跟咸鱼无异

    因为,当我们都在忙于搬砖、砌墙的时候,总得有人提醒我们,我们是在建造一栋宏伟的摩天大楼,而不是在玩泥巴。

    因为,当我们都在低头赶路、忙着去目的地看风景的时候,总得有人提醒我们,今晚的月色真不错。

    如果没有这些人的存在,我们可能将永远都无法体会到向上看有多么的快乐。

    当罗翔论及莎士比亚和郭德纲的快乐(图片取自GAMECORES)

    如果没有这些热衷于做白日梦的架构师的存在,没有这些在头顶闪耀的群星,人类文明之光必然会暗淡很多。

    谢天谢地,幸好现实不是如此。

    幸好现实不是如此!

    而我们的白日梦也必将继续下去。

    因为,不管是个体也好,整个文明也罢,白日梦才是我们逆流而上的最大动力。

    5 是时候callback(呼应)一下了

    最后,呼应文章开头的问题,如果再有人问起架构师是什么的时候,也许我们可以同ta深情对视,并问道:

    “那么,你有做过白日梦吗?”

    然后,趁对方一脸懵逼的时候,高声喊出下面的口号: 

    当架构师,做白日梦!

     当架构师,做白日梦!

    (全文完,文中图片素材均取材于互联网)

    作者介绍

    王晓辰,文字价值和文字理想的信仰者和践行者。

    他坚信,用心写就的文字具有无穷的能量,可以穿越时空阻隔,向读者传达最纯粹的经历、最质朴体悟以及最深邃的思索,最终完成思想的启迪和灵魂的交流。

    这也是他笔耕不辍地写这个公众号的初衷和动力——为了遇到可爱的你们,为了遇到能够结伴穿越人生这场天涯逆旅的同路人。

    欢迎关注:架构师的白日梦

    相关文章

      网友评论

        本文标题:什么是架构师?这篇文章让你一看就懂

        本文链接:https://www.haomeiwen.com/subject/lxvqxltx.html