欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅谈对IT架构师的理解

程序员文章站 2022-04-15 20:06:01
写此文章来源于到新公司的感触,我在新单位任职解决方案架构师职位,到了新公司碰到新同事大多以一种“异样”的眼光看着我,或者发出一些声音,比如:“哇,架构师啊。。。”。我能理解这些行为,也尽量的去解释和淡化同事们对于IT架构师(后面统称:架构师)的那种距离感,让他们觉得架构师其实也是一名大众的技术人员,不是什么高不可攀的职位。 许多程序员或者IT技术人员对于架构师有着“敬畏”之心,说是“敬畏”倒不如说是不太清楚架构师到底负责什么具体工作,想成为架构师需要什么样的条件或者如何通过学......

        写此文章来源于到新公司的感触,我在新单位任职解决方案架构师职位,到了新公司碰到新同事大多以一种“异样”的眼光看着我,或者发出一些声音,比如:“哇,架构师啊。。。”。我能理解这些行为,也尽量的去解释和淡化同事们对于IT架构师(后面统称:架构师)的那种距离感,让他们觉得架构师其实也是一名大众的技术人员,不是什么高不可攀的职位。

       许多程序员或者IT技术人员对于架构师有着“敬畏”之心,说是“敬畏”倒不如说是不太清楚架构师到底负责什么具体工作,想成为架构师需要什么样的条件或者如何通过学习成为一名合格的架构师。那么,作为一名架构师职位者,之所以这么说,是我觉得我从某种意义上还不完全算是一个合格的架构师;但作为个人从事架构师这一角色去工作的一些经历和感悟,想分享出来与有志者共同进步。

        首先,关于架构师的解读或者问题有很多方面,不打算铺开去谈,那么就从最基本定义入手,架构师的定义在网上有很多解释,我也并不想照抄,我个人觉得作为一名架构师,就要有自己的想法和理解,照抄谁都会,真正理解才是根本。虽然架构师根据工作内容的偏重又可为很多类型的架构师,但我还是想基于最原始,最抽象的去泛泛定义架构师。有可能并不能完全反应当前社会中架构师这一角色,但我还是力求去描述清楚,我个人对于架构师的定义就是:

        根据需求,将需求转化为成体系的IT系统框架以及对关键技术进行阐述的角色。

        我的定义有几个重点就是:

        1、对需求进行分析和抽象;

        2、形成成体系的框架,实际就是解决方案;

        3、对于用到的关键性技术,要重点描述和解释,让人能够明白,能落地。

        所以,根据以上解释,架构师定义可简单的归结为:架构师就是要把需求转化成可实现的解决方案的技术人员

    其次,我想谈谈如何成为一名架构师。百度里面有段话,我在这里引用一下:

         “————系统架构师的工作在于针对不同的情况筛选出最优的技术解决方案,而不是沉在具体实现细节上。此外系统架构师是不可  培养的,好的系统架构师也许不是一个优秀的程序员,但是不能不懂技术之间的差别,技术的发展趋势,采用该技术的当前成本和后继成本,该技术与具体应用的偶合程度,自己可以调配的资源状况,研发中可能会遇到的风险,如何回避风险。这些才是架构师需要考虑的主要内容。

        相信很多人都会百度,所以我想就这段话来展开来谈谈,首先架构师“不是沉在具体实现细节上”,这句话意思有两层:

        其一、架构师的格局和全局观一定要够高,要重点考虑框架性的内容。

        其二、架构师不能在实现细节上过多的纠结。

        但是这里面有些问题,比如:架构师的格局和全局观要高到什么程度?什么样的情况算是够高?什么样的东西算是实现细节?什么情况下要考虑细节?那么这些问题该怎么去考量,我想这应该是架构师要去重点思索的地方。因为是浅谈一下,所以就上面问题简单的说说自己的想法。

        架构师的格局和全局观,就是要从一个需求的目标出发,为完成目标自顶向下的分解目标和完成目标所需要的做的事情的清单,然后找到任务清单之间的相互关联性,建立基础模型。全局观就是你要始终瞄准最终目标,格局就是你要把注意力放在基础的、原始的、简单模型上面去反复考虑可行性和合理性。

那么什么样的情况算是足够高,我个人觉得够用就行。够用的原则就是取对目标有直接影响的事情,也就是事情分主要和次要的,重点考虑主要的格局就算够了。

什么样的东西算是实现细节?实现细节就是基于一件事情,将任务分解到原子级别,也就是不可再分或者是分解下去已经没有太大的意义的时候,要去做的一些事情。

“此外系统架构师是不可培养的”这句话怎么理解?很多人肯定第一反应就是这句话不对。我要说的是这句话有一定的道理,只能说不全对。这句话的意思就是透露了一样东西,架构师光靠培养是不够的,因为架构师是一条不归路,一入豪门深似海能够比较形象的解释这句话。架构师的工资待遇相比之下的确是很好,但是架构师付出的艰辛也是巨大的。架构师不仅要学会很多的知识、方法论,还要自发的、持续不断的学习。大家都知道IT行业的知识体系变化太快,而且现在也是知识爆炸的时代,面临海量的知识和技术,作为架构师需要日复一日、年复一年的不间断的学习,以便能够跟上技术时代的发展,如果知识体系滞后,你就不能被称为架构师了。

“好的系统架构师也许不是一个优秀的程序员”,的确,我其实不算是一名优秀的程序员,虽然我做了10年的开发,但我觉得自己跟优秀挨不着边。从另外一个层面来说,架构师的思维模式和优秀程序员的思维模式还是有很大的差别。我经常看到很多人把一些成为优秀程序员的技能拿出来当架构师的必备修炼之课。觉得这其实是没有理解架构师的重心在什么地方,以为优秀程序员就是架构师的必经之路,这个想法不能说错,但也不对。架构师重在宏观的取舍,优秀程序员重在精细化,两者思维模式从某种程度来说,还是一种对立。架构师考虑问题都是基于理论上的论证,重在理解原理和机制,以及应用场景的合理性、合规性、风险性、扩展性以及可用性。还会考虑做事情的成本、人工、周期、现有团队能力等等相关性的问题。所以,对于项目或者产品来说,架构师不是必要的,但是有架构师的团队就能够保证目标的达成率更高、综合成本更低、周期更短。只是架构师的头发就更少了。

最后,对于想成为架构师的人来说,首要的肯定是要有开发经验,虽然优秀程序员不是必经之路,但优秀程序员优势仍然存在。最关键成为架构师的因素不是你看了多少的书,明白了多少的套路,而是在于你要将所学的东西真正转化成自己的知识,让它成为你知识体系树上的一个分支、一片绿叶,你要真正的把知识学懂学透,做到灵活运用才是关键。所以,从某种意义上来说,架构师真不是培养出来的,而是在很多工作中磨砺、学习且不断总结出来的,如果你想成为一名合格的架构师,那么你首要做的事情不是别的,学会锻炼自己的思维:不断分析、不断总结、强化逻辑。

 

 

本文地址:https://blog.csdn.net/chendygame/article/details/108210678