第1页 1
- 章节名:1
- 页码:第1页
问题一:
书的第三章的标题是 软件工程师的成长,其中在讲到其职业发展的时候,提到了一些软件工程师的职业资格考级,我想这一类的考试还是比价注重理论方面的知识的,如果是在以前,我会很赞同这类的测试,那时候我的想法是一个优秀的软件工程师无论是理论还是实践方面都是必须要精通的。
但是前不久,我看了保罗·格雷厄姆写的一本书《黑客与画家》,其中有一段话引起了我的注意:
人们无法考核你的工作,甚至误解你的工作,都不是最糟的事,更大的危险是你自己也会误解自己的工作。因为你总是从相关领域寻找新思想,如果你发现自己读的是计算机科学系,很自然地,你就会以为“计算机科学”与其他“理论科学”并无不同,你的工作属于“理论计算机科学”所涉及的那种理论的应用研究。读研究生期间,我的潜意识里一直有一种很不舒服的感觉,觉得自己应该多学一点理论,不应该期末考试结束还不到三个星期,就把所有东西忘得一干二净,那样真是不可饶恕。 现在,我意识到自己错了。黑客搞懂计算理论的必要性,与画家搞懂颜料化学成分的必要性差不多大。一般来说,在理论上,你需要知道如何计算“时间复杂度”和“空间复杂度”;如果你要写一个解析器,可能还需要知道状态机的概念;除此之外,并不需要知道特别多的理论。这些可比画家必须记住的颜料成分少很多。 引自 1 这一段话看起来是在说我们在理论的方面并不需要掌握过多的相关知识,像上面提到的计算机等级考试,现在似乎也不乏为考证而考证,考完以后没过多久就将这类的知识忘得干净,又或者是,在学完了这些理论知识后很久的一段时间都用不上,那么学习那么多的理论知识还有没有用呢,在理论知识和实践知识的方面我们又该怎么权衡呢?
问题二:
在书的61页有这么一段话:
这三个层次和教育理论中的三个区域的理论(舒适区,学习区,恐慌区)也很相似。图上的中间层次,就是我们要尝试、失败、学习、再次尝试的学习区。一个初学者看到关于本领域顶尖人物事迹的报道,见贤思齐焉,也很想马上就像顶尖人物一样的做事,或者得了一本《21天精通某某技术》的书籍,要求自己在21天达到最高层次。这实际上是强迫自己进入“恐慌去”,由于没有实力,心理准备也不够,必然会出现“拖延症”等现象,结果肯定是失败得很惨。这样的失败经验往往给人重大打击,让人不容易重整旗鼓,再开始学习。因此,选择适合的“学习区”来学习,不断构建自己的舒适区,从而扩展学习区,最后在某些领域达到技能的精通,是一个循序渐进的好办法。 引自 1 对于这三个区域我有如下几个疑问:
- 上段提到进入恐慌区必然会出现拖延症等现象,肯定会失败,那会不会存在一些特例,能够在恐慌区进行自我的提升?
- 对于舒适区与学习区、学习区与恐慌区的边界是怎么样的,怎么能判断自己所在的区域?
- 如何走出舒适区?(这也是我很久之前就有在思考的问题,我个人属于比较不想动脑,比较被动的那一类,有很多想学的东西,但是大部分都是在学完开头比较简单的部分之后就不了了之。)
问题三:
在第五章开头讲到了一些团队合作的模式。其中有一个模式是这样描述的(p99):
对于这个模式,在最初看到的时候,就不是很懂它的运行方式,秘密状态下运行的软件项目,两三个团队不同时期同时进入秘密开发,这样运作的话在开发不同时期团队之间的交流看起来不是很多,这样真的可以保证团队的成员充分了解自己要做的项目吗,对于上面描述的这种模式的好处,自由,热情,我觉得这即使是其他模式的团队也会有的特性。至于外界的干扰,我觉得还是有必要的,定期的向别人介绍项目进展,有助于及时发现问题,当局者迷,旁观者清,有时候别人看待我们的项目会有一个更为清晰的方向,如果能够提早发现问题,及时改正,那不是可以减少大量的时间和金钱成本吗。
另外,为了更了解这个模式,我去网上找了一些相关的资料,但是通过我找到的资料,我发现苹果公司在研发Macintosh之后的系统时采取的秘密团队模式的主要原因似乎更多是为了“秘密”而已。下面是我找到的一些资料:
文章引用自:
所以我认为,苹果公司的运行模式更像是变形的功能团队模式,对于要秘密进行开发,实属无奈之举,那么我的问题是秘密团队开发的运行机制到底是怎样的?好处又有哪些?希望老师可以给我一个更为清晰的回答。
问题四:
第八章用了一整个章节来讲需求分析,也介绍了很多需求分析的方法,那我们应该如何在需求分析的时候选择适合自己的分析方法?进行需求分析的时间又应该占整个产品开发时间的多大比重?如果后期需要不断地对需求进行重新调整,那么前期在制定需求分析的时候是否可以不用太过精细,只要列个大概的分析,等到后期开始开发产品的时候再根据实际问题进行细化?
问题五:
本书的262页在谈到用户体验时举了这么一个例子:
事实上,对于这个例子,我个人认为屏幕取词这个功能将这些简单词进行翻译没有什么不妥,它只是很忠实的执行了自己的任务,这些词或许是大部分人眼中的简单词,但是如果因为这个原因就武断将这些词不纳入翻译的行列,那用户的体验又能因此提升到什么程度呢?(对于有强迫症的我,要是发现它会不显示某些词的解释,兴许还会觉得这是bug呢)另外,每一个人对于简单词的定义似乎也没有那么清晰,如果非要强行取消某些词解释,那也很难界定其范围,所以想想还是所有词都解释的方法比较稳妥,或许以后可以改进一下,根据每一个人词汇量来进行屏蔽部分词语的解释什么的(emmm好像扯远了)。
说明 · · · · · ·
表示其中内容是对原文的摘抄