软件构架师之路

转载 2013年12月04日 12:53:40
构架师(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、软件构架师的正是成型在于机遇、个人努力和天赋

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

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

系统架构师成长之路(一)

系统架构师是近几年来在国内外迅速成长并发展良好的一个职业,它对系统开发和信息化建设的重要性及给IT业所带来的影响是不言而喻的。做为一个职场新人,如何发展成为架构师,架构师都需要具备哪些素质?...
  • sunlei1980
  • sunlei1980
  • 2016年05月07日 19:23
  • 6792

软件构架师

从一个架构师的工作来看,他面对的基本上有七大问题:商业问题、系统问题、子系统问题、构件问题、技术问题、流程问题、项目管理问题。其中,前五项是一个架构师主要负责解决的。这里我尝试提几个问题,让大家检验一...
  • hdhai9451
  • hdhai9451
  • 2011年09月26日 22:57
  • 417

架构师之路-写的不错

架构师之路 转:http://www.uml.org.cn/zjjs/200903273.asp 1、引言 机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只...
  • zax0zax
  • zax0zax
  • 2013年05月24日 10:16
  • 1626

构架师之路

构架师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,构架师是企业的人力资本,与人力资源相比其能够通过构架、创新使企业获得新的产品、新的市场...
  • aaaaatiger
  • aaaaatiger
  • 2006年08月05日 13:50
  • 723

构架师之路

 cornfield.net技术 (2002-07-09 21:47:59) 胡德平◎《Java联盟》客栈论坛 构架师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水...
  • ycl111
  • ycl111
  • 2004年11月16日 19:19
  • 1086

如何成为一名架构师,架构师成长之路

我理解的架构师需要掌握的知识 1. 业务模块切分能力.领域设计能力. 2. 类设计和编程落地能力. 能写高可读和应对变化,可维护代码. 3. 看别人代码能力,可重构点能力. 分层不合适,方法抽取, ...
  • fei33423
  • fei33423
  • 2017年03月13日 22:50
  • 3146

软件构架师的成长之路(转)

对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。就连世界首富比尔盖茨在2000年卸任公司CEO的同时,也担任了微软公司的荣誉角色“首席软件架构师”,可见“架构师”这一称谓的吸引力。架构师是...
  • shangyichen
  • shangyichen
  • 2009年11月11日 13:12
  • 631

Android 构架师之路 UML

之前有使用过UML工具来表示类图关系,现在来小结一下工具的使用方法,以及其各种图形的含义。UML工具简述我使用UML工具比较小型,叫StarUML,下载地址:https://staruml.en.so...
  • JohanMan
  • JohanMan
  • 2017年12月01日 16:08
  • 61

架构师必备词汇和知识点

01 高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时、容器超时、前端超时、中间件超...
  • t4i2b10X4c22nF6A
  • t4i2b10X4c22nF6A
  • 2017年11月24日 00:00
  • 310

软件构架师的特点

Peter Eeles, 高级 IT 架构师, IBM 来自于 Rational Edge:在电影制作术语中,软件项目经理被称作制作人,因为他们决定需要做什么事情。而软件构架师就是导演,他来决定所...
  • diaoguangqiang
  • diaoguangqiang
  • 2013年11月04日 08:43
  • 460
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件构架师之路
举报原因:
原因补充:

(最多只允许输入30个字)