平时多流汗,战时少流血
我是在公交车上将《软件架构师应该知道的97件事》全部阅读完的。每每掩卷沉思,想想自己过去的所作所为,实在是印证了“不流汗,即流血”的观点。可能这么说不太恰当,但是我想,这里每一个架构师都是把自己的流血经历总结写出来的,不知大家是否认同。本书的文章出自极有经验的一线从业人员之手,看了就知道,那种“小题大做”,或是“举重若轻“,并不是突发奇想或者装装样子,没有个十年半载的是根本学不出来的,装也装不像。果不其然,看看从业经历,十年,十五年,二十年。你问为什么中国的程序员很少出优秀的架构师,我觉得很可能是做的年头还不够吧,积累的少吧。
既然是有经验的人传授经验,那么大家瞪着眼睛期待的秘籍就要出现了吧。但是我要告诉来寻找秘籍的人,你们要失望了。这就好比你千辛万苦找到的武功秘籍只有四个字“唯快不破”,说的东西都对。甚至讲的故事都是你知道的,但那又怎样呢?现实不是武侠小说,看了秘籍就能如何。你看到了这些人的血的教训之后并不能让你不流血,甚至都不少流。这些大智慧每每都是那么平实的出现,以至于我们平时根本不会在意。出了问题,受了伤,才想起先哲讲过的话。工程实践不是讲漂亮话,大部分的工作可能都是枯燥的,没有技巧的。本书的确讲了很多大白话,大实话。但是正式这些有种大巧不工的感觉。
真正在一线的架构师表现出来的保守是令人震惊的。没有天花乱坠的创新,没有对新技术的热切追逐,也没有关于完美的描述。一线的血,凝结出来的东西很像梁文道的《常识》,只不过这个读本是很多人写的罢了。他们解决问题的方法是如此的平实,简直就不能让人相信他们真是有着万般本领的掌舵人。字里行间透露出对自己的清醒认识,让我不得不感到非常羞愧。
本书大部分都不是关于技术。而是更抽象的态度或者原则问题。其中有多篇文章从不同角度,相互印证了如下观点:
没有完美,也不要追求完美。
架构师深入一线,参与编码。
架构师不断学习,改进自身修养。
架构师应该把勤奋看的比天份更重。
架构师应该假设系统会崩溃。
架构师应该把关注点放在人上,注重沟通。
架构师应该对用户体验保持高度重视。
架构师应该探寻需求背后的需求。
你会发现,所有人的观点都那么一致。是他们商量好的么。我宁愿相信那是一些客观规律。
书中有一个观点不是很赞同。第24页,作者认为软件行业在飞速发展。这可能是尽人皆知的谎言吧。作者用“飞速”,意在表达比其他快很多,但这恐怕不是事实。统计数据表明软件行业并不比其他行业高科技,也不比其他行业发展快。
全书翻译精准传神,在技术评论类的翻译中表现很突出。译者和审校着都有译作出版,是广为人知的严肃的译者。技术评论或者随笔的翻译不但要求翻译者对技术了解,而且对那种西方式的旁征博引要能有很好的应付能力。就有一处我认为翻译欠妥,就是第4页,essential complexity书中译作“根本复杂性”,essential的确有根本的意思,即absolutely necessary或者vitally necessary。但这里却不是这个意思,这里应做showing its essence来讲,就是展现本质的,说明那种复杂性是与生俱来的,那么我认为翻译作“原生复杂性”,这个译法与essential在医学上的表达较为形似。
好吧。你问我这本书有营养么?我说,这本书是水,不喝你会死掉的。
原贴地址:http://book.douban.com/review/3527340/
《软件架构师应该知道的97件事》的豆瓣主页:http://book.douban.com/subject/4745287/
《软件架构师应该知道的97件事》互动网购买:http://www.china-pub.com/196660