架构师是软件开发活动中的众多角色之一。
微软把架构师分为4中:企业架构师EA、基础结构架构师IA、特定技术架构TSA和解决方案架构师SA,微软的这个分类是按照架构师专注的领域不同而划分的。
EA的职责是决定整个公司的技术路线和技术发展方向。
EA和IA的工作是提炼和优化技术方面积累和沉淀形成的基础性的、公共性的、可复用的框架和组件。
TSA主要从事类似安全架构、存储架构等专项技术的规划和设计工作。
SA的工作专注于解决方案(产品、技术或理论,不断进行组合,来创造满意客户的需求)的规划和设计。
大公司会把各种类型的架构师分得清楚,小公司一般不讲究。架构师是IA+TSA+SA,一人包打天下,所以说大公司出专才,小公司出全才。软件架构师基本上是TSA+IA,程序员最容易突破。
要想成为软件架构师软件研发工作者大致要分三个阶段
第一阶段:新手期阶段
需求和应用环境的掌控能力还不强
新手期程序员的不成熟还体现在团队表现上
第二阶段:中级程序员阶段
中期的程序员虽然在应用层面上已经相当严谨,但在系统层面的掌控力却并不强
第三阶段:高级程序员/分析师/架构师阶段
进入这个阶段的前提是多年的工作经验,广阔的知识面和对系统底层到高层的全面认识,已经使其进入了无语言无工具的层次。一定需要有团队的开发和管理经验。
总而言之,要想成为一名优秀的架构师需要具备各方面的素质。一个良好的团队必须有新老交替才能不断进步,老人要舍得带新人,才能使社会的技术不断强大。