读书背景
时间越来越少,读的书留下的印象越来越模糊,读书时产生的思想碰撞不即时记下来,也会立刻忘记。
突然有一种觉悟,读的书的内容会随着记忆的模糊而忘却,可是当时读的时候的思想碰撞确会保留的长久一些,同时这些碰撞才是我阅读时书和我本人的思想的结果。
这本书我是通过阮一峰的介绍开始读的,是很好的一本书,可惜我现在才看到。赶紧读下碰撞下。
本书目录如下:
- 人员管理
- 写给未来程序员的建议
- 设计的作用
- 管理大型项目
- 编程建议
- 开办软件公司
- 经营软件公司
- 发布软件
- 修订软件
全书分为9个章节,鉴于我目前的个人情况,我会跳过部分章节,只读我感兴趣和我用得到的章节,我做的读书笔记也就是这部分笔记。
第二部分:写给未来程序员的建议
学习只教Java的危险性
危险在何处?
- Java不是一门非常难的语言,无法区分优秀程序员和普通程序员
- 大学计算机系学Java无法淘汰那些成不了优秀程序员的学生
- 学习Java,而不深入了解指针和递归,和MapReduce,就会没有办法开发Linux的内核,操作系统的代码就看不懂;不懂函数式编程,就无法创造MapReduce,无法达到谷歌的可拓展性
- 学习指针和递归的真正价值在于那种学习过程中所得到的思维深度,以及在害怕被淘汰时所产生的心里抗压能力。
- 计算机科学是由证明,算法,语言,操作系统,编译器组成额,不教C语言,只教Java的学校实际上根本不是在教授计算机科学
给计算机系学生的建议
开篇吐槽:
如果你喜欢编程,那么你真实收到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。大多数人没有这么幸运。你认为理所当然的观念“热爱你的工作”,其实是一个很现代的观念(我也很好奇这个观念是什么时候开始产生的,这个观念拯救了一些人,同时也害了不少人啊)。
通常的看法是,工作是一种让人很不开心的事,你为了拿工资才不得不去上班,你工作的目的是为了攒下钱去干那些你自己真正喜欢干的事,但是前提是你得等到65岁退休之后,而且还有不少条件。
- 你的积蓄足够多
- 你没有老到走不动,你还有体力去干那些事
- 你喜欢的事情不需要用到脆弱的膝盖,昏花的老眼,也不要求你走上1里地不喘气,等等
Joel针对计算机系的7条免费建议
- 毕业前练好写作。
- 一个普通程序员和优秀程序员的区别,在于他们能否与他人交流思想
- 如果你能说服他人,你的影响力就会放大
- 如果你能写出清晰的注释和文档,别人就能理解你的代码,就能使用你的代码
- 写网络日志,你写的越多,写作就会变得越容易,写起来越容易,你就会写的越多,这是一个良性循环
- 毕业前学好C语言
- 毕业前学好微观经济学
- 不要因为枯燥就不选秀非计算机专业的课程
- 选秀有大量编程实践的课程。
- 别担心所有工作都被印度人抢走
- 找一份好的暑期实习工作
- 如果你头脑简单到我说什么你就做什么,那么你就不必读下去了。在这种情况下,我还要加上一条:
- 寻找专业人士的帮助,培养你的自信心。
第五部分:编程建议
循证式日程规划
日程规划的目的是最有效率,最有价值的使用你的时间,但是你如果不知道每项任务所要花费的时间,你就不可能找出最经济的工作方式。
不做日程规划的原因:
- 做起来比较麻烦
- 没人相信日程规划是可行的,如果一件东西可能是不对的,那又何必费事把他做出来呢?
更好的日程规划建议:循证式日程规划
- 第一步:分解时间
- 以小时为单位,将一个个任务预估计需要花费的小时数
- 追踪时间的用途
- 保留工作时间记录单
- 回头参考这些数据,估计新的任务需要的时间
- 对未来情况进行模拟:使用蒙特卡洛模拟进行计算
- 不要有强迫症
被打断了,就更新时间规划 - 积极管理你的项目
- 范围渐变:为突发状况留出缓冲
- 新的功能设想
- 对手的新动向
- 整合中出现的问题
- 解决各种错误
- 易用性测试
- 软件Beta版的测试。
这个规划非常好,不知道目前的团队写作软件或个人管理软件里有没有这类功能?
网友评论