zoukankan      html  css  js  c++  java
  • 软件架构师如何工作

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    Spark Steaming消费kafka数据条数变少问题
    intellij idea 搜索
    ZooKeeper shell
    linux 端口映射设置
    maxCompute odps 行转列
    dev stg prd 开发 测试 生产环境
    大数据之路
    MYSQL性能优化
    JavaScript学习笔记-setTimeout应用
    JavaScript学习笔记-函数
  • 原文地址:https://www.cnblogs.com/wyl814922595/p/10508139.html
Copyright © 2011-2022 走看看