/ NOTES

《程序员修炼之道》读书笔记(一)

《程序员修炼之道》读书笔记(一)

《程序员修炼之道——从小工到专家》[ 美 ] Andrew Hunt; David Thomas

注重实效的哲学

把蹩脚的借口清除出去

错误肯定会发生。如果你主动为某个结果担负责任,那么当你犯错误、或是判断失误时,要诚实地承认它,并设法给出各种选择,说明能够做什么来挽回局面

在你走向任何人、告诉他们为何某事做不到、为何耽搁、为何出问题之前,先停下来,在脑袋里模拟一遍谈话,想想他们可能会说什么?是否会问:“你试了这个吗……”。有时,你其实知道他们会说什么,所以在去告诉他们坏消息之前,把蹩脚的借口清除出去,想一想还有没有再试一试的办法?想一想能怎么防止问题再度发生?又或者需要额外的资源?不要害怕提出要求,也不要害怕承认你需要帮助。

预防项目中的“破窗效应”

不要留着“破窗户”(低劣的设计、错误决策、或者糟糕的代码)不修,发现一个就修一个。如果没有足够的时间进行适当的修理,就用木板把它钉起来。采取某种行动防止进一步的破坏,并说明情势处在你的控制之下。

就像“破窗效应”一样,作者见过整洁、运行良好的系统,一旦窗户开始破裂,就相当迅速地恶化。同样的道理,假如你发现你所在团队和项目的代码十分漂亮,你就很可能会格外注意不去把它弄脏,哪怕可能 ddl 将至,你也不会想成为第一个弄脏东西的人。

持续不断地观察周围的变化

就像“石头汤”的故事那样,让他们瞥见未来,你就能让他们聚集在你周围。但同时,当你设法催生变化时,要注意你是在做“石头汤”还是“青蛙汤”。

让你的用户参与权衡

现实中,时间、技术和急躁都会阻止你制造出十分完美的产品。但是并不用气馁,就像你也不会等到某个软件清除所有的 bug 之后才开始使用它。如果你给用户某样东西,让他们及早使用,他们的反馈常常会把你引向更好的最终解决方案。当然,这不意味着糟糕的代码,所有的系统都必需满足其用户的需求。只是在宣扬,应该给用户机会,让他们参与决定你所制作的东西何时已足够好

不要因为过度修饰和过于求精而毁损完好的程序。继续前进,让你的代码凭着自己的质量站立一会儿。它也许不完美,但不要担心:它不可能完美。

经营你的知识资产

作者在里面强调,必须定期为我们的知识资产投资。因为我们的知识和经验是我们最重要的职业财富,但遗憾的是,它们是有时效的。随着新技术、语言及环境的出现,我们的知识会变得过时,尤其是在当今的互联网时代,技术迭代非常的迅速。随着你知识的价值降低,对客户来说你的价值也在降低。

而这与金融资产一样,有几个要点:定期投资多元化管理风险

你知道的不同的事情越多,你就越有价值。但是底线是,你要知道你目前所用的技术的各种特性。在此基础上,你掌握的技术越多,你就越能更好地进行调整,赶上变化。

同时对于各种技术,你不应该一头扎入投入风险很高的,也不应该太过保守而错过可能的机会。

在接受外界信息时,要确保自己没有受到炒作的影响。即要批判地思考,这点与《学会提问》中强调的一样,不要低估商业主义的力量,要明辨你资产中的知识是准确的。

交流

这里强调的与《高效能》强调的一致。主要可以归结为:

  • 知道你想要说什么,组织好语言,直到你能清楚地表达出你的意思。
  • 了解你的听众,包括:需要、兴趣、能力。这样才能更好的站在他们的角度思考,让他们对我们的话感兴趣,让他们更好地倾听。只有当你是在传达消息时,你才是在交流。这也与《文案的基本修养》强调的完全一致。
  • 做个好倾听者。如果你不听他们说话,他们也不会听你说话。

关于第二点,书中给了一首 WISDOM 离合诗 (acrostic) 来帮助了解听众:

WISDOM 离合诗 —— 了解听众

What do you want them to learn? 你想让他们学到什么?

What is their interest in what you’ve got to say? 他们对你讲的什么感兴趣?

​ How sophisticated are they? 他们有多富有经验?

​ How much detail do they want? 他们想要多少细节?

​ Whom do you want to own the information? 你想要让谁拥有这些信息?

​ How can you motivate them to listen to you? 你如何促使他们听你说话?