不久前,我参加了一次企业开发年会。在年会的五个分会场中,架构师与团队管理分会场人
头攒动,场面格外壮观。这给我一种错觉,大有“架构师多如狗,项目经理满街走”的态势。
然而,当我在演讲到架构与通用设计原则时,分明看到下面听众茫然的眼光。我心底一惊,
有种不妙的感觉浮上心头。为了印证这是否错觉,我随意询问了听众几个问题。听众的回答
让我的心拔凉拔凉的。原来,距离架构师的百花齐放,我们还有很长的路要走。
对于这个行业,我们最大的问题并非不知其不足而盲目地自大,而是我们的软件从业人员内
心已经浮躁了,这其中自然也包括我。每个纯粹走技术道路的开发人员都向往着架构师的头
衔,却忽略了若要成为一名合格的架构师,需要经历的沉淀与历练。拿破仑的一句名言“不
想当元帅的士兵不是好士兵”,激励着我们向着远大目标迈进。可是不要忘了,我们中国还
有一句古话:“一屋不扫,何以扫天下?”
恰好在前几日,我应西南大学之邀,为计算机学院的学生们开展了一次讲座。讲座的题目为
“软件从业人员的五项能力修炼”。我偷窃了Peter M. Senge 所谓“第五项修炼”的概念,
不过内容上却是大相径庭。据我过往的经验,我认为软件从业人员必须具备如下五项能力:
- 实现域的逻辑思维能力
- 问题域的分析与抽象能力
- 业务域的建模与设计能力
- 未知域的学习研究能力 组织域的交流协作能力
这或许是我的一孔之见,却也是我沉思所得。这里所指的“软件从业人员”其实是片面的,
我心底里的思想还是在向架构师靠拢,而且是面向技术设计的架构师。这五项能力正是架构
师所必备。如果没有好的逻辑思维能力,就无法提供好的算法与实现,不能写出优美的代码;
不具备分析与抽象能力,就很难解决纷繁复杂的需求问题,无法建立一个可以经得起考验的
架构蓝图;架构师需要建模,无论是数据模型还是领域模型,无论是计划式设计还是演进式
设计,模型都可以帮助架构师理解需求,进而帮助开发人员理解设计。
人类社会的发展总是充满未知,科学如璀璨的星空指引我们探秘与求索。软件开发同样是一
门科学,它的善变是永恒的。站在高端的架构师,如果不具备良好的学习研究能力,因循守
旧,故步自封,最后就会湮没在变化的浪涛中。软件开发需要团队,脱离交流与协作的架构
师,就如匹马单枪的堂吉诃德挑战风车,结果是头破血流,败得一塌糊涂。交流的重要性不
言而喻,一个再好的设计,如果没有合适的方式表现出来,并能够被人理解,它就是无用的。
架构师的成长漫长而充满艰辛。是否能够成功,除了需要远大的目标,还需要脚踏实地。最
近,我阅读了两本好书。一本是Kent Beck 所著的《实现模式》,另一本是Robert C. Martin
的《代码整洁之道》。他们是举世公认的设计大师,但在这两本书里,他们谈的不是架构,
而是代码,是实现。荀子曰:“不积跬步,无以至千里;不积小流,无以成江海!”架构师站
得高,所以望得远,但如果根基不稳,就极容易跌下来,摔得屁滚尿流。
窃以为, 不浮躁而保持虚心,不畏难而坚定执著,不偏狭而开放进取,此乃架构师成功之
道。不知读者诸君,意下如何?
本文转发自:《架构师》2010年5月刊 卷首语 http://www.infoq.com/cn
分享到:
相关推荐
不积跬步无以至千里 读懂CPU步进.pdf
不积跬步无以至千里,不积小流无以成江河。坚持每天打卡! 编程理念和tips 第一遍按照tag来刷,类似高考二轮复习 Shorter is better. 试一下第一次提交 数组 1.两数之和 给定一个整数数组nums和一个目标值target,请...
MyAndroid 1. 2.
上述代码在执行的时候,它消耗的时候并不随着某个变量的增长而增长,那么无论这类代码有多长,即使有几万几十万行,都可以用O(1)来表示它的时间复杂度。 2. O(n)。一般是单层for循环 for(i=1; i<=n; ++i) { j = i...
不积跬步袁无以至千里——道德与法治教学中学生核心素养的发展.pdf
Golang学习的点滴记录不积跬步,无以至千里本人的博客园地址: :
知识体系总结 如果你感到委屈,证明你还有底线;如果你感到迷茫,证明你还有追求;如果你感到痛苦,证明你还有力气;如果你感到绝望,证明你还有希望;从某种意义上,你永远都不会被打倒,因为你还有你。...
intervalMap不积跬步,无以至千里;不积小流,无以成江海!
3. { 4. UIImageOrientationUp, // default orientation 6. UIImageOrientationDown,
逐步学习学习过程中看过的比较好的文章,书籍等资源,更全面的书籍索引推荐。JavaJ2EEHttp和WebSocket前端开发&和项目建成码头工人MySQLLinux设计测试TDD软件开发数据结构与算法工具其他的事情&
Python 进阶记录pythonPython冷知识Python并发编程并发编程记录(二)并发编程记录(三)并发编程记录(四)--协程网络编程 - socket编程kafka-pythonkafka单分区,多个客户端共同消费一个topicLinuxLinux基本命令一次...
序言PHP伴随我已有十多年,经历时间的流逝,很多事情都在发生,但有些...很多时候,我们不仅仅是写出符合产品需求的代码,或者还要兼顾顾更多方面,例如性能,可维护性。那么,就一起来探索一下这门语言的最佳实践吧。
不积跬步无以至千里,不积小流无以成江海!
不积跬步无以至千里 不积小流无以成江河 有志者事竟成 昨天是残酷的 今天是残酷 但是明天是美好的
groovy请求方式,比较好的工具需要的自取,不积跬步无以至千里
自己学习的一些笔记,更新新的一些学习内容,自己按照介绍,教学视屏,老师授课,同学讨论,共同协作编写项目,和其他人交流,就好比如这次...每天积累一点点,不积跬步无以至千里。还是要去碰一下,爱的魔力转圈圈。
支持批量插入批量更新 支持常规类型 生成非常好用已经在n多个项目使用 希望可以帮助到大家,不积跬步无以至千里,不积小流无以成江河,
目前这本书我还没有读完,但是这本书所讲的各部分内容浅显易懂,深入浅出,有很强的数学基础铺垫,讲解也很全面,我也始终相信一句话:不积跬步无以至千里,所以我就先将目前所学的内容做个总结。一来以便日后
编码过程资料,学习部分参照资料,包括日常积累输出,经过一次学习长时间不用会遗忘,记录备份日后做参考,方便快速查询学习,不积跬步无以至千里
51单片机C语言编程入门(中科大),51单片机虽然很简单,但是长时间不用的话,一些基本的概念还是会忘记,不熟悉的时候看看,温故而知新,不积跬步无以至千里~