`
fishermen
  • 浏览: 380971 次
社区版块
存档分类
最新评论
阅读更多

构架师之路!!!
胡德平◎《Java联盟》客栈论坛

构架师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,构架师是企业的人力资本,与人力资源相比其能够通过构架、创新使企业获得新的产品、新的市场和新的技术体系。那么什么是构架师、构架师的作用、如何定位一个构架师和如何成为一个构架师呢?这是许多企业、许多程序员朋友希望知道的或希望参与讨论的话题内容。

我在此抛砖引玉,就上述几个问题把我的体会和理解做简单阐述。

所谓构架师通俗的说就是设计师、画图员、结构设计者,这些定义范畴主要用在建筑学上很容易理解。小时候到河中玩耍,经常干的事就是造桥,步骤如下:1、在沙滩上画图;2、选择形状好看、大小适合的石头;3、搭建拱桥。其中我们挑出来画图的那位光PP小孩就是传说中的“构架师”了。

在软件工程中,构架师的作用在于三方面:1、行业应用构架,行业构架师往往是行业专家,了解行业应用需求,其构架行为主要是将需求进行合理分析布局到应用模型中去,偏向于应用功能布局;2、应用系统技术体系构架,技术构架师往往是技术高手中的高手,掌握各类技术体系结构、掌握应用设计模式,其构架行为考虑软件系统的高效性、复用性、安全性、可维护性、灵活性、跨平台性等;3、规范构架师是通过多年磨砺或常年苦思顿悟后把某一类构架抽象成一套构架规范,当然也有专门研究规范而培养的规范构架师。他们的产物往往也分为应用规范和技术规范两类。

与建筑学类似,如果软件系统没有一个好的构架是不可能成为成功的软件系统的。没有图纸的建筑工地、没有设计的造桥工程都是不可以想象的混乱世界。建筑工程如是,软件工程中亦然!

由于国内合格、胜任的软件构架师极为少见,直接导致了我国民族软件产业水平的落后。在未来以信息产业为主导的社会,信息产业水平的低下将直接影响国家核心竞争力。究其原因,无企业非急功近利、个人缺乏引导。

企业的急功近利是有无法克服的原因的,那就是社会发展总体水平。“生存是第一位的,赚钱是第一位的”,多年来许多客户抱怨国内的软件公司无法信任、系统项目累做累败、公司越换越差,但因国外不可能给中国做应用系统项目还不得不找国内软件公司做。由于人月费用低、公司开发成本高,软件企业对于应用只能草草了事,拿钱走人(很多公司拿不到后期尾款)。这样的环境下,企业几乎无法投入更多资源培养自己的构架师,加上眼花缭乱的跳槽风气企业更是不愿投入……

那么要成为构架师的途径似乎只有现在较为流行的软件学院和个人自我培养了。关于软件学院我接触过不少,其宗旨绝大部分都是造就(or打造)企业需要的软件构架师(or程序员or人才)。教师来源与企业、学员来源与企业、人才输送到企业是他们办学的手段。尽管各个如雨后春笋般出现的软件口号差不多,但除了中科院、清华、北大等大院校可以相信一些之外,恐怕更多的就是为了圈钱卖学位了事……我有个朋友二十几个人的小公司也想搞软件学院:)

构架师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。参考软件企业构架师需求、结合北京网畅公司构架师培养计划以及目前构架师所需知识,我总结构架师自我培养过程大致如下仅供参考:

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

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

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

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


然而学海无涯,精力有限,个人如何能够很快将这些所谓的构架师知识掌握?这是秘密,每个人都有自己的独门家传秘笈就不敢一一暴露了。不过有一点就是广泛学习的基础之上一定要根据个人兴趣、从事领域确定一条自己的主线来努力。

你说呢?

分享到:
评论
10 楼 evanyuan 2006-11-30  
做系统软件,做产品(比如SAP),做互联网,做游戏,做企业应用...,对架构师的要求显然是不一样的。可能我们大部分人都在做企业应用,所以自然就把企业应用里面的架构师当作架构师的标杆了。

做企业应用的话,国外的大企业,一般三块:
(1) IT Strategy : align business with IT,经常CXO们会组成一个group来讨论这个东西
(2) IT Architecture : global,reginal,national architecture teams, foucs在全局和水平的架构管理与规划上,所谓的企业架构
(3) IT Delivery: 到一个一个的项目了,PMO来管了,现在比较流行外包,也是现在我们经常在搞的东西的,所谓的系统架构或者方案架构,国内大部分所谓的架构师,我想基本上应该在这个档次。

在企业架构上,也并非技术就是次要因素了,它有两个向限,横向的通常叫Domain Architect(比Business,Application,Data,IT,Security)专攻某个方向(记得好像谁在爱家里面说过“业务和管理也是技术”,我认为不假);竖着的通常按地域来划分(比如global,reginal,national ),就是什么东西都懂点,但是没有Domain Architect那么精通。不过,这个层面上的人要和乱七八糟的N多人N种人打交道,所以,感觉最总要的还是沟通能力....

东西太多了,有个架构师的技能矩阵,大家可以研究下
http://www.opengroup.org/architecture/togaf8-doc/arch/chap30.html
9 楼 yimlin 2006-11-29  
业务,技术以及处理技术和人的关系

窃以为架构师一个很重要的任务:设计出合理的技术结构(架构),并保证该技术结构(架构)可以被所有的开发人理解,同时保证开发人员在压力情况下(时间紧,任务急等)做的一些变通不会破坏系统的根本结构——即这个结构是有利于开发人员日常开发以及维护工作,而不是给所谓管理层管理方便而造成开发人员不便的。

8 楼 fishermen 2006-11-29  
我想架构师主要还是从工作实践当中磨练出来的,更高的目标是可以从整个商业全局来设计项目,可以从整个商业角度给出total solution。quote]
确实,做到后来,技术是其次,业务、商业全局更重要
7 楼 凝血神抓 2006-11-29  
个人认为"一蓑烟雨任平生"已经在这个境界之上......
6 楼 robbin 2006-11-29  
我想架构师主要还是从工作实践当中磨练出来的,更高的目标是可以从整个商业全局来设计项目,可以从整个商业角度给出total solution。

窃以为个人正在追求后一种境界。
5 楼 温柔一刀 2006-11-29  
ddandyy 写道
兄弟情深啊

哈哈,确实啊
4 楼 steve_gu 2006-11-29  

引用
每个人都有自己的独门家传秘笈就不敢一一暴露了

哈哈
假大空,胡扯的说
3 楼 ddandyy 2006-11-29  
兄弟情深啊
2 楼 wolfsquare 2006-11-29  
fishermen 写道
    很久以前的收藏,最近要毕业整理资料,不小心又检了出来,看看觉得还不错,放在博客自娱自乐一下,也方便以后再看。
    然后ouspec兄弟说不妨转到论坛,于是俺就发了过来,偶是新手,要拍轻些哦,hoho^_^

手工表情:捶地板大笑的表情
1 楼 fishermen 2006-11-29  
    很久以前的收藏,最近要毕业整理资料,不小心又检了出来,看看觉得还不错,放在博客自娱自乐一下,也方便以后再看。
    然后ouspec兄弟说不妨转到论坛,于是俺就发了过来,偶是新手,要拍轻些哦,hoho^_^

相关推荐

    软件构架师经历得四个阶段

    #### 三、架构师阶段:构架师成熟期 经过前两个阶段的积累和发展,架构师在这个阶段已经具备了全面的技术能力和项目管理经验。他们的主要职责包括: - **系统架构设计**:负责软件的整体架构设计,包括模块划分、...

    构架师(一)-InfoQ中文站的电子杂志

    4. **推荐文章**:挑选高质量的文章,覆盖持续集成、可伸缩性和性能优化等方面的内容,如跌跌撞撞的持续集成之路;构建的可伸缩性和达到的性能等。 ### 关键知识点 - **精益和敏捷的扩展应用**:Bas Vodde与Craig ...

    系统构架师考试大纲内容

    能够与系统分析师、项目管理师相互协作、配合工作;具有高级工程师的实际工作能力和业务水平。 2.考试要求 (1)掌握计算机硬软件与网络的基础知识; (2)熟悉信息系统开发过程; (3)理解信息系统开发标准、...

    系统构架设计师教程

    【系统架构设计师教程】 系统架构设计师是信息技术领域中的高级角色,负责理解和管理非功能性系统需求,制定开发规范,设计核心架构,并澄清关键技术细节。架构师不仅要关注技术实现,还需要协调团队,确保功能需求...

    Android构架师手册

    《Android构架师手册》是一本专为Android开发者进阶为构架师量身打造的指导书籍。书中全面深入地探讨了Android应用开发中的架构设计、优化与实践,旨在提升开发者的系统思维和架构能力,使其能够构建出高效、可维护...

    系统构架师 电子书1

    《系统构架师 电子书1》是一部专为有志于成为系统构架师的读者量身打造的专业读物。本书深入浅出地探讨了系统架构设计的核心概念、原则和最佳实践,旨在帮助读者掌握构建高效、可扩展、易于维护的软件系统的关键技能...

    项目系统构架师----完全攻略

    《项目系统构架师——完全攻略》是一份深入探讨构架设计与实施的资源,旨在帮助有志于成为系统构架师的专业人士提升技能。构架师的角色在IT行业中至关重要,他们负责规划、设计和指导软件项目的整体结构,确保系统的...

    j2ee构架师手册

    《J2EE构架师手册》是一本专为那些希望深入理解并掌握J2EE(Java 2 Platform, Enterprise Edition)架构技术的专业人士所编写的指南。这本书详细阐述了J2EE平台的核心概念、设计原则以及最佳实践,帮助读者从整体上...

    微信小程序开发-构架师技能图谱案例源码.zip

    这个压缩包“微信小程序开发-构架师技能图谱案例源码.zip”显然是为那些想要深入学习和掌握微信小程序开发的构架师或者开发者准备的。它包含了构架师在开发过程中所需的关键技能和案例源码,帮助学习者理解并实践...

    构架师培训 内部 资料

    构架师培训资料,给兄弟一些增长的空间,希望对大家有所帮助

    小程序源码(无后台)_构架师技能图谱.rar

    【小程序源码与构架师技能图谱】 在IT行业中,小程序作为一种轻量级的应用形式,因其无需安装、即扫即用的特点,深受用户和开发者喜爱。本资源提供的是一个不包含后台服务的小程序源码,这对于学习小程序开发或者想...

    构架师技能图谱_微信小程序模板js代码前台前端H5页面源码.rar

    在IT行业中,构架师是负责构建和设计软件系统架构的关键角色。对于微信小程序的开发,构架师的技能图谱通常涵盖了多个方面,包括前端技术、后端服务、数据库设计、性能优化以及项目管理。这个名为"构架师技能图谱_...

    微信小程序源码_构架师技能图谱.zip

    "微信小程序源码_构架师技能图谱.zip"这个压缩包文件包含了关于微信小程序开发的重要资源,特别是对于想要深入理解小程序架构和提升技能的开发者或构架师来说,其价值不容忽视。 构架师技能图谱是指导开发者全面...

    构架师技能图谱.zip

    【标题】"构架师技能图谱.zip"指的是一个压缩包文件,其中包含了关于软件架构师所需技能的详细图谱。构架师是IT行业中关键的角色,他们负责设计和规划软件系统的整体结构,确保系统在可扩展性、性能、安全性和可维护...

    项目构架师的资料项目构架师的资料

    ### 项目架构师的核心角色与职责 在IT项目中,项目架构师扮演着至关重要的角色,他们负责设计和规划项目的整体结构,确保系统的可扩展性、稳定性和安全性。项目架构师不仅需要具备深厚的技术背景,还要有良好的沟通...

Global site tag (gtag.js) - Google Analytics