充满真知灼见_理解专业程序员书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 理解专业程序员 > 充满真知灼见
老好人 理解专业程序员 的书评 发表时间:2009-11-30 13:11:39

充满真知灼见

几乎是一口气读完了这本书,第一次读温伯格的书,觉得很是不错。特别是关于选择工作、加班以及程序员的心理需要部分。每章后面的寓言也挺好玩。以下是自己认为比较好观点(大部分不是照抄的):
真正胜任的程序员是非常难得的。“世上有很多可怜的企业,这些企业从来没能长期留住一个真正胜任的程序员,因此他们也就没有一套标准来衡量程序员的专业性。这些企业的标准就是把庸人当成奇才。而这样的标准也千奇百怪,各地均不相同,甚至在同一公司的不同部门也不相同。”
与那些自以为健全的程序员相比,身患残障的程序员往往工作业绩更大。在编程这件事上,我们全都身有残障,虽然我们可能还并不自知。因为我们平时只用上了很小的一部分的潜能。
多读多写。阅读别人的程序,尽量扩展自己的理解能力,专门去读懂那些“写法奇特”的人的代码,从而在读程序时取得更多的收获。
在每一个工作日中,花一部分时间来考察、精炼你的工作方法。在方法论上的提取和精炼将是一笔明智的长效投资。
专业程序员是为其他人解决问题的人—无论问题有多么麻烦。程序员不总是在解决定义明确的问题,事实上,他很多时候需要解决定义不清的问题。
选择工作的标准:企业的目标与个人信条是否一致?企业中职责是否明晰,自己是否认同?管理层是否为我的专业发展提供足够的时间与资源?管理层是否鼓励我与同事互相协作,帮助他们发挥自己的潜能?企业是否鼓励员工理解自己的任务?我和其他人的工作是不是都能够公开让同级评审?我对这家企业,这个项目投入的程度,能否达到人们的期望? 其中企业的目标非常的重要,如果你所做的工作会使得这个世界变得更糟糕,你的工作还有什么意义呢?
如果在企业内部无论怎样努力都没法改变全局,那么你最好的选择就是“用脚投票”—这是你对于整个世界能做的最大贡献了。
现实生活的程序员经常犯这种错误:计算机是用来解决问题和需求的,可是许多产品却经常不满足用户的需求,却强迫用户接受自己的输出。
关于代码风格、编程语言、算法、设计方面的技巧非常重要,正是这些技巧才把专业程序员和业余爱好者分开。
将注意力集中在设计而不是语法和拼写上,这样程序往往会运行得更加有效。
同行相互评审是工作中最好的学习方式,而学校编程课程却只能讲语法。
一个真正专业的程序员,应该能够很快学会一门新的编程语言,通过两周的自学就能出活儿。
编程语言的双语教学是很有效的方式,一旦程序员学会了两种以上(完全不同)的语言,再学习新的语言将是小菜一碟。
如果人们光盯着自己的成果,大多数人都只能缓慢地、少量地学习;但是,如果参照别人的成果,大家都能快速、深刻地学习。
不要因为工作伤害身体。
关于加班的理想状况:在大多数时候按时上下班,不加班;拿出时间好好吃饭;永远不奖励那些在额外时间工作、忽略吃饭的人;相反,奖励那些井然有序,在正常工作时间好好完成正常工作的人。
归属感(成为某个团体的一员)、尊重(被他人高度评价)、自我实现或自我尊重(被自身高度评价) (注意:并不是薪资)才是程序员深层心理需求。在今天的环境中,几乎没有程序员会受到生理需要或安全需要的激励。
如果把人们工作的工作结果反馈给他们,他们就能知道哪些是好的,哪些是坏的,这样他们就能确保在变化中增加好的,减少坏的。管理者的任务,并不一定是直接给出这样的反馈信息,而是去安排这样的反馈,并使之正规化、可靠化。
技术评审时任何经理都能采用的最立即、最有效的手段之一。
 “你能告诉我哪个程序员从来没有在别人喝咖啡的休息时间继续工作过,我就告诉你哪个程序员是平庸之辈。你告诉我哪个程序员从来没有抱怨别人打断了他的重要思路,我就告诉你哪个程序员简直是行尸走肉”
