[转载]
当前国内的软件企业大概可分为2种,做项目产品,和做外包。项目产品需要开发人员调研,需求分析,设计,开发测试,都要参与。这就要求开发人员有较强的基础功,和熟练的开发技能。国内大部分企业由于缺乏优秀的架构设计师,和系统设计师,所以项目的质量主要依靠程序员的经验和能力完成,个人在项目中可以自由发挥。当然对程序员来说这种企业是比较好的学习机会。比较适合刚出学校的学生磨练。待上2年,个人的各方面的能力都有很大的提高。 从软件工程角度来说,这样的项目质量是不可预见,依赖于程序员能力发挥的,是不成熟的。从程序员角度看,提供了很大的自由发挥的余地。适合个人发展。
做外包调研,需求分析,设计都由转包方做好了,剩下的开发测试比较简单。只要程序员会看得懂详细设计书,编写代码就可以了。一些大的企业做外包业务。由于转包方特别是日本的项目 会把系统设计得非常详细。程序员只是简单的安照设计,进行编码,不能有任何个人的想法,要严格按照对方的要求。 做这种项目只会提高你对那些 开发工具和语言的熟悉度,对开发思路没什么帮助。就像印度的软件工人,只会做某个模块,而不会写整个软件。个人建议少去为妙,我有过这个的体验,最后放弃这份工作。
首先从培养计划来看,软件高职目前是不适合国内的情况。软件高职基础的教育很少,较多的是应用方面的培训。造成 大部分学生知道用.net ,java 写代码,但是为什么这么写,系统为什么这么设计,如何优化改进 就 不知道了。而且很多同学 很依赖于开发工具提供的控件,只会拉控件作一些简单的应用。而真正企业开发中的应用很复杂,要编写大量的代码。
软件高职培养出来的学生比较是适合做外包这些简单的编码工作。
国内大部分企业要求员工对数据结构,数据库原理,算法,编译原理,操作系统原理这些基本功有所掌握。(我应聘时 大部分笔试都有考到这些。)对于证书,好像我还没拿出来过,除了OCP CCNA 几个比较严格的认证外,其他的证书企业看都不看。
所以就业时我们更本没优势,更不用说一些企业还有学历上的要求