《程序员修炼之道》 阅读笔记01
本人在24年7月正式参加工作,到今天(2026年2月4日)积累了大约一年半的工作经验。我在研究生快毕业之前,实习的时候第一次读了这本书,当时有一些囫囵吞枣的成分。当时的我感觉书中很多部分都是非常浅显的道理,而且并没有什么感悟。
转眼一年半过去,正着手准备跳槽的时候,正好看到这本放在书柜上很久的书,打开翻翻感觉这一年半的工作经验完全是这本书的反例。因此决定把重读这本书的感受写下来,勉励今后的自己。(因此这个系列的blog都充满了自说自话和废话)
第一章 务实的哲学
第一次读这本书的时候,翻开第一页,我就被名为“务实”的哲学所打动。“务实”实际上是一种最浅显的哲学思考,我现在觉得也是一种终极的解决方案。
作者在这一章的序言里给出了“务实”比较明确的特质:
- 解决问题时,透过问题的表面,将问题置于更大的上下文来全局考虑,并作出明智的妥协和合理的决策;
- 为所做的一切负责。
1. 人生是你的
“人生是你自己的,是你在拥有、经营和创造。”
这一节也是使用了非常简短的篇幅叙述了几个非常浅显的道理,我最有感触的是:人要对自己负责。
作者提到,如果你将自己无法进步、无法获取更多的薪资、无法居家办公怪罪于公司安排、主管不同意。那么实际上是画地为牢,你是有权利选择的。作者给出的更多的是一种开拓视野的小提示,如果你无法进步,那么就加加班补补课;如果你无法获取更多的薪资和居家办公,尝试和主管谈谈,实在不行就换一份更高薪、可以居家办公的工作。不过其实暗含了更高层次的道理,就是人要对自己负责。
因为软件工程与其他行业不一样,这是一个可以掌控自我的行业,同时也是学无止境、不进则退的行业。我们程序员,必须要对自己的进步和职业规划负责。我们拥有让自己进步的权利和义务。不管因为谁、因为什么原因导致自己无法进步,归根到底都是自己的问题。当我们把这部分责任归咎于外的时候,实际上也把自己进步的权利拱手让人了。
2. 我的源码被猫吃了
这一节也是在强调负责。《人生是你的》这一节,范围更大,是对人生的负责;而《我的源码被猫吃了》是指对工作负责。
这两节都是有种在教做人的感觉。一方面给没参加工作的人打预防针,或者给一团乱麻的同行们的一个善意提醒吧。具体来说方法论就是:如果犯错了就尝试依赖我们的专业性去解决问题。如果犯了错误我们也应该诚实的承认。如果真的出现了问题,不要把问题归咎于别人或者其他什么事情上,也不要寻找借口。如果真出现了问题,不要仅仅解释为什么出现了问题,还要给出解决方案。
这一节的内容就是这些,这些真的是常识到不能再常识的事情,可是道理都懂,做到却很难。作者也不是想要把这个道理当作一种知识来传授给大家,而是自我检查。很多道理大家都懂,可是读一遍只是知道,再读才懂,再读才有体会,最后才能内化,最后才能付诸实践。最近一年工作中我经常在我自己的工作内容中跟同事和朋友强调专业性三个字,除了其中大部分是在臭屁的因素之外,也是一种自我提示吧。
3. 软件的熵
这一节内容更加递进了,是已经具体到工作时如何负责的问题了。因为编程存在“技术债”,还有破窗效应,因此当下维护好代码的质量、发现问题就去维护和解决问题时不要造成附带损害是保持整个项目健康的关键,至少我们自己要做到这一点。
4. 石头做的汤和煮熟的青蛙
这一节主要强调了两种情况:
- 成果更能说明情况,所以想要推动某件事进行时,不如先行动起来,然后吸引其他人加入。比劝说他人在一开始时就协同共事更容易。
- 尝试多顾全大局。持续不断的审视身边正在发生的事情,而不要只专注于个人在做的事情,否则项目很容易失去控制。
这里说的两件事是相同问题的两面,一面是因为微小的进步使项目越来越好,一面是微小的挫折让项目越来越失控。