`
adamed
  • 浏览: 181393 次
社区版块
存档分类
最新评论

转发:不积跬步无以至千里

阅读更多

      不久前,我参加了一次企业开发年会。在年会的五个分会场中,架构师与团队管理分会场人
头攒动,场面格外壮观。这给我一种错觉,大有“架构师多如狗,项目经理满街走”的态势。
然而,当我在演讲到架构与通用设计原则时,分明看到下面听众茫然的眼光。我心底一惊,
有种不妙的感觉浮上心头。为了印证这是否错觉,我随意询问了听众几个问题。听众的回答
让我的心拔凉拔凉的。原来,距离架构师的百花齐放,我们还有很长的路要走。


对于这个行业,我们最大的问题并非不知其不足而盲目地自大,而是我们的软件从业人员内
心已经浮躁了,这其中自然也包括我。每个纯粹走技术道路的开发人员都向往着架构师的头
衔,却忽略了若要成为一名合格的架构师,需要经历的沉淀与历练。拿破仑的一句名言“不
想当元帅的士兵不是好士兵”,激励着我们向着远大目标迈进。可是不要忘了,我们中国还
有一句古话:“一屋不扫,何以扫天下?”


恰好在前几日,我应西南大学之邀,为计算机学院的学生们开展了一次讲座。讲座的题目为
“软件从业人员的五项能力修炼”。我偷窃了Peter M. Senge 所谓“第五项修炼”的概念,
不过内容上却是大相径庭。据我过往的经验,我认为软件从业人员必须具备如下五项能力:

  • 实现域的逻辑思维能力
  • 问题域的分析与抽象能力
  • 业务域的建模与设计能力
  • 未知域的学习研究能力 组织域的交流协作能力

这或许是我的一孔之见,却也是我沉思所得。这里所指的“软件从业人员”其实是片面的,
我心底里的思想还是在向架构师靠拢,而且是面向技术设计的架构师。这五项能力正是架构
师所必备。如果没有好的逻辑思维能力,就无法提供好的算法与实现,不能写出优美的代码;
不具备分析与抽象能力,就很难解决纷繁复杂的需求问题,无法建立一个可以经得起考验的
架构蓝图;架构师需要建模,无论是数据模型还是领域模型,无论是计划式设计还是演进式

设计,模型都可以帮助架构师理解需求,进而帮助开发人员理解设计。


人类社会的发展总是充满未知,科学如璀璨的星空指引我们探秘与求索。软件开发同样是一
门科学,它的善变是永恒的。站在高端的架构师,如果不具备良好的学习研究能力,因循守
旧,故步自封,最后就会湮没在变化的浪涛中。软件开发需要团队,脱离交流与协作的架构
师,就如匹马单枪的堂吉诃德挑战风车,结果是头破血流,败得一塌糊涂。交流的重要性不
言而喻,一个再好的设计,如果没有合适的方式表现出来,并能够被人理解,它就是无用的。
架构师的成长漫长而充满艰辛。是否能够成功,除了需要远大的目标,还需要脚踏实地。最
近,我阅读了两本好书。一本是Kent Beck 所著的《实现模式》,另一本是Robert C. Martin
的《代码整洁之道》。他们是举世公认的设计大师,但在这两本书里,他们谈的不是架构,
而是代码,是实现。荀子曰:“不积跬步,无以至千里;不积小流,无以成江海!”架构师站
得高,所以望得远,但如果根基不稳,就极容易跌下来,摔得屁滚尿流。


窃以为, 不浮躁而保持虚心,不畏难而坚定执著,不偏狭而开放进取,此乃架构师成功之
道。不知读者诸君,意下如何?

 

 

 

本文转发自:《架构师》2010年5月刊 卷首语 http://www.infoq.com/cn

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics