607
社区成员
参见《构建之法——现代软件工程》第3章第1节
软件项目的确需要创造性,需要一些意外,一些惊喜。但是,更多的是常规的、可重复性的任务,软件工程的奠基人之一瓦茨·汉弗雷总结说,软件领域可以分为两个方面:一方面是记忆创新的大爆发;而另一方面是坚持不懈的工程工作,包括软件的改善、维护和测试等,这一方面占了90%-95%的比例。
————————————————
版权声明:本文为CSDN博主「是Aaron_Huang对吗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45623081/article/details/125381113
一方面来说,重复性工作在软件工程师所涉及到的工作中占较为巨大的比重,引用原帖中原话,坚持不懈的工程工作,包括软件的改善、维护和测试等,这一方面占了90%-95%的比例。 相比于重复性工作,创新性的灵光一现只占据一小部分。并且我们现在很多的软件,都是建立在前人的基础上,已经有很多的先驱者提供了创新性的点子助力行业,技术的革新,大部分人所能做的就是工程性,过程性,重复性的工作,从这一方面来说重复性工作更为重要。从软件需求这一方面来说,软件所需要的是各个部分稳定,满足局部需求,在这样的基础上,软件的整体才能尽量保证稳定。而软件的开发工程有着严谨的规划,细致的流程,所看中的是软件工程师完成基础工作,完成重复性工作的能力。所以这一方面来看,同样是重复性工作的能力更为重要。
当然,我当然不是说创新能力不重要。往往拥有极大创新能力的人已经超脱了软件工程师的范畴,他们往往是新领域的奠基人,是技术革新的带领者,他们只占一小部分。而大部分人接触的都只是重复性的工作,所以相比于创新头脑,更为看中重复性工作能力。但是在保证重复性工作能力过硬的基础上,不断的开发自己的思维,找出创新点,不断地迸发出新的idea,这同样是对于个人,对于团队,对于软件的非常重要的能力。
虽然软件工程师对于“灵光乍现”的好点子需求并不高,但是我认为这是弥足珍贵的。软件工程师并不是机器,如果企业和团队把每一位软件工程师当作仅仅可以高效、高质量完成任务的机器人来使用,似乎缺少了一点人性化,谁做的快、谁把PM的新需求完成的好谁就优秀(个人觉得有点压榨,且失去乐趣)。当然高质量和高效率的工作是一个优秀软件工程师的基础,我认为更重要的是基于“基本功”的创造能力,我心中的优秀软件工程师是满足质量和效率之后,具有跳脱框架束缚能力,能够创造更加深远价值的技术人员(这里的价值包括个人价值、团队价值、企业价值、社会价值等),毕竟很少有影响深远的项目不是创建之初就让人耳目一新的。或许在一个一收益为驱动的成熟企业和大团队当中,管理和需求分析已经结构化,软件工程师需要的就是完成重复性工作,来执行命令,在世在小团队的开发中,尤其是我们本学期的软工项目中,我们深刻的感受到idea和breakthrough的重要性,创意和好的点子能推动产品的进化和发展,当然重复行恶代码工作也是必备的,但是显然好的点子在我们五六个人的小团队中显得格外重要,毕竟开发是由需求推动的。
————————————————
版权声明:本文为CSDN博主「是Aaron_Huang对吗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45623081/article/details/125381113