“程序员失败的一个原因,是因为不能在一个问题上集中注意力,直到把问题解决。但另一个失败的原因,则是对一个问题太过沉迷,以至于没有看到某个‘显而易见’的想法。”
大脑需要刺激。你做的任何能够刺激大脑的其他机能的事情,都能够提高你的工作效率。这种刺激最好在正规教育系统之外。如果刺激的内容与本职工作太过相关,则难得有什么效用。引申出的结论是:如果要做技术交流,最好不要对交流的主题做太多的限制。
偷窃和犯错是两种优秀的主意来源,但大多数确实优秀的主意却来自交配—把两个独立的主意合成一个新的主意。
当我们将一个解决问题的想法转化为实际的解决方案时,有时必须要和他人交流。任何听众难以理解你的想法,你的“优秀”的方案可能被否决。
如果你想让人认为你聪明,那就认真听人说话,仔细理解人家的意思。如果你想让人认为你傻,那就不妨经常用你的高见打断别人的话。
母语的能力—读和写的能力—对于程序员来说是一种重要的素质。因为写程序在很大程度上类似于写作。
很多计算机企业的管理者似乎没看出这个道理:最重要的文档是保存在人脑子里。
代码是最重要文档,要保证代码作为文档的质量,首先是要确保代码放进程序库中之前已经让一个以上的人读过了。测试代码的文档功能的唯一办法是阅读代码。
程序员的能力很难评估,单位时间完成代码的行数不能作为能力的标准,或许幽默感可以作为评估的参考。
在一个机构中,言论自由很重要,大家应该有违抗不对或愚蠢的命令的自由。一个机构若不容许人犯任何错误,创造性将在这样的机构中泯灭。
如果一个程序员一直在成长、进步,他也就不会害怕未来。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“充满真知灼见”的回应

占卜 2010-01-13 12:38:02

看起来不错

HG 2010-01-02 23:34:25

多读多写。阅读别人的程序,尽量扩展自己的理解能力,专门去读懂那些“写法奇特”的人的代码,从而在读程序时取得更多的收获。(不同的思想方法,弥补自己惯性的思维方式)

在每一个工作日中,花一部分时间来考察、精炼你的工作方法。在方法论上的提取和精炼将是一笔明智的长效投资。 (一直在摸索两点间最短的路)

如果在企业内部无论怎样努力都没法改变全局,那么你最好的选择就是“用脚投票”—这是你对于整个世界能做的最大贡献了。 (说出来是对的,会有惊喜)

关于代码风格、编程语言、算法、设计方面的技巧非常重要,正是这些技巧才把专业程序员和业余爱好者分开。 (发现巧妙的程序,就像看到地上有钱一样,马上捡起来)

一个真正专业的程序员,应该能够很快学会一门新的编程语言,通过两周的自学就能出活儿。 (是么,赶快试试看)

  不要因为工作伤害身体。
关于加班的理想状况:在大多数时候按时上下班,不加班;拿出时间好好吃饭;永远不奖励那些在额外时间工作、忽略吃饭的人;相反,奖励那些井然有序,在正常工作时间好好完成正常工作的人。 (长记性了,要好好吃饭)

   “你能告诉我哪个程序员从来没有在别人喝咖啡的休息时间继续工作过,我就告诉你哪个程序员是平庸之辈。你告诉我哪个程序员从来没有抱怨别人打断了他的重要思路,我就告诉你哪个程序员简直是行尸走肉” (自己不是,还被人说脾气火爆,就因为打断我思路)

大脑需要刺激。你做的任何能够刺激大脑的其他机能的事情,都能够提高你的工作效率。这种刺激最好在正规教育系统之外。如果刺激的内容与本职工作太过相关,则难得有什么效用。引申出的结论是:如果要做技术交流,最好不要对交流的主题做太多的限制。 (大脑需要刺激,以后关于编程的交流,多多参加)

偷窃和犯错是两种优秀的主意来源,但大多数确实优秀的主意却来自交配—把两个独立的主意合成一个新的主意。 (剽窃与犯错,没少干的两件事)

当我们将一个解决问题的想法转化为实际的解决方案时,有时必须要和他人交流。任何听众难以理解你的想法,你的“优秀”的方案可能被否决。(不断改进,程序是面向对象的)

如果你想让人认为你聪明,那就认真听人说话,仔细理解人家的意思。如果你想让人认为你傻,那就不妨经常用你的高见打断别人的话。 (傻瓜有聪明的时候,聪明人也有犯傻的时候。)

测试代码的文档功能的唯一办法是阅读代码。(review > validation 有时候真是这样)

  程序员的能力很难评估,单位时间完成代码的行数不能作为能力的标准,或许幽默感可以作为评估的参考。(恩,‘或许’ 是多余的)