写在高级软件工程开课之际 By李潇

早在来MSRA 之前,我们就从上届的师兄师姐那里听说了高级软件工程这门“神课”。说它神,是因为这门课将是我们接下来两三个月里最重要,同时也是比较艰苦的一项任务;上过这门课的师兄师姐都表示这门课使他(她)们受益匪浅。具体来说,通过这门课的学习,我们将体验到完整的软件工程开发流程,并通过Pair Work以及Group Work开发一个完整的产品,并最终发布。

这将是我第一次接触软件工程的课程,跃跃欲试之际,不禁也有一些忐忑。作为一个EE专业的学生,我们接触的编程知识相对计算机专业的同学仍然比较有限,学校的课程除了基本的编程知识,以及简单的数据结构和数据库就没有后续了。尽管我本人一直对编程有着较为浓厚的兴趣,也通过自学在学校的课程之外额外掌握了一些皮毛,但对于一个完整的软件工程开发过程,仍然是知之甚少。

为了更好的做好准备,我访问并阅读了前两届师兄师姐的博客。在阅读了师兄师姐们的软件工程课程全记录后,我对这门课的授课方式,难度有了进一步的了解,同时也更加期待这门课的到来。

通过阅读学长们的记录,我整理出了若干成功的经验/失败的教训:

(1)      合理分配时间。在软件工程这门课中,我们要经历个人项目,结对项目和集体项目三个不同的项目,总体来说任务还是比较重的,再加上我们又分别在不同的组进行实习,因此有效的分配好时间就显得十分重要;毕竟不管是Coding还是Debugging都要耗费不少的精力。

(2)      前期的调研和考察十分重要。看了不少师兄师姐的博客,有一个共同的教训就是在进行项目编程时,一定要在Coding之前对整个项目计划有一个十分清晰的把握,尽量避免做到中途发现之前的想法不现实只能推倒重来,或是和用户的需求严重不符之类的情况。这也是我最需要提高的地方,以前自己基本没有编过什么特别完整的项目,经常就是稍微想一下就马上投入coding,有时也会出现到了中途又重新改设计的情况,希望能够通过这次的软件工程课,在这方面有所提高吧。

(3)      团队合作。一个 优秀的项目一定是建立在一个优秀的团队的基础上的。在我们团队里,有来自三所学校(科大,哈工大,西电)的同学,分属在不同的研究组;每个成员都有自己的个性和风格,可能有人比较依赖他人,也有人独行侠,所以每个成员都必须一方面避免令队友不适,另一方面也得改善自己的个性以适合团队合作,这样才能达到1+1>2的效果。

最后,在软件工程开始之际,我想用MSRA里著名的一句话来勉励自己,希望自己能在接下来三个月的软件工程中有好的表现,并能真正学到软件开发的精髓:

        Work Hard, Play Harder!

posted @ 2012-08-09 10:30  smart-code  阅读(529)  评论(30编辑  收藏  举报