架构师职业规划
现在已经从软件项目管理的职位上变换到 SE,即:系统架构师的位置上。
两年的项目管理经验和实践,已经表明自己是一名出色的项目经理。现在
我要更上一层楼,成为一名出色的系统架构师。但目前应该来说还不在状态,
好在刚刚开始,要不断地调试,使自己掌握这个职位的要求。这就要求进入
的时候姿态一定要低些,虚心学习,勇敢的表现自己,这样很快自己就会脱颖而出的。
系统架构师是软件的金领,但真正成器者聊聊无几,要好好规划一下。
1)要有扎实的软件基本功,知识面要广。
2)要有系统设计能力,多分析问题,特别是分析思路要重视。不光要懂得设计是什么,
更要告诉客户,这样的设计的好处是什么?为什么要这样设计?
3)看看这方面的书。看看成熟软件的系统架构。
学习、学习、再学习! 阿GAN努力吧,你会成为一名出色的架构师。就像你
曾经是一名出色的项目经理一样,出色的软件开发人员人员和维护人员一样。
转载一点关于架构师的资料:
书名 作者 星级*
软件构架实践 Len Bass等 ★★★★★
UML和统一过程 实用面向对象的分析和设计 Jim Aelow等 ★★★★★
UML和模式应用 Craig Larman ★★★★★
面向模式的软件体系架构 Frank Buschmann等 ★★★
系统分析与设计 John W. Satzinger等 ★★★
系统分析与设计方法 Jeffrey L. Whitten等 ★★★
大规模基于构件的软件开发 Alan W.Brown ★★★
重构 改善现有代码的设计 Martin Fowler ★★
分析模式 可复用对象模型 Martin Fowler ★★
软件构架评估 Paul Clements等 ★★
软件构架编档 Paul Clements等 ★★
面向对象的分析与设计 Andrew Haigh ★★
敏捷软件开发 Robert C. Martin ★
软件复用 结构、过程和组织 Ivar Jacobson等 ★
软件架构师职业导读 Marc T.Sewell等 ★
注*:这里给出的星级不代表书本身的质量,而是从架构工作的角度来衡量的,而且只是个人的一些看法,因为有些书我也没有仔细阅读,仅供参考。
书名 | 星级* |
软件构架实践 | ★★★★★ |
UML和统一过程 实用面向对象的分析和设计 | ★★★★★ |
UML和模式应用 | ★★★★★ |
面向模式的软件体系架构 | ★★★ |
系统分析与设计 | ★★★ |
系统分析与设计方法 | ★★★ |
大规模基于构件的软件开发 | ★★★ |
重构 改善现有代码的设计 | ★★ |
分析模式 可复用对象模型 | ★★ |
软件构架评估 | ★★ |
软件构架编档 | ★★ |
面向对象的分析与设计 | ★★ |
敏捷软件开发 | ★ |
软件复用 结构、过程和组织 | ★ |
软件架构师职业导读 | ★ |
{{{
心目中的架构师
架构师,英文源自建筑行业,被称为Architect,是软件行业中无数人都想坐上的岗位,得到的称号,那么你心目中的架构师又是怎么样呢,应该具备什么样的知识呢,你认为什么样的人才能称的上架构师呢??
从几个方面来讲讲我心目中的架构师:
1、技术能力方面。毫无疑问,作为技术岗位最重要的莫过于技术方面的要求了,架构师作为一个系统的全局分析者、设计者,在技术方面最重要的莫过于把握全局
的能力和将需求映射为架构的良好能力,需要同时考虑到架构的伸缩性、稳定性以及良好的性能。架构师同时需要根据团队成员的能力确定最适合的技术体系以及预
估能力,同样的,架构师也需要根据时间点等等这些来设计一个合理的架构,不能仅仅去追求架构体系的完美,很多时候是要进行权衡的。
2、培训能力方面。架构师需要具备清晰明了的讲解自己所设计的架构的能力,并能以合适的语言为程序员、需求分析人员、售前人员做培训,以他们都能听懂的语言进行架构的解释。
3、学习能力方面。架构师作为把握系统整体结构体系的人,需要不断关注技术的走势以及趋向,并了解各种技术的发展,这对于架构师在进行架构设计时快速做出合理、稳定的架构是很有帮助的,毕竟有得选择才有得比较。
暂时能想到的就这些吧,架构师是奋斗的目标,只有确定自己想象中的架构师才能按照这个目标去规划自己的路线,提升自己相应的能力。当然,经验其实是架构师必不可少的,个人认为,一个好的架构师如果有成功和失败的经历,这样的架构师会很优秀。
}}}
[
读《中国优秀软件架构师感悟录》
读《中国优秀软件架构师感悟录》
文章来源:《程序员》04.09。
偶原先认为,既然是软件架构师,顾名思义就是管理软件的设计与组织,需要了解需求,但更应偏重技术,读此文后,发现是自己见识所限,理解远远不够深入。
“软件架构师要主导系统全局的分析设计和实施、负责软件构架和关键技术决策。其工作职责是在一个软件项目开发过程中,将客户的需求转化为规范的开发计划及文本,并指定这个项目的总体架构,指导整个开发团队完成这个计划。
…他必须对开发技术非常了解,并且需要良好的组织管理能力。”
总结一下软件架构师的工作与需要的能力如下:
软件架构师需要肩负的责任及要达到的目标:
ü 需要对要设计的软件有清晰的认识
要理解自己要设计的是什么样的软件、将被什么样的客户在什么样的条件下使用、各方面的资源限制条件是什么等。
ü 要理解需求
产品既要反映对技术的需求,使得架构满足对技术的适配,对发布模式能够提供多样化支持,能够满足性能的要求,还要能够满足对业务管理的需要,要适应目标应用的业务特性。
ü 协调各方面解决技术问题
通常他的工作还包括作为技术专家负责协助开发部门、技术支持部门、产品规划部门等各方面解决技术问题。因此他的管理和沟通能力同样重要。
ü 要针对各种现实的情况作出合适的折中策略
人力总是不足,时间总是不够,完美设计无法全盘采用,那些项目可以改变,哪些又该坚持到底等。既要作出决定,又要让大家充分了解你做此坚持是出于何种考虑。
ü 架构是质量
好的架构可以使得软件产品成为一棵常青树,架构应具有优秀的质量,产品稳定可靠,同时还具有良好的技术适配能力。
软件架构师需要具有的能力(也是我们要有所选择补充和学习的方向):
ü 深厚的技术功底和开发技能
良好的架构师既要有好的大局观,又不能忽略细节。
ü 较强的学习能力
ü 具有宽广的业界信息
ü 创新的理念和兼容并包的胸怀,能够包容新的思想,愿意了解最新的技术和想法
ü 需要良好的沟通和管理能力
ü 对需求的理解能力
ü 分析和解决问题,将需求转化为设计的能力
总结:
软件架构师是客户需求和开发者之间的桥梁。软件行业中一般提到的架构师是技术架构师,而实际上产品架构包括业务架构和技术架构。只有技术架构和业务架构紧密结合才有可能真正创造出一个好的系统。
这些优秀架构师的感悟也给我们的学习和发展提供了很好的指引,不管将来是否把架构设计师作为自己的发展目标,我们都可以从中获得很多有益的经验,少走弯路。
特别是,今天中午跟胡哥聊了一下,从他MBA的角度看待软件行业,看待自己将来的发展,感觉茅塞顿开。
转自:http://note.sdo.com/u/855924134/n/P15SC~jqH_iFnM01g00s-1