架构感悟

2018/04/15 23:28
阅读数 42

        通常说架构是一种能力,架构角色则是要求你在具体事务中行使某些行为,而架构师则是用来标识这些能力与行为的一个职务。
        当一些人将个人成长定义为 “职业发展” 时,就表现为 “怎样成为架构师” 这样的问题。对此有三种解决方案,第一种是印一张写着这样头衔的名片,而 “是与不是” 架构师并不重要;第二种是直接否定这个职务的意义,比如声称敏捷天生就是反架构的,于是 “架构师” 变成了要打倒的对象,所以成不成为这个将被打倒的对象也就不重要了;第三种则干脆声称 “人人都是架构师”,既然人人都是了,那么 “如何成为” 也自然就不重要了。
        我们大多数人都具有架构的能力,并且也或多或少地行使某些架构角色的行为,唯一缺乏的只是一个叫做 “架构师” 的头衔而已。问题出在我们总是期望别人通过这样的头衔来认可自己。于是我们为自己贴上这样或那样的标签,然后跟别人持有的同种标签去比对,期求出现一致或找出某种差别。于是我们听到种种声音:某某某真的是/不是、像/不像架构师;如果是架构师,那么就要这样那样,以及怎样怎样;其实这个架构、这样的架构,或某种架构应该怎么做;以及架构是什么,架构师是什么,等等。回顾 “三种解决方案”,仍是困在这样的认可求同之中,与之在做着种种斗争罢了。
        其实不单是你的所见阻碍了你自己,你还被别人的所见阻碍着。
        朋友跟我聊他家的两岁小孩:“我刚把桌子收拾好,一转眼杯子碗筷什么的都全摔在地上了。” 我问:“怎么了?” 他说:“小孩子什么也不懂啊,她看到桌布觉得喜欢,就一把抓过去·····” 
        小孩子没能看到桌子上还有杯子,但正因为他们的视线里没有杯子,他们的行动才简单直接,才直达需求,才迅速。而我们的眼睛里有杯子、桌子、桌布等一切,我们经年累月地地维护着其中的次序与关系直到这些东西混成一体,然后我们便日日坐守在它们的面前,而又无觉它们的存在。
        正是我们自己不知不觉地设定了这些事物之间的界线,并把这些界线、层次与逻辑井然的东西称为 “系统”。当我们从那些无序的事物中识别出了这样的 “系统” 并用一些概念、名词去定义了它们之后,我们对比的一切知识也就固化了。当这种秩序被建立起来之后,我们也就得到了对有序和无序的价值识别;当我们设定了种种价值、观念、观察与系统的模型概念之后,也就完成了这个系统的架构。
       但这一过程,包括完成这一架构(它可以命名为 “世界观”)的方法以及结果,在本质上不过是让你从一个格子跳到了另一个格子而已。我们处在种种界线之中,再也无法回到两岁小孩的、一切无碍的视角(在那个视角下,根本就没有所谓的界线)。你之所以时时在寻求跨界、其实是源自你假设了 “存在界线”,这就如同全栈的含义其实是 “没有栈” ,而当有人信心满满地要 “成为全栈工程师” 时,他的眼里便有个 “这个栈” 的存在。
        所谓跨界不是指你能力与方法上的变化,你的作为取决于你的格局,你的格局取决于你的所见与认知。
        架构师需要超越自己与别人的所见,因为你观察与架构的对象称为 “系统”,你看到系统多少的 “真相”,决定了你用怎样的实现方式去表现它,进而推进与实现,亦即是架构。我们既已知道的、理解的、明白的,形成了我们的知识与行为的一切,却也正是阻碍着我们前进的东西。这些障碍正是你以为你最珍视的、最不可放弃的、最感触颇深的、最深刻体验过的那些经验与成就。在这些所得与所碍中挣扎与决策,就是架构师的全部职责。因此作为架构师,你需要能够超越自己对系统的既有认识,看到你在光明中——显而易见之处——所未见的,这是你驱动系统架构进化的主要动力。
        所以架构中最难超越的并不是某个大师或前辈,而是你以及你为自己所作的设定。当你设定了 “架构师” 这个目标,便设定了这个目标所表达的某种角色,你最终可能变得跟这个角色完全一致(成为所谓的 “真正的架构师”),但你仍不过是困囿于对这个 “角色” 的一个假设/设定而已。唯一破局的方法是:超越别人对某个角色的定义,将自己做成这个角色。
        至此,你是否还在这个角色之中,就是你的觉悟了。
 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部