第一章:务实的哲学
- 务实的程序员具备的特征:
- 喜欢尝试。当接触到新东西时可以很快地掌握它们,并将它们与其他的知识结合起来。
- 喜欢问问题,热衷于收集各种细微的事实,坚信它们会影响自己多年后的决策。
- 在没有得到证实前很少接受既定的现实。
- 试图理解所面临的每个问题的本质。
- 努力熟悉各种技术和环境。
- 关心怎么把软件开发好。
- 思考自己在做什么,对每一个决定进行批判性评估。
- 在一个项目中,总有个性和技艺的空间。
- 每一天努力打磨自己的技能,并往技能库里添加新的工具。
- 人生是你自己的,是你在拥有、经营和创造。你可以去改变组织,或是让自己换一个组织。
- 在所有弱点中,最大的弱点就是害怕出现弱点。
- 对自己负责,对自己的行为负责。我们固然会为我们的能力而骄傲,但面对缺点时也必须诚实。
- 信赖和依赖团队。
- 除了个人尽力做好,你必须分析超出你控制范围的风险情况。当你决定对一个结果承担责任时,要明白这意味着你将承接相关的义务。
- 不要把问题归咎于别人或其他什么事情上,也不要寻找借口。
- 把谈话在心里过一遍。有时,你已经知道他们会说什么,那么就直接帮他们搞定。给出选择,而不是找借口。
- 当某人敷衍搪塞你时,你的反应是什么?
- 当你意识到自己在说“我不知道”时,一定要接着说“——但是我会去搞清楚”。用这样的方式来表达你不知道是非常好的,因为接着你就可以像一个专家一样承担起责任。
- 不要搁置“破窗”(糟糕的设计、错误的决定、低劣的代码)不去修理。每发现一个就赶紧修一个。
- 一项协作的成果,最后所有人都是赢家。
- 做推动变革的催化剂。人们都觉得,加入一个推进中的成功项目更容易一些。因为只要一窥未来,大家就能团结在一起。
- 永远留意着大局,持续不断地审视你身边发生的事情,而不要只专注于你个人在做的事情。
- 不要让过度的修饰和精炼侵蚀掉一个完好的程序。
- 投资知识,收益最佳。
- 你必须定期为你的知识组合投资,即使数量有限。
- 你知道的东西越多,你的价值就越大。
- 在一项新兴技术变得流行之前就开始学习。
- 批判性地思考读到的和听到的东西。网络搜索引擎有时仅仅是把热门的东西列在最前面而已,并不能说明这是你的最佳选择。
- 为什么?谁从中受益?有什么背景?什么时候在哪里可以工作起来?为什么这是个问题?
- 英语就是另一门编程语言。
- 一定要记得回复邮件,就算简单地说一句“我稍后答复你”都好。随时知会别人,能让人更容易原谅你偶然的疏忽,让人觉得你并没有忘记他们。
- 关于电子邮件的建议:
- 在发送之前校对一遍。
- 检查一遍拼写。
- 用简单的格式。
- 尽可能少地引用原文。
- 如果你要引用别人的邮件,一定要注明出处,并做内联引用。
- 不要在网上侮辱别人,不要做喷子,除非你就喜欢被喷,喜欢受虐。
- 像对待任何书面备忘录和报告一样对待电子邮件。
第二章:务实的方法