从软件外包中看计算机专业的教育
摘要:在上海,大连等沿海城市,软件外包这一新兴产业像雨后春笋一样发展了起来。特别像大连这种新兴工业城市,软件外包业已经成为了城市战略发展的核心。目前我国高层管理人才短缺,因此,在这一新兴产业中,最为关键的发展因素就是人才的培养。笔者通过对软件外包的现状分析,提出了培养双语加技术的复合型研发型人才,以具备相关的产业就业能力,通过教育促进我国市场经济高速稳定的发展的观点。
关键词:软件外包、教育、就业
中图分类号:g64 文献标识码:a 文章编号:1673-9795201306b-0000-00
首先要知道什么是软件外包。所谓软件外包就是一些如美国,日本等一些发达国家的软件公司将他们的一些不涉及到核心技术的软件项目通过开发委托的形式交给人力资源成本相对较低的国家的软件公司,以达到减少预算的目的。众所周知,软件开发的成本中很大一部分比例是人力资源成本,特别是技术员的单价、加班费等,所以,降低人力资源成本将有效地降低软件开发的成本。而且,日本美国等国家劳使关系紧张。仅以日本为例:日本政府在2011年颁布了史
上最严厉劳动关系法,许多公司为了减少劳使危机的风险,把开发项目外包给其它国家。目前,全世界软件的销售额为6000亿美元,而其中软件外包的销售额将达到1000亿美元。软件外包的大幅度增长为人力资源成本相对较低的印度和中国带来了新的发展机会。同时,也给人才的培养提供了环境。有了人才市场的需求,各高校也同时增设了计算机加外语专业,以适应软件市场的人才需求。
虽然我国高校目前软件专业招生比较好,但是就业不是十分乐观。主要原因是双语型人才不懂得软件开发,而技术人员又不能流利的用外语来表达自己的想法。基于软件的特殊性,一个企业不会将一个软件项目分开分别发包给几个软件公司各自来开发的,如果直接从发包的企业外包软件的话,应当可以总包的。也就是客户公司定义程序之后,设计书,仕样书等基础设计都是有国内的软件公司进行。但是这一部分比例还很小。主要比重都是分包。而被分包出去的,都是软件系统非核心的内容。核心内容和技术都被外包的大型软件开发商牢牢控制着。做软件分包,为国外大型软件企业提供软件外包服务,只是在做软件外包最底层部分的编码工作。如果一直做软件外包中的分包,对产品不能拥有任何知识产权,也始终没有任何技术竞争力。
软件外包行业有以下两点问题需要改善:
1 质量问题。
我国软件企业规模还比较小。微软、nec怎么写代码做软件、appleoracle等跨国软件企业由于资金雄厚,发展迅速,研发人员规模基本都在3000-5000人左右。但是我国的研发型软件企业一般都是千人以下的规模,很难开展长期战略性研发项目。即使是企业规模发展十分迅猛的纯粹软件外包企业中员工达到千人以上、出口超过千万美元的企业,但是相对印度的tcsinfosys等员工超过5万人、经营规模达到5亿美元的大型外包企业而言,中国外包企业规模还是比较小,难以承接到大型软件外包项目。
而且,通常的软件外包业,技术核心和仕样要求都是由国外软件公司掌握的。这就使得开发的程序bug很多,而且确认和理解仕样往往会拖慢项目开发的速度。导致程序纳品期严重滞后,而且后期系统维护时间过长,影响成本。
教育需要加强学生研究能力的培养。目前的专业授课,还是以填压式为主:教师教授学生代码编写的方法,函数的使用以及逻辑结构。但是学生走上工作岗位之后,普遍反应学校里面学的东西没有作用。因为在开发项目里面,更多的是要求学生能够把文字化的仕样书写成代码。到大学高年级的专业课里面,虽然有一些小程序的练习,但是逻辑相对简单。高年级的
专业教学应该多加深学生的程序设计方面的研究,让学生独立自主进行程序开发。而且要求学生向研究角度发展,即可以仅用一门开发语言,但是能够培养出独立自主的设计开发一个中小型程序的能力。
2 人才问题。
现在的软件外包行业通常对人才的要求比较低,有一些开发基本常识的人才就可以从事这一行业。项目前期的代码开发过程中,通常国外的客户公司会把所需要的共通函数全部准备好,要求单本程序直接调用即可。格式也是项目合同上面要求的格式(即if文、case文或者是trycatch文等)。这使得外包的程序员完全按照客户要求的框架写代码即可。项目后期的测试和维护更是完全按照客户的测试项目书进行即可,毫无技术可言。而且仕样书和测试书等都是由英语或者日语写成,从而导致许多文科生或者是非计算机专业的学生参与这一行业的就业竞争,增加本专业就业压力。
综合上述问题,笔者提出以下方案:
1)扩大核心技术开发的力量。
由于多数的国外客户公司在国内设立的开发研究中心承接的项目都是全球水平分工层上高层面的项目,也就使得我国本土软件公司自身实力的增强,承接的软件外包项目层级也在不断的上升。所以,我国软件公司不要仅仅承接客户公司的软件仕样书,进行基础开发工作,也要提高中层力量的培养,能够设计管理程序。
这就需要加强对se的培养。软件的教学不仅仅是程序代码的教学。无论java还是c#,这些目前时兴的开发语言几年之后也将会面临着淘汰的风险,一如90年代末到21世纪初盛极一时的basicc++现在也是无人问津了。所以,对学生不仅要进行代码技术的教育,更要从全局着手,加强软件设计教育和全局开发意识。
同时,程序项目开发的经营管理人才也是重点培养的对象。目前国内的程序项目开发,特别是中小企业的项目开发,管理层面上存在问题。由于核心技术和仕样设计,共通函数等是由国外软件公司直接提供的,导致出现问题的时候也是等待国外客户公司进行解决,无法有效的安排程序完成预定时间,看不到项目开发计划,导致纳品日期不能保证,公司信誉下降。
2)要培养多面型人才,提高技术能力。
我国目前大学生的教育还停留在以java为核心,多种开发语言并存的层面上。而且新型控件的教育不是很先进。比如能熟练掌握vb开发里面比较重要的activereport6.0jexcelcreator8.0等新型控件的人才还是很少。
尽管中国的软件人才较多,但是真正符合产业发展需求的高端人才依然缺乏,尤其是既懂行业专业知识、又懂软件知识的高素质人才严重不足。中国有大量高素质人才到美国、日本等发达国家学习,有许多直接留在当地跨国公司就职,他们了解国际上先进的软件技术、项目管理经验和行业专业知识,通过制定一定的政策导向(从调研中反映出来,主要是要解决好他们的子女就学),加强宣传推广,吸引留学人员回国发展是一个很好的人才储备途径。此外,可以建立多层次的软件人才培训体系,培养既懂英语、软件专业知识,还具备行业专业知识的复合型人才。
参考文献
1】《图解软件开发》 日本实业出版社 2009-4-2025版(原名:《図解ソフトウェア開発》).