如何成为优秀的软件架构师
显而易见,在软件开发过程中,一个优秀软件架构师的重要性是不应低估
的。那么如何成为优秀的软件架构师呢?
首先必须具有丰富的软件设计与开发经验,这有助于理解并解释所进行的
设计是如何映射到实现中去。
其次要具有领导能力与团队协作技能,软件架构师必须是一个得到承认的
技术领导,能在关键时候对技术的选择作出及时、有效的决定。
第三是具有很强的沟通能力,呵呵,其时这一点好象什么鬼角色都最好具
备,软件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人
员、项目经理、网络管理员、
工程师等等,而且在很多角色之间还要起沟通
者的作用。在技术能力方面,软件架构师最重要也是最需求掌握的知识是构件通
信机制方面的知识,比如
JAVARMI、
COM/
、各种
标准的通信协议、网络服务、面对
数据库、关系数据库等等,另外,架构师应
时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。开发
语言、
和开发平台不断很快地升级,软件架构师需要吸收这些新技术新
知识,并将它们用于
开发工作中。当然,行业的业务知识对软件架构师
也是很重要的,有助于设计
出一个满足客户需求的
,优秀的软件架构师常常因为要尽快获得
对行业业务的理解而必须快速学习并且进行敏锐的观察。
上 面的描述是枯燥乏味的,但作为一个软件架构师,在整个软件系统的开
发过程中是乐趣无穷的,因为这个角色很具有挑战性,有时需要左右逢源八面
玲珑,有时又需
要果断坚定不留情面。在国内,较少软件企业拥有独立的架构
师,通常一个软件高手身兼数职,既是项目经理,又是软件架构师,还是软件
开发者,有时还要客串一
个测试人员,这对软件的开发周期和产品质量是不利
的,有时一个人的观点立场是很片面的,而且繁重的工作、沉重的压力会影响一
个人的情绪,情绪会影响决策,
决策影响结果,所以值得我们三思而后行。
构架师自我培养过程
构架师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不
行的。总结构架师自我培养过程大致如下,仅供参考。
1、构架师胚胎(
员)
学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包
括
java、c、c++、
socket 通信(通信协议)——学习搭建应用
系统所必须的原材料。
2、构架师萌芽(高级程序员)
学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分
布式系统原理、
corba、com/com+、webservice(研究生可以研究网络
、高性能并发处理等内容)