中国的程序员培训是不是有问题?


中国技术开放日的出海团对日本进行了为期一周的访问。笔者随行了头两天,参加Slush Asia大会,并访问了Gungho和Deloitte两家企业。虽然已经在日本生活了四年,但这样的体验却甚少,对中日两国的技术力有不少思考。

不知从什么时候起,我凡是听到中国人在日本人的面前提起“程序员”三字,从头皮到脚跟都要发麻。中国企业培训出来的程序员,和日企培训出来的“会写程序的人”,从称呼、内涵到侧重点都是完全不同的。

如果您做程序员已经很长时间了,如果您已经把写程序当成了生命中最重要的存在,可能本文的内容会令您感到不快。但是,我无意改造您的思想。仅以此文,希望通过对一些现象的观察和分析,最后引发读者思考。如果您能够从中得到启发或反思,那么本文的目的也就达到了。

中日两国的程序员有什么不同

中国培训出来的“程序员”,可能被称呼为:Java工程师、iOS工程师、C++工程师等。这些称呼说的都是职业程序员,它们已经被语言或工具所细分。在日本却几乎见不到这样的称呼。最接近中国“程序员”的职业有两种:“程序员”(プログラマー)和“IT工程师”(ITエンジニア)。但是,它们不会根据编程语言或工具被刻意分类。另外,有很多职业虽然也写程序,但是他们的称呼和工作重心都不是编码,例如:

  1. Web设计师。偏设计,要求美术功底。
  2. Web制作人。主要是做策划的,分析课题、调查市场、预算调整等。
  3. 系统工程师。主要是写系统的需求和规格说明书,很多是文科生在担任。

这些职业都写程序,但都相当于干兼职。真正的全职“程序员”,他基本上是什么语言都会写、什么都要干的,不会分成Java系、C++系,或者前端工程师、后端工程师之类的。而且程序员的地位不高,日本人不愿意被人这么称呼。

说到这里,读者一定能理解为什么我一听到“程序员”三字就浑身发麻。

从工资看日本的职业地位

钱虽然不是衡量事物价值最好的指标,但一定是最不坏的指标。要看一个职业在一个国家的地位,最简单的就是比较工资水平。虽是简单的数值比较,但仅仅几个数字就能让人了解一个国家,这是很有意思的。(目前的汇率是1元人民币约等于16日元,如有需要请自行换算)

一般一个大学生毕业后拿到的工资是20万日元,前后涨幅2万左右。日本的贫富分化很小,每个人赚到的都差不多。入职后,根据公司的效益,每年大约涨5千到1万日元。由于某个新入职员的能力特别强,而突然大幅涨工资的情况几乎没有。

按一生的平均工资来计算,真正被称为“程序员”的人,月薪大概是32万日元。比较其他职业:

清洁工 - 22万

电工 - 28万

消防队员 - 31万

护士 - 32万

卡车司机 - 33万

高中老师 - 37万

国立大学副教授 - 51万

播音员 - 56万

律师 - 64万

内科医生 - 86万

眼科医生 - 90万

最赚钱的职业是什么?产科医生,月薪高达130万。

从以上数据可以看到,程序员或者从事IT行业并不占任何优势,和卡车司机差不多。比较受欢迎的是医疗行业、教育行业、司法行业。最赚钱的是当医生,即便最次的牙科医生,月薪也高达60万,远超其他行业。

哪里有钱赚,人才自然就往哪里聚集。中国的热钱大量流入互联网产业,造成了过量的人才流入,无论是学新闻的、电子的、机械的、经管的,都往互联网企业跑。虽然发展了一个产业,也阻碍了其他产业。在日本,大部分行业的薪水都差不多,所以人才是平均分配到各行各业的。程序员既然在薪水上没有特殊的优势,自然也不会聚集到一流人才,当然也不会细分为Java程序员、C++程序员、iOS程序员了。

因此,“写程序”这件事在中日两国人的心中有着巨大的形象差别。中国较极端,要么特别看重它,要么特别贬低它。日本则比较平和,仅仅把它当成是很一般很普通的职业。所以如果中国学生在日本宣扬编程能力,一般会起到反效果。你可以宣扬设计才能、创作才能、策划才能、交流才能,但不可轻易宣扬编程才能,否则真是碰一鼻子灰。

最受日企重视的能力是什么?

中国常出现一种情况:一个前端工程师,他就认为自己只会做前端了,凡是非前端的活都干不了。一个Java工程师,他就认为自己只会Java了,其他的都不想干。仿佛是自己把自己限定在笼子里。还有不少人很迷茫,说不知道往哪方向发展,是做前端?还是linux方向?还是Node.js开发?不可思议,难道不能都发展吗?换句话说就是,“给你一个活,不管它是前端后端左端右端,你都能完成”。

