在我看来,架构师应该是两个领域的问题的专家。一个是问题领域,一个是计算机领域。而且这两个领域都必须要有很强的基本功。在计算机领域,他必须熟悉很多的体系结构;在问题领域,他必须了解要解决的问题,能够很快地辨识这些问题,并且可以把这些问题转换成计算机领域的描述方式。这两个领域缺一不可,而且了解还必须要深入。
除此之外,架构师必须要具备逻辑思维能力,也就是分析问题和解决问题的能力。其他类型的技术人员只需要了解一个相对比较小范围的知识。比如一个程序员,只需要按照架构师给出的解决方案,把你的任务完成就可以了。而架构师要从整体上分析问题、解决问题。他可能对实际的程序不一定非常了解,但是他知道怎么样把一个具体的业务问题变成技术问题,他必须在这方面高人一等。
架构师除了要了解技术领域知识和业务领域知识之外,还可以多了解一些其他领域的知识,这对培养逻辑思维能力很有帮助。像我以前就对很多事情都很感兴趣,比如一些物理方面的知识,这也有意无意地训练了我的逻辑思维能力。当然,这与个人的兴趣有关。同时,架构师应该具备关联不同知识领域的敏感性。人类在做一件事情的时候,有时候会受到启发关联到其他的事情,这对手上的工作也是有帮助的。
架构师的分类
现在业界的架构师一般分为系统软件架构师与应用软件架构师两种,二者之间的差距还是很大的。系统软件关注的范围更狭窄一些,更关注计算机领域。而应用软件架构师主要关注的是业务方面。有些公司会把自己内部的架构师分为数据架构师、业务架构师、平台架构师等等,我对这种分法不是很赞同。
一个架构师实际上应该是一个领袖。产品或项目在架构上是由他一个人来决定的。团队里面有各种分工,大家考虑问题的出发点可能差别很大。如果没有一个架构师来统领全局,大家的意见就很难统一。这对架构师的要求就非常高了, 他必须具备各个方面的专业知识,这样才能带领团队前进。如果把他的职能打散了,实际上是不合理的。而且这些人也不应该叫架构师了,不妨称之为各个技术领域的分析员。我们看一些伟大的建筑,实际上这些建筑的架构师只有一个人。可能会有很多助手来帮他做很多东西。但是一些统领全局的想法还是要由架构师一个人来决定。
架构师经常要与孤独为伴
架构师遇到的最困难的事情,就是必须要做别人没做过的事情,要比别人领先一步去了解一些知识和技术,事先有一个清晰的认识,这样才能帮助团队其他人。这点是比较难的。经常自己在探索的时候,困难重重,也得不到别人的帮助,只能靠自己孤军奋战。
技术架构总是在不断演变的,对于真正的架构师来说,解决问题的思想、思维方式最为重要。有了这样的思想和思考框架,再借助一定的工具,就能把自己的思想转化成解决问题的具体方案。思想,是架构师一生相伴的好朋友。
如果让我说具体哪些人是非常好的架构师,可能一时说不上来,但是有一句话我可以保证:每一个成功的产品背后一定有一个伟大的架构师。
与架构师相关的误解
目前业界对架构和设计的认识上应该是存在一些误解的。架构,要分析业务领域的问题,把其中的一些计划、理念、概念转换成计算机领域的表达方式,这跟设计还不完全是一回事。设计,就是有了一个目标之后,做具体的事情,把这些计划、理念变成程序。而架构是从无到有的,架构师要能“无中生有”地建立一个模型。设计更像是一种施工人员。
随着我们国内IT水平的不断提高,相信大家对于“架构师”这个名称的定位会越来越清晰。 现在好像谁都是架构师,谁都可以做架构师。比尔· 盖茨在退休之前称自己为“首席架构师”,后来国内很多人也自封为“首席架构师”了,他们可能觉得这个名字很好听。但是这个职位并不像他们想象的那样,要能真正深入到领域里面去,而不是挂一个好听的名头。现在有些企业为了赶时间做项目,对于架构还并不是很重视。实际上架构师的职责是非常重要的。只有架构做好了,产品的生命力才能延续很长时间,否则将来一定会遇到很多问题。
架构师应该不断学习
除了逻辑思维能力之外,学习能力对于架构师也很重要。比如让从未接触过ERP 产品的架构师去做ERP产品的架构,可能一开始不知道是怎么回事,但是有学习能力,再了解一些基础的东西,他很快就能赶上来。
想成为架构师,没有捷径。只有通过自己的努力,在每天的工作中不断总结,不断学习。
[来源:http://touchmm.iteye.com/blog/1105932]
分类目录
- arch/management (17)
- computer (38)
- java/j2ee (305)
- lnmpa (237)
- mac/iphone/ipad/android (11)
- mysql/oracle/postgresql (126)
- os/software (74)
- other (518)
- python (6)
- redis/memcached/mongo (31)
- sitebuild (143)
随便看看
标签云
程序员 创业 人生箴言 eclipse 快捷键 术语 索引 unix命令 vim wordpress java学习笔记 环境变量 oracle内置函数 index 人生 数据类型 nohup tuxedo mysql学习笔记 MS-DOS命令 servlet spring 职场进阶 职业进阶 服务器选购 服务器选型 apache JPA MongoDB 注解 tomcat 子女教育 jquery maven JVM aix命令 网络营销 java异常 seo 人生规划 关键字 css 网络推广 struts 系统优化 成长 frame iframe bluehost jdbc select 我的信仰 oracle函数 cookie HashMap 站长工具 乱码 ArrayList secureCRT jsp session tail find halt 事务 oracle单记录函数 算法 URL window table javascript操作表单元素 String 字符串处理 健康 http 域名 情感 more google A记录 域名解析 netstat 弹出对话框 弹出窗口 框架集 框架 excel 字符串 javascript函数 showModalDialog nginx number 数组 sql frameset 开源程序 java数组 软件 oracle服务友情链接
收藏链接