《构建之法》第一、二、十六章读书笔记

这本书可以说是我进入软件工程专业以来读过的最容易理解的一本书,用平易的语言讲解了很多软件工程教材没有讲清楚或者不敢讲的软件工程的本质问题,让我对软件工程在原有基础上有了翻新的认识,在读这本书的过程中不时感叹“哦,原来是这样!”,感觉之前对于软件工程的认识只是皮毛,让我重识认识了软件工程“知行合一”的思想。阅读的同时,我也产生了一些疑惑,以下是我在学习过第一、二、十六章后提出的一些问题和我的思考!

第一章:概论

Question 1:【1.2.3软件工程的知识领域】提到了“有些规律指明了变化的趋势,例如:在软件工程发展的短短十几年中,人们整理了许多原则和规律......有些规律是指明了变化的趋势,例如:向进度落后的项目中增加人员,会让项目更加落后 ”这个规律并没有说明定量关系,“人员”拥有什么样的素质?增加人员的数量和延迟的天数具体是什么数学关系?如果这些人员像中国一些互联网企业搞996工作制,会挽救延迟的项目么?” 

我的疑问: 向进度落后的项目中增加人员,会让项目更加落后”这个规律在实际中真的会发生吗?为什么会使项目更加落后呢?

查询资料: 资料1:就如这篇博客中所提出的  http://bbs.csdn.net/topics/380034054,在项目比较紧张的时候,如果在前期有位大牛加入,那不免是个好的选择,对于项目经理来说,在面对这种紧张的状况,肯定有很多理由去选择“增添人手”
                资料2:博客 http://blog.csdn.net/fengclient/article/details/51627502 这篇博客讲述的很详细,写了加入新的成员面临的种种困难,让我了解了“增添人手确实会带来一些麻烦

我之前的实践:我的项目经验不多,在上学期的理想杯中,我们做了一个关于“爱心资助”的项目,为了赶进度,大家都在加班加点,如果那个时候让我选择的话,我认为选择加入新的人手是可行的,因为项目比较小

我还是不太懂的是:因为从来没有接触过企业项目,即使查询了很多资料,依旧不太了解如果企业中遇到这种状况的时候,增加成员真的导致项目落后吗?(有这样的实例吗?)

Question 2:【1.2.2 软件工程与计算机科学的关系】中提到“中国大陆的高校大致有下面三种讲计算机软件的结构: (1)计算机科学与技术或学院   (2)软件工程 (3)软件工程系、软件工程学院很多同学在报名时不知道他们的区别,进去之后发现除了收费高低不同,学的科目差不多,毕业后大部分同学都是写程序,似乎差别不大。中国大陆高校大多设有‘计算机科学’相关的院系。除了学术水平名列前茅的学校,大部分学生毕业后也投身于软件工程,跟软件学院的方向非常雷同,这是目前中国IT产业发展的现状”。

我提出的问题:目前,听很多去公司实习的学长学姐说过“不只是计算机专业,现在有好多其他专业毕业的都在从事软件开发”,IT行业的竞争很激烈,最为软件工程的学生,我觉得即使身处软件工程专业,近两年来学到的都是一些基础语言,缺少实践,相比于计算机专业在软件工程方面并没有很强的优胜感

查询资料:(1)我在知乎上搜索了“作为一名软件工程专业的大学生要精通什么技能技巧才“对得起”这个专业?”,其中给出了一些答复

1.什么是真正的编程能力?
 https://www.zhihu.com/question/31034164/answer/50423838 
2.本科应届毕业生应该具有怎么样的能力?
  https://www.zhihu.com/question/25753307/answer/31518801 
3.计算机的同学们都在编什么?
  https://www.zhihu.com/question/25283551/answer/30431588

……

都在说要大学里要打好基础,学好语言,但我觉得其他专业的人一样也可以快速掌握这些基础语言

(2) 我还查询了非IT行业毕业后从事IT行业的比例   https://tieba.baidu.com/f?kz=727558112&pn=0&

我的实践:我们上学期组队设计了一个科研项目,在初选时未能入围,入围的小组屈指可数,因此项目机会在大学里是很难得的,而且在大学里的比赛相对较水,没有太多的项目经验

我还是不太懂的是:面对IT行业现在的情形,“仅有45%的it相关毕业生从事了it行业”,面对如此大的竞争,老师您有什么样的看法呢?对于大学软件工程专业的本科生,除了一些基本的专业课,我们应该如何规划自己在大学里的学习内容才能够在毕业后更胜一筹呢?


 

第二章:个人技术和流程

