系统架构师应该具备哪些能力
426
2013-3-3

一般来讲,系统架构师应该拥有以下几方面的能力:

  1. 具备 8 年以上软件行业工作经验;
  2. 具备 4 年以上 C/S 或 B/S 体系结构软件产品开发及架构和设计经验;
  3. 具备 3 年以上的代码编写工作经验;
  4. 具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验;
  5. 对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;
  6. 对 .Net/JAVA 技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE 架构和设计模式,并在此基础上设计产品框架;
  7. 具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发;
  8. 精通大型数据库如 Oracle、Sql Server 等的开发;
  9. 对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础;
  10. 在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例;
  11. 良好的团队意识和协作精神,有较强的内外沟通能力。

架构师的隐形职责包括:

  • 为技术部门提供技术支持
  • 在最需要的时刻去攻克最艰巨的技术壁垒
  • 幕后项目经理
  • 业务部门与技术部门间的粘合剂
  • 业务发展的催化剂

构架师自我培养过程

构架师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结构架师自我培养过程大致如下,仅供参考。

1. 构架师胚胎 -- 程序员

学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。

2. 构架师萌芽 -- 高级程序员

学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com+、webservice(研究生可以研究网络计算机、高性能并发处理等内容)

3. 构架师幼苗 -- 设计师

应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c++版本、java版本)、ejb设计模式、J2EE构架、UDDI、软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。

4. 软件构架师的正式成型在于机遇、个人努力和天赋软件构架师其实是一种职位,但一个程序员在充分掌握软构架师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理构架、如何不断的抽象和归纳自己的构架模式、如何深入行业成为能够胜任分析、构架为一体的精英人才这可不是每个人都能够遇上的馅饼……