名书名人

大棚读书-《卓越程序员密码》-下篇

本原创文章属于《Linux大棚》博客。

博客地址为http://roclinux.cn

文章作者为roc

希望您能通过捐款的方式支持Linux大棚博客的运行和发展。请见“关于捐款

==

请先阅读:大棚读书-《卓越程序员密码》-上篇

【别在卧室里工作】

正如帕金森定律所说:“工作会不断膨胀,直到占满所有可用的时间之后才会完成。”由于我们可以在一天中的任何时间工作,所以可占用的时间就多了去了。每周40个小时的工作突然就变成了168小时的工作+睡觉+吃喝娱乐。

在家办公是一种奢侈,如果你有幸享受这一点的话,千万不要在卧室办公,最好搞出一个封闭的房间,这样就可以在工作时间结束后从那里离开,在门上挂上“打烊”的牌子,然后去享受生活中的其他乐趣,第二天再继续工作。

这才是真正的生活。

【对闲散项目坚决说不】

我们每个人都有一堆闲散项目,可能是写了一半但从来没完成的软件,也可能是开始写时干劲十足,但因出现更紧迫的事情而戛然而止的代码。可以怪其他工作占用了时间,也可能是我们自己已然失去了兴趣。

这类闲散项目本身没有严格的时间限制,而且不成功也没有什么关系,因此注定要失败。如果它的发布日期不定,只是“未来某年某月某日”,很可能我们近期就不会去完成它。

三个月怎么样?

Jack Dorsey用三个月开发了一个鲜为人知的短信服务,他从构思到发布第一版所花的时间还不到三个月,这个服务就是后来的Twitter。试想一下,如果他年复一年地开发,而不是一旦开始就闪电发布,那么结果可能就大不一样了。

【设定一个最后期限,即使是随便设的】

制定了最后期限,工作才能得以完成,否则产品永远难见曙光。最后期限提升了工作的重要性。如果让一个项目从几个月拖到几年,你的产品可能就失去了开始时所期待得价值了。

最后期限创造了一种紧迫感,敦促你冲过终点线。即使没有人再逼迫你,它也能给你你所需的鞭策。

【去掉时间表中的细节】

我搞软件开发十二年,从来没见过一个项目是完全按计划走的。

功能会变,未预料到的障碍会出现。有时候,我们预计花一个星期的事情,最后花了三个星期。不过,最常见的事情是我们把项目时间制定得过于详细,会让我们成为时间的奴隶。所以,开始做计划的时候,要少计划些细节。一个八周的项目,找出八个每周要交付的成果,而不是四十个每天要交付的东西。

如果时间表太详细,交付太频繁,开发过程中就没有做试验伙食重新考虑细节的余地。我们便只能严格遵守根据摄像出来的任务所设定的时间表,就好像被一个无知的“微观经理”一直监督着一样。一旦有几个小任务没按时完成,整个时间表就轰然坍塌了。这一点也不会激发我们的积极性,好的软件不是这么开发出来的。

【团队是最宝贵的资产】

很多大公司都在兜售“人是我们最宝贵的资产”的陈词滥调,听起来就恶心。这些公司同时在用胸牌编号标识员工,用法购物卡的方式来挽救员工迅速消退的积极性,结果呢,还不是人员流动率居高不下。

说老实话,在我的小咨询公司里,人不是最宝贵的资产。而随着时间建立起来的工作关系才是最重要的。我已经和几乎同一批志趣相投的人一起工作了许多年,这种团队内部的亲密感意味着我们知道每个人喜欢的工作方式。

有些人喜欢细致周到地工作,每一行代码都深思熟虑;有些人则粗枝大叶,再事后清理;有些人经常需要独自工作,单枪匹马解决问题;而有些人则一上来就需要协作。慢慢地,我们会以不同的方式互相弥补,我们会适应周围的人。随着时间的推移,我们开始凝聚在一起,真的是“凝”在一起。

【当心“知识魔咒”】

一旦你成为了某个领域的专家,就几乎不可能明白对这个领域一无所知是什么感觉。

想想你该如何向一个先天失明的人解释是什么颜色,或者向先天失聪的人解释什么是声音。举个不那么极端的例子,想想律师吧,如果没有各种抽象和限定,他就没法准确回答法律问题。

这种现象就称为“知识魔咒”。

【为简化不妨说谎】

当你教一样新东西的时候,不要认为你所说的每一句话都必须是百分之百正确的。要把一个概念从一开始就将得非常完美,既不现实,效果也不好。高级概念本来就难以理解,这也正是它成为高级概念的原因。

所以,在你成为专家之后,要先把你所在领域中那些错综复杂的细枝末节舍掉。不要讲那些“除了”和“但是要…”之类的特殊情况,因为它们现在不那么重要。稍微把事实扭曲一点没什么大不了的,讲课时,善意的谎言并不见得是件坏事。

【项目管理主要是人的管理】

好的开发人员是软件领域的专家,而好的项目经理是客户领域的专家。他们和电话或邮件那头的人形成了亲密的工作关系。他们知道什么时候可以拖延,或者什么东西对于客户来说是真正重要的。客户工作对于项目经理来说可能是一场情绪上的挣扎。

【代码的迷人特质】

代码不会偷懒;

代码不会嫌烦;

代码很廉价;

代码不会遗忘;

代码运行很快;

可见,代码才是有史以来最伟大得初级程序员。

==

【结语】

这本书里,包含了作者的很多感悟,其中一些思考和沉淀,不光对程序员有益,对于做很多事情都有指导作用。

如果有空,可以看看这本小书,再结合自己之前的工作体会,或许能有自己的一些理解和收获!

谢谢!

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *