我在四年的CS课程的最后一年,我非常想为自由和开放源码软件项目作出贡献。不幸的是,我觉得无论是错误修复还是特性开发,我都无法进行有用的编码。与严肃项目的编码相比,我们在学校承担的C/C++/Java项目微不足道,当我阅读FOSS项目的源代码时,我完全不知所措。你同意CS教育和实际生活项目编程之间的差距吗?你认为这个差距有多大?如何克服它?
发布于 2011-04-23 10:16:22
有个缺口。这一差距归结为两个因素:确定性和规模。
发布于 2011-04-23 16:13:26
我自己也是初学者。我大约6个月前刚毕业。
差距:
时间限制:在大学里,我们的讲师通常以这样一种方式来设计我们的作业,那就是我们可以按时完成它,并且有更多的时间‘抛光’事情。然而,在工作中,情况并非如此。在工作中有更多的时间限制。其中一些可能是客户延迟签署之前的交付品,或者是一个突然出现的技术问题,而这个问题被忽视了,花费的时间比估计的要多,或者仅仅是管理人员在分配任务所需的时间估计/工时方面做得很差。
软技能:作为一名大三学生,总是有高年级的人来帮助你解决技术上的困难,但是没有人在你的软技能上帮助你!
在uni中,我们很少在最多大于6 ppl的项目团队中工作。在工作中,我们与更多的人合作,因此也就有了很多重要的问题。其中最重要的无疑是沟通。出于某种原因,我发现我们在uni中没有与适当的技术术语进行交流。因此,有些人在与工作中更有经验的开发人员沟通时遇到了困难。
在工作中,我们也应该更加自信,应该用正确的事实来支持我们的陈述,并且要警惕那些试图利用你的天真(否则你可能会得到不必要的额外工作量)的老年人。
然而,上面的说法会有很大的不同,取决于大学的教育水平(我觉得有些大学给他们的学生很多亲身体验,模仿真实的项目场景),有些则非常倾向于理论。当然,工作场所的文化也在这个问题中起着重要作用。
发布于 2011-04-23 12:28:41
还有一个主要的软件工程方面的差距。通常,毕业生没有被传授一些关键的实践,例如:
在伦敦,研究生开发人员社区正在与大学合作解决这些差距,试图向学生介绍低影响的软件工程技术,以便在他们的课程工作中使用。
我的意思是,为什么不构建B*树,而是将代码放在源代码管理中,跟踪问题跟踪器中的but,甚至先编写一些测试?)
https://softwareengineering.stackexchange.com/questions/70661
复制相似问题