我见过的架构师有两种,一种是码农一步步成长蜕变成的架构师,一种是PPT架构师。
我希望大家都能成为前者。
我现在差不多能算半个架构师,为啥是半个,因为本身是要带项目的,但是也会负责产品线内其他项目的架构设计和评审工作,姑且算是半个吧。我分享一下我的看法,如果有不对的地方欢迎大家留言指正。
技术单位中,不管是我这种半个架构,还是转职的架构,都是技术出身的,甚至现在也会写一些代码,所以技术能力是必不可少的。
深入了解一门语言,对其他的一些编程语言也了解过一些。
编码能力一定要过关,有些时候甚至会要求架构师亲自上阵写代码的。
深入的学习过一些主流的框架,有些甚至需要研究到源码的级别。架构嘛,技术一定得是要过关的。成长的道路上,谁还没研究过一些源码。
熟悉大多数流行的框架、中间件,达不到深入研究源码的程度,但是至少使用过、优缺点是什么、使用场景是什么。这样在架构设计的过程中,可以根据实际的需要,选择合适的技术。
业务在一个业务领域,有着一定的业务知识储备。比如一个银行业务的机构师,去一个电商网站做架构设计,肯定玩不转哟。
需求分析能力:所有的机构设计,都是在了解用户的业务流程之后,才开始做的。要充分的理解用户到底想要什么功能,再去设计怎么实现这些功能。甚至有些时候用户自己都不知道要什么,需要架构帮他们去思考、去设计。
业务抽象能力:业务功能最后要是要用代码来实现,架构师需要对系统中的各种子系统、模块,以及它们之间的关系、如何交互等行为,进行抽象;用知识和经验来解决实际的业务问题。
其他沟通能力:和用户、需求沟通,和领导沟通,和项目经理沟通,和开发人员沟通。
文档和画图能力:沟通明白了,还是要落实在文档上,特别是画图的能力,很重要,赶紧下一个Visio好好练练。
提出问题、提出质疑的能力:我就属于听到用户的需求,容易说“行行行,好好好,可以实现”。其实用户提的需求不一定合理,可能花费大量的时间去实现,最后却不是他们真正想要的东西,要多质疑他们,给他们提更好的解决方案。
学习能力:保持一定的技术敏感度,需要不断的学习新的技术。比如十年前项目缓存都用的是ehcache,现在都用memcached、redis,说不定再过几年又有更好的解决方案了。
希望我的回答能够帮助到你!
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有