第一次获得小黄衫有感
第一次获得小黄衫有感
鸣谢
首先感谢单老师和两位助教对每次作业的认真点评,让我意识到每次作业的不足,当我发现不舒适的时候,说明我有进步的空间 😄,同时也感谢邹欣老师周筠老师背后的构建之法团队资助的这件小黄衫,感谢汪老师帮忙邮寄,看起来很不错!
回顾过去
回顾过去的几次作业,很多时候都是不需要编码的(或者说编码时间占比较少),而我之前想象中的软件工程,是以编码为主,为了编码,甚至可以废寝忘食!经历了前几次作业,我逐渐发现,很多时候,编码并不是最难的,也不是最需要人的地方,现在这个社会不缺少程序员,而是缺少工程师。如何锻炼自己的框架思维,让自己成为一个有想法的人,或许才是大学生活中最应该做的事。
每次的作业,都需要花上一天左右的时间,收集相关可用的信息;遇到不会/不熟悉的领域,很多时候需要参考别人已经做过的,但这并不是鼓励自己去抄袭他人的成果,而是让自己的视野更加宽广。
有时也会看看别人的博客,他们为什么就能做得那么好:构思清晰、结果令人满意。在夜深人静的夜晚,偶尔也会长吁短叹:如何让自己更快地成长起来,如何让自己更快适应新事物?如何做出正确的决策?因为很多时候,自己的所做的选择会严重影响到后续工作的进行,一步错,后面真的可能步步错了。
过程
说说前几次遇到的困难吧。
在个人作业阶段,我完成得还是比较得心应手的,因为我只有一个人,不需要考虑他人的进度如何,我只要想好自己的规划就好,想到哪做到哪,然而,这却不是一个好方法,在经历了疫情统计的那次小演练后,我深刻的意识到:软件工程不只是打代码!于是,我在后续作业的设计阶段花费了更多的心力,编码反而占比较少。我逐渐领会了单老师讲的 40-20-40 规则,并庆幸自己意识到了这一规则。
在第一次团队作业中,由于组员对框架都不熟悉,但我依然还是直接上 spring boot 框架,那次可以说是一次冒险,也可以是对组员的一次挑战,整个项目虽然功能点较少,但由于前后端还是和传统的一样,糅杂在一个项目里,说实话,我当时心里不怎么踏实。不过,借助那次 GitHub 实训,我也逐渐对组员有了一定的了解,加强了对他们的信任度。信赖应该说是一个团队最重要的东西。
接下来的每次团队作业,我不能再像之前的个人作业一样单打独斗了,因为:we are a team! 每次团队作业下来,我都会认真审视本次作业的重点,待交付件,然后把作业划分成几个独立的模块,尽量让组员都能够参与进来。在这个过程中,我对项目的 WBS 更加熟练了。
对我来说,遇到最大的困难应该是团队的选题问题。因为这是一个重要的决策,它不是一个人就能决定的,在一个团队中,每个人都不是孤立的,我们都坐在一条船上,选题关系着整组成员接下来几周能否成功上岸。在选题过程中,我也组织了项目会议,讨论一些可行的方案。
之后的问题就是如何当好本次实践的小组组长,这是我第一次组织软件开发,刚开始确实是有些不适应。不过,当我下定决心走出舒适区时,我看到了另一片天地:组内的成员都比较积极,这极大地促进了我的计划安排,也使我对后续的代码构建阶段有了一定的信息。在这里,我也对我的团队致谢:感谢大家对我的支持和配合!
总结
- 要进步,就需要走出自己的舒适区,挑战自己不喜欢或者没有接触过的人/事
- 设计的重要性 > 编码
- 团队合作需要彼此互相的信任
- 很多时候,我们需要多借鉴他人的成果,不要重复造轮子
- 编码一定要在思路清晰的时候进行,不要在脑子一片浆糊的时候瞎写代码
- 需要提高自学能力,社会并不缺打字员,需要能够持续学习、勇于创新的人
- 授人与🐟,不如授人与渔。知识可能并不是最重要的,因为在信息化时代,知识很容易过时,而一个人的思维是不会过时的,它会影响一个人方方面面,不只是学习,还有可能是生活...
最后,再次感谢老师们、助教们的认真指导,接下来的 beta 冲刺,我也会继续努力,做好自己,做好小组组长,更加完美地完成项目工作!
2020-05-25 更新
我眼中的 40-20-40 是怎样的?
40-20-40 是软件开发过程中的一个法则,20 是编码阶段,第一个 40 是 设计阶段,最后一个 40 是测试阶段。
在这个学期的作业中,由刚开始的小作业到最后的团队作业,这一法则变得越来越重要。
先从个人作业说起吧。刚开始的个人作业一出来,我都是直接想编码的,直接开始考虑代码细节,考虑代码的实现,这严重影响了我的全局思维,没有做好整个作业的“架构”。
比如 InfectStatistic-main 这个作业,看到题目,很快把需求读完后,跳过了设计,直接开始编码。这次作业花费的时间是预计时间的两倍!由于刚开始没有做设计,编码时还在考虑代码模块的设计,编码过程速度极慢。
之后的团队作业,我开始正视设计这个重要阶段。从需求分析到系统设计再到数据库设计,每个环节都是编码前的任务,都是第一个 40。
作为一个热爱技术的人(技术型 PM),我担心自己太早陷入细节,导致整组的方向出现偏差。因此,代码细节的考虑是在数据库设计时才开始的。
不过,学生阶段,并不是所有人都能达到就业的水平,因此,20 肯定是理想化的,但是我们也尽量控制这个比例,设计和测试必须占大头。