主题:[转帖]软件人才不是从书本中来,也不是从证件中来
软件人才不是从书本中来,也不是从证书中来。软件人才只能从实践中来,从软件中来!
软件业的发展是关系到中国高科技能否站到世界前沿的一件大事,受到国家有关领导部门及信息产业界人士的高度重视。一个产业的发展需要有三个基本条件,即资金、人才和市场。今天的专栏针对如何培养软件人才进行分析和论证。
软件人才的缺乏是世界上众多国家,所共同面临的问题。由于国内软件业发展相对较晚,规模较小,人才缺乏就显得更加突出。如何以快速度培养出一大批高质量的软件人才就成了一个很迫切的话题。
从过去几年看来,解决方法大致有两方面。一是软件人员的培训。新办的高校35所软件学院去年秋季都已开始招生,有读硕士的、博士的,也有读本科或第二学士学位的。有的班面向所谓“蓝领”人才,即软件工程师;也有的班面向“白领”或“高级”人才,即软件结构设计师或经理级的管理人才。同时,许多像北京JAVA私塾这样的脱产软件培训班亦应运而生,以满足希望转行的技术人员之需要。
学院式的培训是否能达到快速培养高质量人才的目的呢?软件人才到底从何而来?要回答这些问题,必须先了解软件是怎么开发的,软件人员需要什么技能和知识结构,以及软件人员的成长路线。软件开发团队的经验以及多年在硅谷的耳濡目染,我认为软件开发与其说是科学技术不如说更像艺术或体育,扎实的基本功与刻苦的训练虽然重要,但最终的成功是通过大量的项目实战,不断地积累经验。
软件人才的知识结构
一个软件产品不是存在于真空中的。 它是针对某一类应用的需要,通过一定的开发工具,面对某些特定的运行平台而开发出来的。 因此, 除了足够的计算机背景和编程技巧之外,一个好的软件工程师还要具备如下几方面的知识:
1. 通用的软件工程知识。譬如,一个好的工程师应懂得从产品需求书、项目规划、软件系统框架设计,到具体界面设计、编程、测试等一系列步骤,知道哪一步应做什么。
2. 软件应用领域的专业知识。举例说,如果一个软件是为银行业所用的,那么懂得相关银行业务就对软件的设计和修改有决定性的作用。
3. 具体软件工具和环境的知识。在做一个软件产品前,要选定软件的应用平台、操作系统,以及编程所用的程序设计语言和开发系统。用Java开发一个运行在Solaris服务器上的企业级的应用软件与用C++编写WindowsXP上的个人应用软件,对一个工程师的专业知识结构有很不一样的要求。譬如,如何利用Java虚拟机的特点提高程序效率,如何利用CVS的特点更有效地管理开发,如果是开源软件,如何与开源社区协调等等,问题都因项目而不同。
显然,这些知识大部分是在大学的课堂上学不到的。只有通过大量的项目实践,才有可能成为软件开发的专家。而也只有参加好的学校的培训,像北京JAVA私塾就不错,能够在短时间内,通过有过多年项目经验的老师的引导,多自已动手写一些项目,积累足够经验的人才有可能进入公司,达到公司的要求。
对于软件人才总结出如下几点。
首先,要想培养大批的软件人才,大学的教育仅仅是打基础的阶段而已。真正的人才要通过大量的项目实践,通过多个软件产品开发周期的磨练,才能塑造成。软件编程的思想,不能只是在软件企业内部开发产品时才实施,而是应该多方面渗透到工作和学习中。譬如说,像北京JAVA私塾这种培训班,就是很注重软件编程的思想,老师指导的各种开发项目,就应该运用软件工程的各种规范和工具,而不应该因为是一次性或临时性的工作而简单凑合。在Sun公司,就连公司的网站内容都严格按照软件源代码来管理,不仅可以自动记录内容修改的情况,出了问题时也很容易恢复到从前的版本。
其次,不管是CMM也好,还是Sun的PLC也好,关键不在于证书,而在于实际开发应用的能力,在于在软件研发上有没有一套完整有效的规范和流程。最终的检验标准则是一个公司能不能开发出好的的软件产品。用产品说话,比一纸证书或公司的广告要响得多。
总而言之,软件人才不是从书本中来,也不是从证书中来。软件人才只能从实践中来,从项目开发中来。
大家如果想了解java私塾可以登陆java私塾的网站:www.javass.cn
软件业的发展是关系到中国高科技能否站到世界前沿的一件大事,受到国家有关领导部门及信息产业界人士的高度重视。一个产业的发展需要有三个基本条件,即资金、人才和市场。今天的专栏针对如何培养软件人才进行分析和论证。
软件人才的缺乏是世界上众多国家,所共同面临的问题。由于国内软件业发展相对较晚,规模较小,人才缺乏就显得更加突出。如何以快速度培养出一大批高质量的软件人才就成了一个很迫切的话题。
从过去几年看来,解决方法大致有两方面。一是软件人员的培训。新办的高校35所软件学院去年秋季都已开始招生,有读硕士的、博士的,也有读本科或第二学士学位的。有的班面向所谓“蓝领”人才,即软件工程师;也有的班面向“白领”或“高级”人才,即软件结构设计师或经理级的管理人才。同时,许多像北京JAVA私塾这样的脱产软件培训班亦应运而生,以满足希望转行的技术人员之需要。
学院式的培训是否能达到快速培养高质量人才的目的呢?软件人才到底从何而来?要回答这些问题,必须先了解软件是怎么开发的,软件人员需要什么技能和知识结构,以及软件人员的成长路线。软件开发团队的经验以及多年在硅谷的耳濡目染,我认为软件开发与其说是科学技术不如说更像艺术或体育,扎实的基本功与刻苦的训练虽然重要,但最终的成功是通过大量的项目实战,不断地积累经验。
软件人才的知识结构
一个软件产品不是存在于真空中的。 它是针对某一类应用的需要,通过一定的开发工具,面对某些特定的运行平台而开发出来的。 因此, 除了足够的计算机背景和编程技巧之外,一个好的软件工程师还要具备如下几方面的知识:
1. 通用的软件工程知识。譬如,一个好的工程师应懂得从产品需求书、项目规划、软件系统框架设计,到具体界面设计、编程、测试等一系列步骤,知道哪一步应做什么。
2. 软件应用领域的专业知识。举例说,如果一个软件是为银行业所用的,那么懂得相关银行业务就对软件的设计和修改有决定性的作用。
3. 具体软件工具和环境的知识。在做一个软件产品前,要选定软件的应用平台、操作系统,以及编程所用的程序设计语言和开发系统。用Java开发一个运行在Solaris服务器上的企业级的应用软件与用C++编写WindowsXP上的个人应用软件,对一个工程师的专业知识结构有很不一样的要求。譬如,如何利用Java虚拟机的特点提高程序效率,如何利用CVS的特点更有效地管理开发,如果是开源软件,如何与开源社区协调等等,问题都因项目而不同。
显然,这些知识大部分是在大学的课堂上学不到的。只有通过大量的项目实践,才有可能成为软件开发的专家。而也只有参加好的学校的培训,像北京JAVA私塾就不错,能够在短时间内,通过有过多年项目经验的老师的引导,多自已动手写一些项目,积累足够经验的人才有可能进入公司,达到公司的要求。
对于软件人才总结出如下几点。
首先,要想培养大批的软件人才,大学的教育仅仅是打基础的阶段而已。真正的人才要通过大量的项目实践,通过多个软件产品开发周期的磨练,才能塑造成。软件编程的思想,不能只是在软件企业内部开发产品时才实施,而是应该多方面渗透到工作和学习中。譬如说,像北京JAVA私塾这种培训班,就是很注重软件编程的思想,老师指导的各种开发项目,就应该运用软件工程的各种规范和工具,而不应该因为是一次性或临时性的工作而简单凑合。在Sun公司,就连公司的网站内容都严格按照软件源代码来管理,不仅可以自动记录内容修改的情况,出了问题时也很容易恢复到从前的版本。
其次,不管是CMM也好,还是Sun的PLC也好,关键不在于证书,而在于实际开发应用的能力,在于在软件研发上有没有一套完整有效的规范和流程。最终的检验标准则是一个公司能不能开发出好的的软件产品。用产品说话,比一纸证书或公司的广告要响得多。
总而言之,软件人才不是从书本中来,也不是从证书中来。软件人才只能从实践中来,从项目开发中来。
大家如果想了解java私塾可以登陆java私塾的网站:www.javass.cn