泛用性(ユーティリティ性),是日企最重视的能力。本来是用在棒球队的词语,表示能够防守任何位置的球员,即所谓“泛用性球员”。在企业中,它指的是“对应各式各样任务的能力”。用中国的土话说就是,“给你个活,你就能完成”。

所以日企招人,很少看重应聘者的编程能力。日企的培训很到位,不论你是工科文科,入职后用不了多久就学会了。不少企业还倾向于找不会编程的人来写程序。而且说实在的,现今编程已经几乎成为一项基本技能,编程语言也越来越简单,谁都能学会,没什么大不了的。日本的Dotinstall网站,提供各种编程技术的3分钟入门教程,每项技术大概10-20课,每课3分钟,不到一个小时就能看完一项技术。看完了就入门了,在实践中提高就好了。

笔者把“泛用性”解释为“生存的能力”。把你扔在丛林里,你能生存吗?你必须以最快的速度学会采集、生火、建设、洞察、逃跑、治疗。不是让环境来适应你的能力,而是你要适应环境。放在开发领域,就是给你一个任务,无论它需要用什么框架或工具,无论所需的工具你是否接触过,你都应该有能力解决。

日本所说的“泛用性能力”,是集技术力、毅力、体力、思考力、情感控制力、社交力于一体的综合指标。拥有这种能力后,应该说任何项目都是可以完成的,比中国程序员所谓掌握了某种框架的能力要重要得多。学习计算机的最高境界,不是掌握了多少工具的用法,而是具有缜密的分析和精确的判断,以至于做任何工作都比别人快,就是“养马”,都要比一般人效率高。

中国有一奇事。面试的时候,技术官可能会问一个很细的问题,比如某个函数怎么调用。奇了怪了,难道记不住这些就不能做开发了?谷歌一搜不就结了吗,本来开发就是需要各种文档辅助的,岂有光靠记忆力做开发的人。

此外,很多培训机构仅仅教授某工具的用法,却不去探索一种模式,教育学生“如何寻找解决方案”,恐怕这一点值得教育企业反思,或许能从中找到很好的商业模式。

总结

学习任何一项技能,应该是越学能力越强,越能学习更多的技能,能对应更多的事情。而不是被一种能力所束缚,变成除了这件事就什么都干不了。

客户交付一项工作,只要是能够盈利的,那么你不应该有任何理由去拒绝它,除非它触犯法律和道德。如果仅仅因为一项任务需要用Python,而你只会Java,便说“干不了”,那真是荒唐可笑。正确的做法是:无论事先是否具备这项能力,先接下任务,然后再寻找解决方案,以最好的服务态度、坚韧不拔的毅力和专研的精神,不惜一切代价也要完成它。

有一个日本武士用语,叫“斩后知(斬りおぼえる)”,说的是武士无论如何训练剑法都没用。真正能够成为剑豪,如宫本武藏、塚原卜伝(被称为剑圣)者,必须与无数的敌人决斗,击败无数的敌人,在实战中领悟真正的剑术。最终会变得能够对应任何敌人。

要训练“生存的能力”也是如此,敢于接下并完成各种任务,在实战中领悟。最终,无论置身于任何坏境,你都将能够生存,而不是“只堪一能”。

文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-09-23 06:48:31

中国的程序员培训是不是有问题?的相关文章

中国第一程序员--求伯君

怀念着小学在486上玩WPS的时代,怀念486--586时中国软件的辉煌 中国第一程序员--求伯君摘自:http://www.XiaoHui.com 程序员的生 活,是比较寂寞.封闭和枯燥的.大浪淘沙,在这个软件工业飞速发展的时代里,出现了许多高手,但是,他们中的绝大多数人并不为人所知.像吴晓军.鲍岳桥. 周志农.刘旭.朱崇君.求伯君.王江民.王志东.梁肇新等等为大众所熟悉的高手,这么多来来也就这么一二十来位.他们个人奋斗的酸甜苦辣同中国软件地的发 展起落同步.国内接触过计算机的人都使用过或仍然

也谈“为什么中国的程序员总被称为码农?”

        我经常在CSDN上浏览新闻,同时也喜欢阅读博客.最近,我看到有不少文章在谈"为什么中国的程序员总被称为码农"这个话题.大家虽然各抒己见,但都在表明一个事实:在中国做程序员真的很累,与种地的农民没有什么区别.        作为一个刚工作不久的程序员新手,我想就自己的经历谈一下对这个话题的认识.        在学校的时候,我们对那些"IT界的英雄"很是敬佩,包括:盖茨.乔布斯.扎克伯格,以及大家都很熟悉的李开复老师.想到他们用自己的智慧改变了人类的生

【译】数据显示:中国的程序员是世界上最牛的程序员?

