初次看到构建之法时,感觉一门课,竟然发两本书,还要求我们写技术博客,并且通过博客与老师和同学们交流,任务很多,很重的样子,我们大多数人根本没有多少的实际开发经验在这种情况下,去学习软件测试,会不会尽是理论,都是一些虚无缥缈的东西,会不会如同鸡肋呢?不禁心中打起了小鼓。不过听了授课老师的介绍,感觉还不错。随手翻了翻,感觉故事性挺强,不知不觉就看了两章,之后我就有时候在睡前看个十几页,然后睡觉。
有时候想这本书如果在大一的时候,就看到了,或许对程序员这个行业就会少一些迷茫,多一些准备吧。这本书让我更加了解这个行业,我感觉这本书与现实的接轨还是不错的。给我指引了一些方向。在一些重点字眼上,还会加粗,我们就会容易的找到那些关键词。书中有很多人物间的对话,那些对话很多具有趣味性,让我们读的感觉不那么枯燥,在开发的过程中,不同人物之间对项目的看法,对项目的某些问题产生的疑问,以及平常生活中都会碰到的沟通问题等,都给了我不一样的角度。
印象最深的就是给我们介绍了软件=程序+软件工程,这个道理本来很普通,但通过一个例子,理解的较深一层。程序和工程的差别差不多就是工作量的大小不同,通过一个很简单的小例子阿超给他的孩子写了个程序,扩展到一个满足各种功能的应用软件,在扩展到能保证服务质量的软件服务,这期间就展现了软件工程的重要性,虽然这期间只是多了一点点的需求,但是前期如果没有对这个程序进行良好的需求分析,后续的维护会变得有点复杂。软件工程的目标,就是创造“足够好”的软件,其中用户满意度,可靠性,可维护性都会在阿超发布在网上的软件上体现出来。我们的老师,让我们自己每个人写一个简单的四则运算,并且和同学们比较了一下各自程序的功能,实现方法的异同,还有各自的优缺点。在这其中我发现每个人擅长的语言是不同的,每个人的想法也不同,编程习惯,方法在不知不觉中,已经发生了变化,。通过对比代码,才发现自己的格式,注释,还有编码习惯都有许多需要改进。
还有也理解了一些,为什么好多软件公司为什么总是缺人,而学习计算机的毕业生也是很多的,也不至于总是供不应求吧,听到一个HR说宁缺毋滥,因为每个人的工作质量都直接影响着最终软件的质量。用了个踢足球的例子,如果队员中又一个很弱,无论你制定什么样的策略,用处都不大,所以提升个人能力很重要,在我们的职业发展中,孰能生巧很重要,在熟能生巧上,能弄懂,那么你就是更上一层楼,都说程序员每天的工作就是搬砖,那你的工作量就是有多少块砖,要搬多远。简单的衡量你的工作质量就是多块搬完,搬得过程中损坏了多少块砖。
作者通过玩魔方的例子,给我们讲了软件工程师的成长,我开始思考自己的能力以及问题所在。曾经觉得自己学过html,还学过java,ps,自学了javascript, jquery等也自己尝试的写了网上商城。但是,这真的就够了吗?知识与实际的应用能力还是差一大截。中间出现了一步错误,我就需要很久才能发现。知道、掌握和精通这几个关键词我自己究竟到了哪一步呢?这么多的技术我差不多都只是停留在了知道的层面,那比起那些不是软件工程专业的人,我有什么是突出的呢? 对于学校的考试来说,知道这些足以应付考试。但是我如果要想成为一名Web前端的开发者,还有多少的路要走呢?
软件测试在我们的软件中的地位越来越高,而它的测试工具,方法也是多种多样,不禁让我有些茫然,项目经验的缺少,是一个大BUG呀,但是通过软件测试,我还是能得到一些感悟的,人的思想总是有些地方考虑不全,通过经验,我们能减少一些错误,但是其中存在缺陷是不可避免的。所以我会在我写的代码中多一些留意,多一些单元测试。尽量完善自己的代码。
书中的一些其他,团队管理经验,让我可以做个好的员工,也可以让我做一个有效的管理者,在一些小细节上,这本书已经对我产生了一些小影响,我想《构建之法》这本书,我在不同时期,读的感悟也会有所不同吧,是一本值得多读几遍的好书,每次都能有新的体会。
我的疑问:
- 如果我想带着自己的一个完整的作品去找工作,那么这个完整的作品可以是什么样子的呢?
- 大学期间到底应该怎样更好的学习?
- 书中列举了几种的职业发展之路,那么怎样选择才是最适合我的未来职业发展呢?
- 一个项目团队的创立,发展,它的周期性有多长合适,如何长期维持下去?
- 我们经常看见,软件公司招收的人员都是要具有工作经验的,那么我们这些菜鸟,如何度过无经验到有经验的大神呢?