-
新手·高手·卓有成效的程序员
China-pub的推荐页面把这本书夸成了“影响全球程序员的经典之作”、“航标灯塔般的经典名著”、“脍炙人口的传世之作”…唔,不过,又加上了这么一句:
如果您是一名刚踏入编程开发领域的新手,我们幸庆你可以阅读到《卓有成效的程序员》,因为它可以告诉你作为一名优秀的程序员你应该具备的思考模式和优秀习惯。
与此同时,PHPChina的cnkiller写了一个很有意思的书评
我是你《卓有成效的程序员》的一个读者。在这里,我非常的想和你说一下,你是我的敌人,我要像你挑战,你接受吗?
曾经,无论是从那个方面,我在别人的眼中是一个计算机高手,我错了,我从一开始就错,我如果不是一开始就这么认为,我现在就不会这么低落,如果我不低落,我就不会错了……(什么?你听不懂?那你得去看看我国的《武林外传》,就知道我在说什么了)
看过你的书之后,才知道什么是正真的高手,而我,就从高手的夷为菜鸟。
周伟明的推荐语也令人感动
程序员总有学不完的东西,许多看过我写的“程序员的十层楼”的人觉得自己仍然是“菜鸟”。同样,当我看到Neal的这本书时,发现自己十几年的程序员生涯仍然是一个低效的程序员,书中介绍的许多提高效率的工具和方法以前没有用过或没有用好。要是在“菜鸟”或“大虾”阶段就能看到这样一本好书多好啊!
第一,我喜欢的书别人也喜欢,很美好。第二,如果所有程序员都像这本书里所说的那样工作,这世界该多美好。
-
魔鬼藏在细节中,金子也是
实施敏捷要不要面面俱到?其实这本《卓有成效的程序员》已经从另一个角度给了我们答案。就像我在译者序里说的,
在钢铁厂,泰勒的科学管理方法让一个搬运铁块的工人每天的工作效率提高了3倍;而在软件开发中对细节的重视甚至能让程序员的效率提升更多,因为人的体力终归有限,而脑力的开发程度则远未达到极限。
那么反过来想想,如果只有方法学没有细节,难道不是会让浪费成倍增加,效率成倍降低吗?那么这种脱离细节、无助于提高生产率的“敏捷方法学”、“敏捷专家”,要来有什么用?(所以一个SCRUMMaster证只值4000块──这是成交价,花一万块去培训的master们下次记得要讲价。)
所以,友情提供参考判据:如果一个自称“敏捷专家”的家伙告诉你,搞敏捷用不着面面俱到,什么结对编程啦持续集成啦测试驱动啦,没有也没关系,不影响你搞你的敏捷…
- 请想想你是不是喜欢一个对提高生产率没啥帮助的敏捷。
- 这个家伙很可能就是个只值4000块的敏捷专家──他之所以这么说,是因为他自己也做不来。
-
消除浪费,始于细节
(《卓有成效的程序员》译者序)
在一次关于敏捷的讨论中,我说了一句令很多人不解的话:我不要敏捷。
和很多话一样,断章取义的理解很容易造成误会。我当时说的整句话是:我不要敏捷,我要致力于消除软件开发中的一切浪费。当“敏捷”渐渐变成一个人见人爱的“大词”,越来越多的人开始发现,其实自己要的不是“beagile”,而是切实地消除浪费、提高效率。
所以,作为ThoughtWorks员工的Neal Ford在他的这本书里闭口不谈“敏捷”。他只是实实在在地告诉你,作为一个程序员,你每天都在什么地方浪费着自己的生产率,以及如何去有效地消除这些浪费。
也许你甚至意识不到这些细小环节上浪费的存在。随便举个例子吧,在你一天的工作中,你有多少次从资源管理器里导航到源代码文件夹查看代码,然后又导航到另一个文件夹寻找文档,然后打开命令行窗口并进入项目目录,以及在密密麻麻的任务栏里找到正确的浏览器窗口?NealFord说,这些都是浪费:做这些与核心任务──软件开发──无关的事情是在浪费生产率。有兴趣知道这些自己每天做无数次的事还能如何改进吗?即便不是专业程序员,这本书的第2章也将对你不无裨益。
从某种意义上来说,NealFord在这本书里做的事,正是现代科学管理理论的鼻祖弗雷德里克·泰勒在伯利恒钢铁厂做过的“泰勒实验”:剖析每个个体日常工作中的每个细节,对细节进行持续优化,通过对细节的改进提升生产率。在钢铁厂,泰勒的科学管理方法让一个搬运铁块的工人每天的工作效率提高了3倍;而在软件开发中对细节的重视甚至能让程序员的效率提升更多,因为人的体力终归有限,而脑力的开发程度则远未达到极限。
这并非痴人说梦,因为ThoughtWorks就是这样的例证。据说ThoughtWorks有一群天才的程序员,只有近距离接触才会发现,这些人之所以能做到如此高效,很大程度上是因为他们有一些根深蒂固的好习惯,而且不断在细节上精益求精。ThoughtWorks中国公司的几位同事一起来翻译这本书,也正是为了把我们的经验分享给更多人。
从每天的细节开始,让自己成为一个高产的程序员,其实每个人都能做到。
熊节
ThoughtWorks,咨询师
2008年11月17日
-
懒于行,是故勤于思
首先感谢李剑为这本《卓有成效的程序员》所做的推荐序。
如果你想做一个真正的懒人
就请继续读完这本书
因为这本书是天堂
很显然要想做一个行动上的懒人,要让计算机拼命的跑而自己有点空闲抽根烟,需要花很多心思。不然,很容易就会变成Neal Ford说的,人们忙忙碌碌干些重复劳动,计算机扎堆闲聊嘲笑这些勤快人。
计算机应该用于执行重复劳动。而人,尤其是程序员,应该保持对重复劳动的敏感与不妥协。每个网址输入相同的“www.domain.com”是重复吗?每次循环写同样的for…each是重复吗?每个项目copy同样的一堆配置文件是重复吗?每天打开资源管理器进入同一个目录是重复吗?
所以,很大程度上,程序员的高效与否,与这种对重复的敏感与不妥协程度,有着必然的关联。如同强迫症一般,发现一切隐藏着的重复劳动(或者说,浪费),势必除之──自动化之──而后快。这不仅仅是生产效率的问题,更是自我完善的过程。
(BTW,一切把程序员与建筑工地上搬砖的工人做类比的人都应该被拖出去挖坑埋掉。软件的一切价值就在于消除重复劳动。软件领域中一切能够被自动化的工作一定会被自动化。连这一点都看不出来还妄谈软件的人应该被强制收声。)
偷懒是一项需要很多思考来完成的任务。很不幸(或者幸运)程序员是被认为应该为这个社会做这些思考的人。这就是这本书存在的原因。
-
冰河也会绽放笑容
一、很恶的遗留系统
坏消息是,Cumulus还是跑不掉要搞。好消息是,原来这块代码基本上靠谱。
下午倒了一个Catalog进来。太大打不开。下周要搞一个developer version来玩。
Endeca 5.1.4它是不支持web services接口的…要把JavaAPIbridge成web services或者JSON的话,要买他们的professional service才行…
经全项目人民代表大会举手表决,用JRuby开发的提案全票通过,全体代表热烈鼓掌,这是一次成功的大会胜利的大会
二、很妖的小龙龙
我:小龙龙,这个时候应该听风继续吹…如何止哭只得轻吻你发边让风继续吹…
龙:唉 找个长头发的轻吻不如自己留头长发来吻靠谱
我:你这话分明就在暗指五姑娘…低俗了低俗了…
龙:… 你唱首梦到内核吧,想听了
我:爱上层楼, 为赋新词强说愁
三、很SUI的苏毓秀
小胡说,I’m feeling a little scared about our BA’s name: issue.
Yusiew说,我们至少有10行story cards,每行至少有8个,总共大概有60多个吧。
Yusiew把照片checkin到svn里了…好吧…姐姐我服了你了…
Yusiew说,你还不下班在干嘛?我说,你管我干嘛?Yusiew说,我是你的妈啊~~姐姐你行不行啊~~
好吧~我忍~小熊快来喊奶奶~
四、冰河的笑容
我说,拒绝忘记,拒绝原谅。不原谅自己,也不原谅他人。
风说,忘记了,原谅了,才会有将来。
原谅了,其实也就意味着忘记了。
13号的星期五,融出泪水的冰河,绽放笑容。
-
是从墨尔本,我给你写信
宇凌译过一本书《是从中国,我给你写信》。写信,貌似是很有味道的一件事呢。从另一个国家,哪怕只是明信片。
于是…行为艺术,像风一样 :D
首先要找到邮票。听说Visitor Centre有international stamp卖的,可是,去了以后,发现,木有~~卖光了~~当然postoffice肯定也不会工作啦…正要山穷水尽的时候,它又柳暗花明了…在Swanston Street的一个报亭找到了,于是买了10张。
接下来,就是,绕着城市,转圈…转到一个喜欢的地方,就写一个明信片。有些地方有免费的,有些地方没有,有些地方有专门针对那个地方的明信片。总之,有时候买,有时候拿。走到哪儿,写到哪儿。邮筒不成问题,到处街边都有的,随手扔进去就好啦。
Prince’s Bridge Hotel. St Paul’s Cathedral. Arts Centre.MCG.City Museum.Parliament. St Patrick’s Cathedral. Melbourne Museum. Docklands. Immigration Museum.Southgate. MelbourneCentral. Old Gaol.
于是,邮票就用完啦。
P.S. 我看到南十字星了…不过涅…我觉得…它好像一个考拉的脸…然后就笑喷了。然后跟一起住的Josh说,然后他也笑喷了。
P.P.S. 夜里去河边看了Waterfest的烟花秀。好多人啊~~好像从西湖烟花节以后就没再见过那么多人一起看烟花了。从小船上升起的绚烂烟花,所有人一起欢呼鼓掌,很美好。
-
基本上无害
以今天的云,能看到月亮已属鲜见,更遑论星星
于是放弃了拍摄星空的打算。回家就看到了很口耐的小动物~~
考拉轻易不下树的,抱着桉树过一辈子
桉树叶富含桉树油,桉树油是制造镇静剂的主要原料。于是…考拉吃着吃着就睡着了…嘴边还吊着半块叶子,醒来又接着吃。
有次看到一个考拉在树叉叉上坐着,便便。便便到一半…睡着了…醒来又便了一点…
能做一只基本上无害的动物,是多么幸福的一件事啊
P.S. 出国时忘了买烟,郁闷~~Yusiew居然买了两条,欣慰~~三天长假中~~
-
商业传统·地球村·敏捷
和Yusiew吃着牛排的时候,又扯出了我的那套歪理斜说。
现代西方资本主义或者说盎格鲁-撒克逊体系的商业传统本质上是基于航海贸易的。航海贸易的特征是,我和你做一次生意,然后这辈子也不会再见到你。因此交易的双方倾向于把合同条款订立得绝对明晰并且严格遵循合同。而中国的商业传统是基于农业贸易的,农业社会的重土安迁使得百年老店和几十年老主顾屡见不鲜。所以中国人做生意把合同看得很淡,更看重良好的关系和长久的共赢。
《十亿消费者》说中国人没有双赢的传统,显然这不是真的,他只是在一个特殊的时间看到对一切都丧失信任的中国社会。另外某人说读《十亿消费者》读得郁闷,我恰恰相反,读得挺愉快,因为中国是并且仍然是不同的。“不同”与好坏无关,何况西方资本主义的席卷是从马歇尔开始的,何况里根-撒切尔体系正在被置疑──每次走在西安的唐城墙遗址或者北京的元大都遗址,都会冒出这样的想法。
就好像《十亿消费者》说到中国商人对合同的不重视。我赞同他的观察但认为这是中国商业传统的优点而非缺点。一个看重良好关系与长久共赢的商业环境不会太计较一时一事的得失。多付出的会有收获,多攫取的会有报应。这是一个高效率低浪费的体系,但还没有进入这个生态圈的外来者必须经受考验才能享受它的好处。与此同时地域局限性是建立关系与声誉的先决条件,所以80年代的外来者有充分的理由抱怨中国的商业传统。
但,麦克卢汉说,地球村。更要紧的是,这一次我们逃无可逃。我们只能在这个村里做生意。口碑会被留下,一辈子。地球村让人们回归农业社会,也让商业传统一道回归。北美的大师们说,客户合作重于合同谈判。单就这一条而言,中国人比西方人更能理解其中的深意。
(纯吐槽,目的就是为了写一些字。然而,仍然觉得,正襟危坐的文字写得很累。再拜麦克卢汉。)
-
重逢墨尔本
星期六
城铁,快线,机场
薯条是美好的,冰激凌也是
在浦东机场,等着上飞机,然后睡一个很难受的觉。
乘坐中国航空CA177次航班前往墨尔本的乘客请注意,请手持登机牌到D85登机口登机
打算看我叫刘跃进。可是,这个剧情,实在是…既仓促,又拖沓
舷窗外是满天的星星,好热闹。
星期天
不如我们先在鱼吧相见吧,看上去是个不错的地方。
From墨尔本街头 想坐南方之星摩天轮,可是,它,坏掉了,几个月才能修好。
From墨尔本街头 星期一
First day in Melbourne new office. It’s cute.
Be online with a “3 modem” made by Huawei
今晚有极端天气,大风可能引发山火,市民没事请不要出城
夜了
From夜幕下的墨尔本 在那无数的平行宇宙中,我们只需要找出可以相遇的……那无数个。
-
豆浆和油条
豆浆和油条,是所有早餐搭配中的特殊者。其卓尔不群的程度,很可能,只有单面煎蛋和培根能望其项背。
和牛奶不同,豆浆是寡淡的,没有油脂,加上砂糖之后的甜味也显得清而不厚。
而油条则是略显干瘪无趣的。虽然肚里的空气和酥脆口感教人欣赏,总觉得太枯燥了一点。
所以,泡MM的“泡”字,不应该像开水泡方便面,应该更像豆浆泡油条。那一泡下去,豆浆和油条便同时实现了自己的人生价值。
油条的味道变得滋润而充满变化。豆浆就更妙了:两根油条在一碗豆浆里泡过吃掉以后,豆浆就只剩了碗底的一口,端起碗喝下去,满口香甜醇厚。
要泡在一起,就应该让两者都变得更好。像馄饨与小笼包那样,仅仅是为了在一起而凑合在一起,固然也是一顿不错的早餐。可是…
所以,每次看到天津人吃煎饼果子把油条夹在煎饼里拍实了一口咬下去,我都会暗自慨叹:
又是一根无法实现自己人生价值的油条。