软件架构师是一个复杂的群体,很难区分那些是必要学的,那些是毫无益处的。保持对软件架构旺盛的学习能力、专一特长的深度研究、以及顾我自主的创新能力。我想也就大致可以了。
按工作内容架构的分类有两种:项目架构师和产品架构师。
1、项目架构师:要求的知识比较杂、更加要求技术的熟练度。对技术的成熟度要求严格。对创新基本没有要求。两三年内的成熟技术都不会过时。
其实对于项目架构师还有可以细分两种:
1-1、新规项目架构师:用自己比较熟悉的框架在与客户(拥有技术牛人的高端客户)充分商讨后确定的框架,任何新技术的应用必须经过客户的恩准。
1-2、保守(维护)项目架构师:对架构师的需求量少。200-300人月的项目可能只有一个架构师。日常作业就是解决各个工程阶段遇到的纯技术难题。类似于救火队员。从软件品质上来说架构师是必需的,对片面追求意义的项目经理来说是可以随时拿掉的或者任意驱使干一些杂役。
2、产品架构师:更注重于创新。对个人来说只是履新的需要。当然有更多的责任,也保持了软件前进的生命力。
我一直认为产品软件更多的是卖给对软件不了解或了解不多却自以为是(就像久病成医的庸医)的中小客户。这个很容易理解,他们的专长不在这里。又不可能有精力去养有很深知识背景的高级软件工程师。就像我们去买Iphone一样,因为我们对手机不了解或一知半解(特指那些融汇古今、上晓天文下知地理的伟<伪>牛人),我们只能被苹果戏弄。软件企业对客户的心情就像苹果对我们一样、看在还有竞争对手的份上,施舍你一些创新、施舍你一些可靠性。
我长期以来是做项目架构师的。客户大多是大型保险企业、银行、全球性的物流公司等。和老板和总工也和客户的软件研究员研讨框架的实现,他们大多柔中带钢,以软件设计者和最初使用者的眼光来看问题。与这些客户交流是平等的。他们懂得目前的工作是互惠的。这是客户信任的结果,不是噱头的效应。
另一方面我觉得产品架构师的就像苹果对我们一样。匆匆加几个功能就升级。但那份创造力还是令人肃然起敬的。
按技术熟练程度软件架构师的分类:
初级架构师:
薪资8K以下。能建个网站,把组件和WEB端区分开,建立一个完整的中小型系统。有萌芽和朴素的面向对象概念,能用上一些最新的技术。能解决一些实际问题。
中级架构师:
薪资8K-15K。有承担较大型系统的架构设计,能担任中型系统的架构组长。面对客户、面对本公司IT总监从容不迫。经验相对丰富,从容应付各种逆境,随时开拓和影响自己熟知领域的技术推进。
高级架构师:
薪资15K以上。以自己所在公司前景的名义影响业界。深谙公司的命运和我的命运几乎完全等价。全面参与公司的IT架构。中小公司的总工级人物。
我目前的工作中级架构师。担任过架构组长,也曾经以项目管理者的职责领导项目。
软件架构组组成:
1:基盘设计师
数据库设计、JAVA标签设计者、公司底蕴的缔造者。
各种工具制造:测试代码自动生成。bean自动生成工具。DB数据自动生成工具。画面数据自动生成工具。辅助基盘设计师
2:组件设计师
以目前项目为基础、分割模块、设计组件。
3:业务设计师
以BusinessLogic为基础,各个业务的具体实现方式。
4:系统服务师
解决项目中的各种问题。启动服务、配置服务、数据库维护、网络服务、组件实装。测试环境准备。系统Bug分析、和别的设计师联系等。
http://hiyachen.blog.chinaunix.net