软件架构师如何工作
根据王该凯的博文王概凯 - InfoQ写一篇关于软件架构师如何工作的1500字博客。
根据王概凯的博文有感而发写一篇博文,这篇博文是关于软件架构师是怎样工作的。
提到软件架构师你首先想到的是什么呢?
首先我要先解释一下什么是架构,就是:
根据要解决的问题,对目标系统的边界进行界定。并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。根据上一步使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有的工作。
架构实际上解决的是人的问题,任何问题都是人提出来的,都是围绕人来展开的,所以解决问题的关键还是人。
那么我们就需要了解和正确认识问题,这就需要问两个问题:
1、这是谁的问题?
2、有什么问题?
如果问题太大,大到一个人无法解决,需要两个人,三个人甚至更多的人,这就需要做到架构之架构切分。
首先我们要非常的清楚,所有的切分调整,都是相关人的利益的调整。随着社会的发展,分工是必然的,因为每个人的精力都是有限的,不可能什么都懂,所以自然要舍弃一些自己不擅长的东西,用自己擅长的东西去换取别人擅长的东西。
架构切分的结果一定是一个树状,这也就是为什么会产生分层。层数越多沟通越多,效率越低,分层越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。
那么什么是软件?什么是软件架构?在硬件上编出的程序,就是软件,是用来控制硬件的行为的。软件架构的出现导火索就是软甲工程师的任务台中,我们需要组织架构的调整。拆分的原则也是一样的,如何让权责一致。
好了废话不多说了,如何做一个合格的软件架构师?软件架构师必须是一个组织的领导人。架构师是要去平衡别人的利益,甚至会调整别人的利益的。一旦架构师是全心全意的为别人的利益服务,自然而然的架构师就拥有了强有力的影响力,肯定是一个Leader。但是只是名义上的Leader是没有用的,不能完全的发挥架构师的能量。
架构师必须是一个组织的领导人,有权利调用者住址的架构,才能够更好地发挥架构师的作用,更好的把利益的调整到实处。反过来,具备架构师能力的组织领导人,一定是一个很好的领导,这个组织一定是很健康向上的,因为每个人的权力和义务就是比较均等的。并且这类领导对于组织成员权利和义务对等状况会非常的敏感,会及时的调整组织结构,在问题发生之前就解决了。这个组织的成员内心一定都是比较平衡的,每个人的能力都能得到比较好的发展。
架构师必须能够超越时间对的恐惧,也就是必须具备了一定程度的自信,哪怕是装的,去真正发现问题的主体,识别真正的问题,并把这个行为变成为自己面对问题的第一反应。架构师还必须明白,所给出的解决方案,架构的分拆、合并方案,只有让问题的主体的权责对等,才能正真的解决被人的问题。一般明白问题的主体,以及主体的利益所在,做到这一点也没有问题。