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