写在前面:一直觉得中国的程序员想法多,肯钻研肯学习,但却不知道原来中国的程序员是世界上最牛的程序员.说来可能不信,但根据HackerRank官网的一篇报道,数据显示中国的程序员就是世界上最牛的程序员.特将此文翻译成中文,分享给大家. 如果问哪里的程序员最牛,很多人肯定会认为是美国.毕竟美国拥有很多杰出的程序员,如比尔·盖茨. 肯·汤普森. C 语言之父丹尼斯·里奇.唐纳德·克努特.但是,这些年,印度的程序员规模增长是全世界最快的,俄罗斯的黑客也越来越锋芒毕露.有什么办法来确定哪个国家的程序员是最

如何优化程序员的内部培训

1.前言 本文的主旨是列内部培训的提纲,特别对培训他人和写作技巧写得细一些,让大家明白很多东西可以培训和怎么传播知识. 虽然题为培训,但我还是想说一句:程序员其实不需要培训,只需要指点.原因有三: 程序员的工作都必须去实践,几乎没有纯理论的领域. 由于互联网的开放性,程序员能找到大量的资源自学. 随着实践深入,会自然地遇到一些问题.解决这些问题除了靠智力外,大部分只需要知道答案的大致方位就能用时间来消灭掉. 大牛之所以能成为大牛,就是知道了很多答案存在的地方以及发现这些地方的方法.优秀的程序员培

中国程序员的男女比例是多少?

CodeForge网站最新发布了2014年第四季度<中国程序员调查报告>.报告里对程序员的年龄分布,地区分布,性别比例,使用浏览器种类,使用的编程语言等进行了调查.统计和分析.对从业人员及其他相关人员有很好的参考作用. 本调查报告所使用的数据,均来自codeforge.cn网站,集中了对全国100万程序员互联网行为的调查,分析以及投票统计.它清楚的显示出在程序员这个特殊的群体中,男性比例高达80%,女性仅占20%,他们具有明显的极客精神,喜欢使用Chrome浏览器(52.06%),Androi

中国第一代程序员列传:商业世界里水土不服

2011年7月,仅仅47岁的"中国第一程序员"求伯君彻底退隐江湖.这代表着一个时代的过去,在求伯君风光的年代,程序员身上充满着个人英雄主义的浪漫情怀.而随着时间的不断推移,单个程序员的能力显得越来越渺小,程序员逐渐沦为软件生产流水线上一颗螺丝钉,这让第一代程序员的神话再难重现. "中国第一程序员"求伯君彻底退隐江湖过去的20年,是中国程序员快意恩仇的江湖时代,程序员通过知识实现梦想和财富.历数曾经的数字英雄,名利双收的并不多见.而程序.经营两手抓的更是凤毛麟角. 这

中国程序员 VS 美国程序员,差距就在这五点

心态差距 近年来由于互联网的迅速发展,全国各地,IT人才的需求量都出现了飞跃式的增长,程序员的薪资也明显高于其他行业. 但在国内,真正因为热爱编程而从事这份工作的人其实并不多,很多人学习程序想得都是这个行业火,赚钱快,入行门槛低.什么技术火就学什么,然后进入一个大公司,做几个成功的项目,积累工作经验,几年以后自己当个小管理,拿着十几万,或几十万的工资,再无追求的过着小日子就好. 甚至到了30岁,如果没能进入管理层,大多数人都会考虑转行,或仅靠自身的知识累积开始创业. 美国程序员大多数都是因为热爱

第四季度《中国程序员调查报告》

报告里对程序员的年龄分布,地区分布,性别比例,使用浏览器种类,使用的编程语言等进行了调查.统计和分析.对从业人员及其他相关人员有很好的参考作用. 本调查报告所使用的数据,均来自codeforge.cn网站,集中了对全国100万程序员互联网行为的调查,分析以及投票统计.它清楚的显示出在程序员这个特殊的群体中,男性比例高达80%,女性仅占20%,他们具有明显的极客精神,喜欢使用Chrome浏览器(52.06%),Android移动操作系统和设备(76.47%),最喜欢C++(24.5%),C(21.

从Java谈中国程序员的悲哀

问题描述 外国的程序员到底有没有低收入者我不知道,但是,如果说当年我们国内归国创业的那些人是因为在国外买不起国外的房子混不下去了所以归国创业,那我也不得而知,至少在这里你说美国社会如何好,但是还是提到美国社会有穷人,上不起学买不起房,像中国的农民工睡天桥,那么我也就不敢妄言说美国的程序员和美国的知识分子,至少是又大房子住,有车开,用高档手机至少苹果之类的人了.言归正题,其实我替中国的程序员感到悲哀.为什么,因为即使传言北京上海广州程序员可以拿上万月薪,可是面对高房价,又如何应对,我就有身边的同学