软件架构师如何工作

  阅读了架构漫谈的相关博客后,我对架构这一词有了一定的了解,同时也对软件架构师如何工作有了初步的认识。

  在探讨软件架构师的工作程序之前,我们得明白,何谓架构。架构这一词在软件发明的很多年前就已经存在了,架构到底是什么?在软件行业里,每个人都有自己的理解,目前没有大家都认可的定义。王概凯将其理解为:

1、根据要解决的问题,对目标系统的边界进行界定。 

2、对目标系统按某个原则的进行切分。

3、使得这些部分之间能够进行有机的联系,合并组装成为一个

整体,完成目标系统的所有工作。

  架构实际上解决的是人的问题,而概念是人认识这个世界的基础,自然概念的认识具有非常重要的意义。要做好架构,首先必须具备能够正确认识概念的能力,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。

  做架构的时候,很多时候都是在一个新的领域解决问题,必须要快速进入并掌握这个领域,然后才能够正确的解决问题。想要做好架构,必须识别出需要解决的问题。一般来说,如果把真正的问题找到,那么问题就已经解决了80%了。这个能力基本上就决定了架构师的水平。架构师应该问的第一个正确的问题就是:目标问题是谁的问题。作为软件工程师或者架构师,我们大部分时候是要去解决别人的问题,“别人”是谁,是值得好好思考的。

  找出问题的主体,是做架构的首要问题。我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。再进一步,我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题架构师都要明白:发现问题永远都比解决问题来的更加重要。从问题暴露的点,一点点去溯源查找,一定会找出来谁的问题,以及是什么问题。总的来说就是,要正确的认识问题,需要明白两点:1、这是谁的问题?2、问题是什么?

  当我们说软件架构的时候,我们一定要讲清楚,究竟说的是部署的架构,还是代码的架构。软件架构的落地,需要软件的组织架构和流程来保障,离开了这个,软件架构是一句空话。

  架构师必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。架构师的前提条件是:把完成别人工作当成自己的最大利益,消除对时间的恐惧,明白怎么去发现问题,在自己所服务的领域建立起自信。只有做到这一点,才能成为一个合格的架构师。

最高明的架构师明白这两个问题:1、别人究竟有什么问题?2、如果问题不解决,究竟谁会有利益的损失? 如果问题解决了,究竟谁会有收益,谁的收益最大?抓住这两个点以后,大部分时候架构师自己根本就不需要做什么,问题就都解决了。

  架构师是要去平衡别人的利益,甚至会调整别人的利益的。一旦架构师是全心全意的为别人的利益服务,自然而然的架构师就拥有了强有力的影响力,肯定会是一个领导者。但是只是民意上的领导者是没有用的,不能完全发挥架构师的能量。架构师必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。或者也可以这样说,一个合格的组织领导人,一定必须是一个合格的架构师。

  架构师的义务是发现问题并且解决问题。架构师必须能够超越对时间的恐惧,也就是说必须具备了一定程度的自信,哪怕是装的,去真正的发现问题的主体,识别真正的问题,并把这个行为变成为自己面对问题的第一反应。架构师还必须要明白,所给出的解决方案、架构的分拆、合并方案,只有让问题的主体的权责对等,才能够真正的解决别人的问题。一般明白了问题的主体,以及主体的利益所在,做到这一点也没有问题。此外,对于架构师来说,语言和技术应该是随手拈来才对,这些是基本的工具。

  软件架构师是一个具有挑战性的工作,认识了软件架构师是如何工作的以后,我们更能明白成为一名合格的软件架构师并不是一件易事。

posted on 2019-03-09 18:50  同手同脚&&  阅读(84)  评论(0编辑  收藏  举报

导航