我是一个不善写作的人,特别是当描述的问题十分复杂时。然而今天一口气通读《大道至简》这本书后,颇有些感悟,特别是结合最近一段时间自己的工作经验,以及今天进行的Q2 review后。
迫使我突然拜读这本书的原因主要有三个:一是周爱民大牛已经加盟支付宝公司,他的大作我还未阅读过;二是twitter上有人聊到正在阅读此书;三是今天恰好进行Q2的review,下阶段我十分迫切的需要在软件分析和设计上有所提升。
一口气通读下来后,能够留在我短时记忆十分糟糕的大脑里的就只剩下:语言只是工具、boss是“经营者”、软件工程中作者的一些感悟。
先说说语言只是工具吧,作者提到为那些争论语言孰优孰劣的开发人员感到可悲。然而,能够得出这样一个结论之前的人,恰恰之前正在经历这样一个阶段。作为JAVA开发人员来讲,使用何种开发语言的确已经显得不那么重要了,因为任何语言都是可以学习的,他们只是工具,或者说是知识,真正转化为生产力的, 还是需要用语言来实现系统、完成系统需求,让客户满意。不善思考的程序员或许需要很长时间绕出这个圈子,然而最近两三年的软件行业的变化(Ruby,Groovy,Scala,JRuby,Python…),不得不让每个业内的开发人员思考这样一个问题:“需要学习那一种语言才不被淘汰?”这就迫使我们每个人都去思考语言的真正意义。现如今,每种语言都有自己的强项以及局限性,新的语言可能在语法结构、动态性方面有无可比拟的优势,但是它们真正适用使用目前现行的系统吗?它的学习成本值得吗?它能解决所有问题吗?显然答案是否定的,我们需要思考每种语言的试用范围,让“锤子”去解决钉钉子的问题,而不是打开啤酒瓶!
boss是“经营者”,这个论点我是非常赞同的。毕竟开发人员和boss所处的立场不同,角色不同。项目中,甚至公司里的每个成员的职责都是不同,如何很好的协作,是考验每一个一个公司(特别是中型和大型团队)管理和组织水平的。作者提到体制的问题:“体制的内涵是分两个方面的,其一是“体”,即“体系”;其二是“制”,即“制度””,确实给我很大的启发,体制如果分开来看,的确可以解释管理中一些问题。“皮之不存,毛将焉附。没有确定的组织机构,又如何能指望做出来的管理制度“合用”呢?”。 由此我无比感叹那些为了“ISO认证”和“CMMI认证”的企业,只知其一,不知其二,没有找到真正的症结。
软件工程是实践中摸索出来的方法论。每个组织的大小、行业、具体情况都很不一样,更不谈人员组成、企业文化、客户的不同了。这样每个组织都应该找到适合自己发展的软件工程的方法和过程。软件项目需要在时间、资源和功能中找到平衡,如果一个目标本身都是有问题的,软件项目注定着会走向失败。而如果项目进度和工作量评估不靠谱的话,就更是雪上加霜了。目前公司的项目都或多或少的存在着这样的问题,然而我们真的学会了“折中”吗?我们继要应对快速的变化,又需要保证系统的安全可靠和高可用性。这是我们现阶段最需要解决的难题,体制问题和认得问题真的很难严格划分。
OOA和OOD仍然是软件工程根本,OOAD的能力以及每个程序员的立身之本。摈弃对流行语言的追捧,真正去实考OOAD的本质,才是现阶段很多开发人员需要做的(当然包括我)。DDD也只是OOAD中的其中一只罢了。
先学会“Think”(IBM),再去“Think different”(APPLE)!












One Response
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
2010年排行榜—来关注你的博客了,祝你的博客越办越好,红火2010年,TOP你最强