未来我们到底需要的是什么样的软件人才(转载)
捷克首都布拉格,一座美丽而古老的山城,伏尔塔瓦河像一条绿色的玉带穿城而过,横跨在河上的十几座古老和现代的大桥雄伟壮观,市区那带有尖塔或圆顶的古老建筑,无论是罗马式、哥特式、巴罗克式还是文艺复兴式,都完好地保存着,高高低低的塔尖毗连成片,在阳光照耀下显得金碧辉煌。
就在这布拉格之春,3月28日到4月1日,世界各国最优秀的软件学子们汇集一堂,共同角逐第28届ACM-ICPC世界编程大赛。
看着这许多肤色不同、语言不同但同样年青而富有朝气的脸,心中不免总是充满赞叹——聪明的人、精英学子、编程高手、软件天才……进而想到,这就是未来世界的人才,那么,未来我们到底需要的是什么样的软件人才呢?
编程高手&技术平台
首先,作为软件人才,其基本素质的要求当然不容忽视,比如数理化基础一定要好。因为软件首先是一门理工科目,它对逻辑思维的要求非常高,如果没有好的数理化基础,就很难形成严密的逻辑思维,因此,中学时代打下的基础就很重要。本次大赛清华大学代表队教练吴文虎教授特别强调了这一观点。当然,这其中也存在自然天赋的不同,有的人生来就更善于逻辑思维,因此也就比较容易掌握各种编程技巧,这种人也许就是所谓的软件天才了吧!
其次,各种计算机知识的学习就不必多说了,有兴趣编程的人自然会如饥似渴地去寻求它。
还有,大家都知道,要想成为编程高手,还需要反复不断地练习实践。现在的学院教育以及家庭教育都十分重视创造这方面的条件,给学生提供尽量多的计算机及软件以便练习实践。
以上所说都是一些基本常识,不必赘述。
还需要说明的是,每个人的时间精力都是有限的,虽说是学得越多越好,但如果选错了未来则可能只会造成时间精力的浪费。这里的未来指的是未来的技术趋势。比如技术平台、编程语言等可以说是日新月异,那么什么是未来的应用趋势呢?这次IBM又给我们树立了一次新的标竿和典范,这就是开放系统。
这次大会决赛选定的Linux操作系统和Eclipse编程环境就都是公开源码的开放式系统,这并非仅是由于IBM作为赞助商支持开放系统。而是由于开放系统代表着未来的方向,它便捷、稳定、易用、安全、免费,最重要的是它可以防止垄断,因此得到了更多政府、教育、商业用户的支持。“学生通过竞赛,发展了需要在现实世界中使用的技巧,开放源码平台正在被广泛采纳,不远的将来……” IBM高级研究中心的计划负责人Gabriel M.Silberman如是说。
因此,未来的编程高手们如果想有更加广泛的用武之地,一定要一开始就重视并学习使用开放式系统。
热爱&角色定位
当笔者与IBM大学合作部主管Margaret谈论起好学生与好雇员的区别时,她首先强调了一点:热爱所从事的事业。是啊,只有热爱才能成就事业,尤其是需要无限创意的软件开发工作,没有了热爱哪能有如泉涌的灵感不断迸发?
然而,在热爱之前,有一个正确的角色定位才是当务之急。不要以为软件技术人员就是笼统的程序员,其实,软件技术人员分为6个角色:决策制定者、项目管理者、架构设计师、程序员、分析员、测试员。每个角色特点各不相同,因此,作为自己的职业方向最好是未雨绸缪,以便定向发展。
这次比赛中,每个队由3名队员组成,但只有1台计算机供操作,其实这其中也蕴含了角色分工,谁是决策制定者、谁是项目管理者、谁是架构设计师、谁是程序员、谁是分析员、谁是测试员,虽未有明文规定,但如果队员们自己不进行很好的分工,那结果一定是不尽如人意的。
综合素质&商业感觉
除了技术以外,未来的软件人才更求的更会是一种综合能力高的复合型人才。他们的特点是智商、情商都较高,除逻辑思维能力以外,要具备全局战略意识,具有良好的心理素质。另外,他们还要对政治、经济、社会、人文等方面均有一定的见地,总之是要见多识广,而不是传统意义上的学院派。
另外,特别需要强调的一点是,未来的软件人才一定要具备商业感觉,即对市场、对商业的敏感性和理解力。
为什么呢?因为软件人员的目的不是开发软件,而是开发产品,而产品是要投向市场,为用户所使用的,如果不具备商业感觉,闭门造车开发出的产品的商业价值又有多大呢?又或是不能理解销售人员或管理人员的商业目的,一味追求技术先进性而不顾产品实用性,又怎能不被市场所抛弃呢?这样的软件人才恐怕也不是企业所企望的。
因此,理解是值得重视的,作为技术人才一定要能够理解商业运做,而作为管理人员则应该做到对技术趋势了解,只有双方基于理解达成共识,才能更加有利于公司的运作和发展。
团队合作&决断能力
综合素质的高低还表现在一个重要的方面,就是团队合作。团队合作是现在的世界所必需的,因为发明是要推向市场的,每个个人可以进行“发明”,而只有团队才可以“创新”!也就是说,只有团队相互理解时才能有创新能力。
因此,未来的软件人才,要的不是超人,要的不是天才,而是具有良好的沟通能力、协调能力,也就是能够进行团队合作的人。
这次比赛中,每个队的3人组合就是一次团队合作的卓越表现。ACM-ICPC执行理事Bill Poucher博士说起一个例子:曾经有一名非常优秀的学生,他一个人的编程能力超过其他几个人相加,但比赛时要求的是团队合作,计算机得轮流使用,而他则或者把着计算机不放手,或者跺着脚着急怎么不给他单独配台计算机使,而不是积极配合其他两名同学,因此成绩也就可想而知。
除了团队合作外,决断能力也是必须的。比如这次大赛中,每个队都发10道题,由于这些题目都是来自于现实世界的难题,分析以及编程的工作量巨大。
因此可以说,几乎没有哪个队能够在规定的5小时内全部完成,因此先做哪道,后做哪道,哪道做,哪道不做,这种选择与决断能力决定了比赛的胜负。
现实世界中又何尝不是如此呢?机会总是有限的,资源也总是有限的,只有善于把握机会,合理运用资源的人,才能是笑到最后的人。 而本次比赛的要求,就是对这样的人才进行了甄别。
多元化思考&不断学习
作为未来的软件人才,还要学会调整自己的思考模式。由于未来社会是一个集科学、技术、政治、经济、文化等于一体的多元化的社会,而软件作为一种渗透性极强的产品会涉及社会生活的方方面面,因此,具备多元化思考的能力应该是对一个软件人才的合理要求了。
何为多元化思考呢?比如,作为一名男性,你如何对想像一名女性用户对软件的要求?作为一位中国人,你如何看待美国人对软件的偏好?作为一名成人,你如何懂得孩子们需要什么样的软件?凡此种种不胜枚举。
如何具备多元化思考的能力呢?我想,一是要转变态度,转换角度,学会换位思考;二是不断学习,增强自己的见识,做到理解不同的对象;三是争取与更多的不同的人合作,比如女性,现在很多像IBM这样的公司都在积极争取更多的女性从事这一行业,以增加这一行业的多元化组成,进而能够有不同的眼光看产品研发,能考虑到女性或其他人群的需求,这其实也是市场趋动的结果。
领导力&雄心
最后还要强调的一点,就是领导力的问题。
IBM有个天才孵化计划(1999年在美国开始,2002年也已在中国启动),即用3个月的时间将所挑选出的优秀学生放到IBM自己选定的合适的项目中去,进行实际的开发工作,而其研发成果则可能被IBM直接商业化。学生通过这种实习,了解了更多实用的IBM技术,进行了商务创新,最重要的是,他们丰富了自己的履历,增强了自己的信心,并且有了一段难忘的经历。而IBM既可以通过项目吸纳到优秀的人才,又可以得到项目成果。
这样一个计划,IBM是如何挑选学生呢?首先其挑选的角度是从项目方的需求开始,如前几年需要具备Web service以及Linux知识的学生,但每年需要的技能并不完全一样。其所选学生必须具备的条件是:学生必须有6个月的工作(实习)经验;具备较强的软件编程能力;具有领导力和雄心大志,事实上很多学生本身就是学生干部,甚至有很学生拥有自己的公司;大学快毕业的,在进行最后一年的学习。
为什么要重视学生的领导力和是否有雄心大志呢?IBM负责天才孵化计划的Paul Baffes先生和Heather Jackson女士回答了笔者的问题。因为现在面对的商务环境已不仅是个技术环境,只有具备了领导能力,才能更好地操控这种局面,而且,这些学生未来可以从事开发、咨询、服务等多种工作,具备领导能力必然有利于学生的多元化发展以及公司的多元化选择。
另外,我想,干大事者必得有大胸襟,这胸襟何偿不是雄心呢?IBM们是在为未来储备技术及管理一体化人才,那么,未来的软件人才们,为什么自己不豪情满怀迎接未来呢?
如何成就?
说了这么多对未来软件人才的要求和期望,归根结蒂还是要说一说如何成就。
成就这样的软件人才,我想一是要改良目前的教育体系,使软件人才能够健康发展并脱颖而出;二是要与产业或公司结合,比如参加这样的大赛就是其中一种很好的方法;三也是最重要的是,学生要向着这样的目标不断自我修炼。
十年树木、百年树人,未来的世界需要你们!
大赛各方说目的
主办方—ACM
CPC执行理事Bill Poucher博士说,ACM-ICPC大赛旨在发现学生的极限能力,使其在挑战自我的同时,互相挑战,冲击无极目标。
首先,这不是一场所谓输赢的战斗,而更像健身和锻炼。通过比赛发现天才,以致影响整个信息产业,人类的很多问题都需要他们,如果这个社会有群天才,能够相互合作,那将对社会带来多大的贡献!
其次,每个国家都在乎它的年青一代是否利社会发展,影响所生存的世界,各个大学也都带着其社会文化价值,因此这也是一次文化的融合。
第三,这是一件很好玩的事情,与战士和学生在一起往往能使人变得更年轻,而技术本身也能使很多事情变得很有趣。
另外,学术团体与企业一定需要合作,大学人才种子要发芽,也一定需要与公司、产业结合,这也是一次很好的机会。
而亚洲赛区主席黄金雄教授促进此事的目的则是,为了使亚洲人有更多的机会在世界的舞台上得以展示。
赞助方—IBM
“ICPC竞赛为IBM和各所大学提供了一个良机,使它们可以结识全世界大学校园里最好、最聪明的计算机科学家。”IBM高级研究中心的计划负责人Gabriel M. Silberman说,“同时,它也为IBM专注于发展下一代技术,成为技术领袖的努力提供了支持。”
经过.com泡沫,经济有所滑坡,而IT人才需求还是不断增加,在很多新领域IT都有机遇,如生命科学、遗传……
IBM赞助此大赛的目的是通过这场“智慧的较量”,培养下一代信息技术天才,ICPC即是一种IBM与下一代即将开始职业生涯的IT天才们进行接触的全新方式。通过比赛可以:
1. 让IT未来人才认识这个职业,让更多的家长选择理工课程,以便于技术人才储备;
2.让学生了解IBM,有一段不能忘怀的经历,让学生更熟悉IBM技术、市场定位及IBM技能,选择更多机会进入IBM或成为IBM潜在用户;
3.选手都很优秀,通过比赛可以形成一种人才网络。
参赛方—学校
通过与清华大学领队吴文虎教授以及浙江大学教务部副部长叶民老师的交流得知,在比赛过程中,学校虽然得到过亚洲赛区以及IBM的赞助,但参赛学校还是要付出很多费用,更不要说是人员等方面的投入。而各学校积极参赛,进而争取主办权的目的:一是增加学校在国际上的品牌知名度;二是增加国际经验;三是发现大学里最优秀的软件精英。
参赛者—学生
由于所有训练都是课余时间进行,因此学生参赛也需要付出大量的时间和精力。而学生们参赛的目标也很明确:大赛为学生提供了一个展示他们解决问题、编程技巧、团队工作的良好平台与机遇。学生们通过比赛可以与各国学子认识和交流,增长见识,提高水平,获得各种包括去名牌学校的学习深造以及未来的工作机遇。学生们希望通过这个机遇提升其职业发展空间。