Question 1:来自【2.3个人开发流程中】的阅读

(1) 怎样从“优秀码农”蜕变为优秀的工程师?

资料查询: https://segmentfault.com/a/1190000011664025 中写到
“两个月,半年,甚至一年精通软件工程是不可能的,你别去上什么培训班去学这个。我学了二十多年,直到现在还在学习。而我学了十年,构建和维护了上千上万人使用的程序,才敢自信地说一个有经验的软件工程师"

(2) 当了软件工程师之后技术会不会荒废下来,IT行业技术更新很快,会不会因为技术的荒废而不能再胜任软件工程师的职位呢?

资料查询: http://blog.csdn.net/nfzhlk/article/details/78052571  在这篇博客中提到:“有些朋友,在创业公司成长起来,当了架构师,当了高级技术经理,带十几二十个人的团队,慢慢转型管理。技术也慢慢荒废下来,不是想荒废,而是一天到晚无数的会议,合作伙伴找你,老板找你,产品找你,市场找你,团队里的技术小朋友找你,日子久了,技术不得不荒废下来”

我还是不太懂的是:在我自己提出的两个在这两个博客中提出了相应的解答,但我觉得过于片面,老师您的经验丰富,对于这两个问题有什么不同的见解吗?还有就是,对于软件工程师来说技术和职业素养哪个更看重呢?

Question 2 : 【2.4 实践——设计有实际意义的软件工程作业】中提到“很多老师反应软件工程的作业题不好出,学生做的“大作业”也是了无新意,自学软甲开发的读者也往往想不出什么有意义的题目来练习”

资料查询:在百度文库的这篇文章https://wk.baidu.com/view/32db9c3510661ed9ad51f3fc中写道“许多毕业生找不到与软件专
业对口的工作, 只能无奈从事其他行业。 究其根本原 因是因为大学里“软件工程师”的专业课程设置严重落后于软件行业日新月异 的技术发展, 大学所使用的教材一般很少更新, 而软件开发技术平均每两年就要”

我的实践:我认为之前做的专业作业都是所谓的“大作业”,很多届都留的相同的作业,没有多少人会用独立用心完成

我还是不太懂的是:真的像百度文库说的一样,我们目前在大学里学到的专业课程设置严重落后与软件行业的日新月异了吗?如果真的存在这种状况,我们大学生应该做些什么来减弱这种脱节现象呢?


第十六章:IT行业的创新

Question1:来自【16.1.6 迷思之六:技术创新是关键】的阅读,尤其是其中的“铱星计划”

我提出的问题:技术的创新到底是否还被重视,是否仍被视为关键?

资料查询:在“技术积累比技术创新更重”这篇博客 http://blog.sina.cn/dpool/blog/s/blog_4836e8b30100ei0d.html 写道“不过,有调研数据就显示,时下仍有64.9%的企业重视创新,但只有35.1%的企业重视了技术积累,这一现象导致了从上个世纪90年代开始,国内很少有高新技术企业能够好过10年的”

我的实践:之前学校的“国创”和“科研立项”就旨在培养大学生想法的创新的基础上获取项目经验,我们在为项目初审做准备时,把重心都放在了创新上,因为只有项目的创意好才有更大的几率入选。但阅读过的很多资料证明一个好的企业相对于技术创新应该更注重技术积累

我还是不太懂的是:我那么作为一个大学生,在大学期间,我们需要刻意的培养自我的这种创新意识吗?

Question2:【16.1.7 迷思之七:成功的团队更能创新】中提到“在过去的几十年中,专家们对于颠覆性技术的预测往往是错误的——因为颠覆性技术的市场还不存在!例如,专家们在手机出现前预测的手机市场规模相差一百倍”

我提出的问题:对于目前预测颠覆性技术发展预测的文章,我们应以怎样的态度对待呢?

资料查询;我搜索了“改变未来的十二项颠覆性技术”https://wk.baidu.com/view/866ca515caaedd3382c4d364 ,在百度文库的这篇文章里写了12项颠覆性技术在2025年的影响预测,如果是之前我对这些数据是很信服的。

我还是不太懂的是:看了十六章后,我产生了一些怀疑,在一些颠覆性技术,比如“服务性机器人,自动汽车”,在这些技术的大市场还未打开时,这些专家预测还有用吗?如果没用,公司在做创新项目时为何还要高价请专家进行预测呢?


综上,是我细读了邹老师的《构建之法》的一、二、十六章后的一些看法和一些未能自己解决的疑问,希望能得到老师的指点~

 

原文地址:https://www.cnblogs.com/mrxueren/p/8585899.html