我编程,我快乐——读书笔记(二)
第二章 在产品上投资
1. 我之所以说自己有天赋,是因为我发现自己在工作中不断学习,并且不断进步。
2. 只有向这件产品中投入心血、汗水、眼泪和资金,才能使它真正具有价值。
3. 要主动问,不要等着别人来告诉你。授人以鱼不如授人以渔。
4. 如果你想要雇佣某人来为你工作,你会希望这个人总是要受那些专家的支配吗?我不愿意。我想要的是一个能够自立的员工。
5. 与客户的互动式非常重要的,清楚地了解客户的要求比似懂非懂然后自己填写细节要好得多。
6. 学习行业是如何运转的。不能小看业务领域的知识,它可以决定雇佣方是否选中你,而且也会让你在工作中赢来阵阵掌声。
7. 有一种知识既不属于技术范畴也不是特定于某一行业的,而且也不会很快就过时,它就是财务基本知识。
8. 我们来这个公司工作,目的就是为它赚钱或者省钱,但我们根本就不懂这行是怎么赚钱的。如果连这行是怎么赚钱的都不知道,又怎么能创造性地帮助公司赚取利润呢?
9. 寻找良师。没有榜样,就没有动力进步。如果你只是一直和你家里人下棋并且战胜他们,你可能会觉得自己是个高手。[但只是假象,应该多走出去看看]
10. 按常理说,前进总比静止不动要好得多。良师可以帮助你削减这些选择,避免你白费精力。[现在的人不是没有选择,而是是因为选择太多而停滞不前]
11. 学会自己做自己的良师。虽然很难,但要慢慢学会自己指导自己。
12. 练习,练习,再练习。挑选一个你想要用来练习的软件,浏览它的待办事项,给你自己规定时间来实现这个新的功能(或者至少决定要实现这个功能需要哪些步骤)。
13. 你必须找出时间来联系,这是你的责任。
14. 当我们编码的时候,开发的步骤与开发的成果一样重要。
15. 要想拥有自己的步骤,那就执行它。
16. 一个能使你的团队工作更有效率,帮助你们生产出更好的产品的步骤就是最好的选择。
17. 比起找到一个做软件开发的人来说,想要找到一个能够设计出软件开发步骤的人要难得多。
18. 设计模式使现存程序的研究正式化,使大量专业软件工程师得以进行这项工作。当你以一种批判的视角去看这些程序的时候,你就会开始培养自己的品味,就想你对音乐、艺术和文学的品味一样。
19. 我觉得自己一直以来都只是在一个方面发展自己的技术,没有机会学习公司到底是怎么运作的,利润是怎么产生的,优势怎样继续积累的。我决定行动起来,更多地了解商业知识,以及学习如何做一名企业家。我没参加过任何商业课程的学习,要想学习这里的来龙去脉,唯一的方法就是实践,反复试验,从失败中学习。
练习1:
在你读书或者工作的时候,想一想工作中你不完全懂的问题。你可以问自己两个问题:它是如何工作的?为什么会发生这种情况?
比如:IIS服务器是如何通过向ASP.NET发送请求来结束工作的?
当在这个“如何和为什么”的环节中你无法再深入了,那就证明你已经达到目的了。
练习2:
(1) 通读一本基础商业教程,一本MBA教程是不错的选择。我推荐一本非常有用的书The Ten-Day MBA[Sil99]。
(2) 找一个人带你到公司财务部门看看,并请他们想你讲解财务状况(如果公司不介意的与员工分享这些信息。)
(3) 弄明白为什么“账本底线”要被称为“账本底线”。
企业的总收入扣除业务成本、折旧、利息、税款、和其他开支之后的所得或者收入余额就是净收入。净收入是财务损益表的最后一行,所以也叫做账本底线。净收入是计算股息和分红的基础,很受到股东的重视。于是最有价值的投资信息也被叫做账本底线。
练习3:
想想在你工作的领域中你最钦佩谁。列出这个榜样的10种特性,这些特性必须都是是他为榜样的理由。然后选择其中两三项你认为最终的特性,并开始有计划性地训练自己。
练习4:
找一个你可以帮助的人,可以是公司里比自己资历浅经验少的人,比如一名实习生。或者辅导大学里面的一名学生。再或者找一个网络论坛,开始帮助别人,慢慢你就会因为愿意帮助别人学习而在这个论坛里出名。
练习5:
Topcoder——Topcoder.com是一个很早就存在的编程竞技网站。
Code Kata ——Dave Thomas是《程序员修炼之道》的作者之一。可以在他的博客上看到他创造的一系列的很小却深具启发性的练习,以及别人解决这个问题的方法和相关讨论。(http://codekata.pragprog.com/)
练习6:
(1) 选择一个项目,想读书一样研读并且做笔记。归纳出好的方面和不好的方面。发表一篇评论。
(2) 找到一个志同道合的人,每个月聚会一次。提出一段代码——2到200行都行。分解它,然后讨论这段代码背后的东西。
练习7:
研究模型驱动架构(MDA)。尝试一些可以使用的工具。看看工作中哪里可以使用MDA概念。想想如何用你日常使用的工具来应用MDA概念。