`
sunxboy
  • 浏览: 2876709 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

软件天才都是训练出来的

阅读更多

长期以来,“软件业”一直被视为“智力密集”型的“朝阳”产业,大多数从业者都受过高等教育,其平均素质居于社会各行业的前列,这个产业的顶尖人物被公众视为“知识英雄”,比如微软公司的创始人比尔盖茨雄据世界首富之位多年,更是为人“津津乐道”。16年前我下决心开始学习计算机技术的时候,对这个行业也充满了自豪感。

然而世事难料,在2009年高考刚刚结束之际,中国权威出版机构社会科学文献出版社于2009年6月10日发布首部《中国大学毕业生就业报告(2009)》,其中“计算机专业”荣登 “就业最困难的十大专业”光荣榜。

大约从2003年开始,我在北京理工大学这所211、985重点大学开设.NET课程,这件事后来给某些人“炮轰”——说我要将重点大学学生培养成IT民工,也曾有技术牛人谆谆教诲年青学生——想学软件,离金某人远些……

“程序员”何时变成了“IT民工”?

仅仅十多年,“程序员”就从“精英”沦落为“民工”,这也未免太戏剧性了吧!

在中国,不少程序员都是“CRUD”程序员,这不能怪他们,因为中国多数项目都是CRUD的。所以,CRUD似乎成为了“IT民工”身上的标签,问题是CRUD这活真的象在建筑工地上倒水泥一样,不需要太高的智商和较多的训练?

下面分析一下需要从事这个CRUD的工作的程序员,到底需要哪些知识和技能。

我大致地思索了一下,画了以下这个图,展示出一名 “.NET程序员民工”要顺利参与一个CRUD的数据库应用项目开发所大致需要掌握的知识与技能:



说句实话,这个图虽然“挂一漏万”,但列出来的知识点与需要掌握的技能之 多已经很“恐怖”了,对于一个需要掌握这么多知识与技术才能胜任与干好的工作,非要认为它是一个“低级”的 “民工”就可以干的活,想必持这种观点的人一定知识丰富如汪洋大海,属“白骨精(白领-骨干-精英)”一族。

需要掌握这么多的知识,才有资格当一名合格的“CRUD”程序员,“IT民工”的“门槛”其实挺高的,不是吗?

事实也如此,软件开发行业从业人员的平均学历我估计至少是大专,很可能是“本科”,其中固然有一些只有“高中”甚至更低学历的“奇才”,但这仅是少数,而且这些人,虽然学历低,但绝不会是一个低智商的人。这说明软件开发行业从业者的“平均智商”应该是挺高的。

我在旅美学者薛涌写的《天才是训练出来的》一书中找到了美国的一些统计数据:

美国大学本科生的中等智商为118,学士学位获得者的中等智商为123,优秀毕业生的中等智商为133,物理学博士的平均智商为140。而在一般的人口中,中等智商为100。也就是说,你的智商如低于100分,你就属于偏笨的人,高于此线,就属于偏聪明的了。

国外依据数据得出结论:要把书读懂读好,智商还真的得达到一定的水准。所以,能上大学并且顺利拿到学位的人,基本上是属于比较聪明的那一批人。

我们中国也有类似的观点,比如经常可以听到某家长叹息其小孩子成绩不好:我家的那个小祖宗,看来根本就不是读书的那块料!套用老外的观点,就是说这个小孩可能智商达不到上大学的基本要求。老外什么都喜欢数字化,所以动不动就来个什么“智商”测试,而中国虽然不讲智商这一套,但其实高考就可以看成是一次智商测试。在80、90年代,那时的大 学生,经常都是百里挑一、几十里挑一,记得89年我参加高考,那年我们省的录取率还是十几取一。所以那个时代的大学生被称为“天之娇子”,并非“空穴来 风”。

重大的变化发生于1999年,从这一年开始中国大学开始扩招,尤其是计算机专业,更是扩招的重点,其规模迅速膨胀,录取率大大地提高,其结果是,用一句打趣的话说,“阿猫阿狗都去读大学了”,中国大学没有做智商测试的制度,不然,我想应该会看到21世纪在校大学生的平均智商比上世纪80、90年代的在校大 学生的平均智商要低。但扩招对一些历史悠久声誉良好的重点大学的影响就没那么大,因为不管你怎么扩招,能进名校(比如北大清华)的学生,智商是不会低的, 因为其入学竞争仍然十分激烈,各方面差一点的根本就没这个机会。

国外还给出了一些著名科学家的智商:牛顿190,伽利略195,开普勒175,达尔文165,哥白尼160。

现在回到软件开发这个行业,其从业者平均学历为大专以上,应该说明这个行业需要的是整个人群中比较聪明的那一批。

这个观点与我的实际感受是一致的。

我在IT业“混”了十多年,深感这个行业牛人辈出,别说这个行业的“顶尖”级别人物,就是在许多普通的IT企业、科研院所中,也有不少的让人佩服的牛人。 我在北理工教了8年书,“笨”的学生实在没见着,而不少学生的聪明程度和学习能力等,都比我在他们这个年纪时要强得多,还有一些学生,真的很聪明,悟性 好,能举一反三,在技术上没多久就可以跑到我前面去了。

所以,软件开发应该是一个需要有较高智商的行业,我觉得不会有太大疑义。

中国人有句俗话:三百六十行,行行出状元。这些“状元”的出身并不重要,但他们应该接近100%的都有高的智商。

  你能成为软件天才吗?

在整个计算机领域,有一些老外的名字如雷贯耳:冯诺依曼,图灵,比尔盖茨、Anders Hejlsberg,在中国,诸如“求伯君”、“柳传志”、“李开复”等名人的故事也是众人皆知,虽然我们拿不到其智商测试的分数,但相信他们个个都是聪明人。

“高智商”其实是成为“天才”的必要条件。相应的另一个结论就是:普通人再怎么努力,也成不了天才。

天才在各自领域内所达到的高度,大多数普通人是永远达不到的,比如如果有某人告诉我:你只要努力,就可以比Anders Hejlsberg还牛。我一定会认为他在开一个让我很生气的玩笑。

个体间智商的差异是客观存在的。但成为不了天才不能成为躺倒不干的理由。因为这里有一个引发了巨大争论的问题。

智商重要还是努力重要?

国外心理学的统计数据明确无误地说明了智商的重要性,但这里有一个问题:就算是具有“天才”浅质的人在总人员的比例很少,但人类有数十亿之多,“天才”应该不少啊?怎么数千年来,公认 “天才”的就是牛顿等那几个?

1973年,诺贝尔经济学奖得主、人工智能研究的开拓者Herbert Simon和William Chase在研究国际象棋大师的成长规律时发现:再大的天才,也需要10年修炼成器。

音乐天才莫扎特似乎打破了这个“十年定律”。5岁做曲,10岁登台演出,一生创作了数百部传世之作。尽管如此,西方学者们还是发现,莫扎特6岁时就已经和 父亲一起训练了3500个小时,他第一部达到大师水平的作品,创作年纪是21岁,实际上已经经历了18年的严格训练。

聪明的脑瓜是必要的,但仅有它也是不够的。

我引用了这么多的资料,其实只为了说明一个结果:不经“十年寒窗”,“天才”不可能出来。本身具有高智商的人是这样,在平均智商上下的人更应该努力。

现在很好解释当下的一些现象了:

1. “程序员”为何是“IT民工”?因为这些所谓的“程序员”本身就没有具备从事软件开发的基本知识与基本技能,加上人数众多,可替换性强,怎么会不成为“IT民工”?

2. 计算机专业学生为何就业难?很简单,一个计算机专业本科生,四年下来至少应该有4~6万行的代码量,但就我观察,达到这个要求的不到10%。

尽管软件开发行业需要较高的智商,但在平均学历为本科的软件开发行业,从业者已经过高考的筛选,智商并不是问题关键,之所以“IT民工”多和计算机专业学生就业难,主要问题是“懒”和“训练不得法”。

下图是我总结的一个靠技术吃饭的“程序员”知识与能力增长路线图:



这个图不是针对“天才”设计的,而是针对一个普通的计算机专业大学生可能的主要人生经历绘制的,虽然经过了大量的简化,但主线还是很清楚的。

我成不了天才,那成为“人材”,可以吗?

我们需要解决的问题是“如何努力”的问题。

薛涌先生在书中介绍了一种名为“处心积虑的训练(deliberation practice)”的天才训练方法,这种方法是由天才研究的权威人士Ericsson教授提出的,简称为“深练(deep practice)”,其意思是一般人练得浅,水平自然平庸,天才则练得深,所以能超出凡人之上。

普通人如果能科学地深练,虽然不能成为天才,但成为“半个”天才是完全可能的。

有关“深练”的介绍,朋友们可以自行去看《天才是训练出来的》这本书。就我多年自学软件技术和8年的教学经验,我并不觉得“深练”有何奇特之处,我将“深练”总结为以下几句话:

1. 织网:分解软件技术的大块知识为多个小的知识点,各个击破,将新知识与老知识联系起来,构造一张完整的可动态扩充的知识之网

2. 训练:将开发技能给拆分为多个小的步骤或子技能,针对每个步骤或子技能反复地严格地训练,然后再这些步骤或子技能组合起来,以达到职业的水准。

3. 探究性的学习与实践:要将被动的学习转换为主动的探索,要通过开发实践把一切给“激活”。

分享到:
评论

相关推荐

    大脑训练 天才密码

    - **“十年法则”与“一万小时天才理论”**:这两个理论强调了长时间专注某一领域的训练对于成为专家的重要性。这与记忆法训练的原则不谋而合,即通过长期持续的努力来提高记忆力。 ### 4. 图像记忆的秘密 - **...

    天才音乐家2004官方安装版(含注册码)

    智能作曲软件天才音乐家是傻瓜式电脑音乐作曲软件,音乐制作软件,简谱作曲,自动伴奏,自动配器。不需要乐理知识。任何人都可以成为作曲高手,适合于音乐爱好者,音乐教师,音乐教学,音乐教育等场合。 天才音乐家...

    天才小网管微信DAT转JPG

    标题中的“天才小网管微信DAT转JPG”暗示了一个关于数据转换的问题,涉及的是将微信聊天记录中的DAT格式文件转换成常见的图像格式——JPG。DAT文件在微信的环境中通常用于存储聊天记录、附件等数据,而这些数据可能...

    网管微信DAT转JPG使用说明.docx

    在软件使用前,请把您下载到的软件压缩包解压到一个文件夹中,然后下一步是找到微信聊天的 DAT 图片文件,以便使用软件将其转换出来。 五、找到微信的个人数据文件夹 有两种方法可以找到微信的个人数据文件夹: *...

    一万小时天才理论励志PPT.pptx

    无论是天才还是普通人,都需要投入大量的时间和精力,通过刻意练习,才能在所选领域达到卓越。这个理论为我们提供了一个关于如何成为专家的路径,也鼓励我们相信,只要付出足够的努力,每个人都有可能成为自己领域的...

    WIFI天才(wifi共享软件)v1.0绿色版

    在日常生活中在没有Wi-Fi设备的情况,iPhone,Pad无法... 软件使用方法: 1、打WIFI天才,以管理员身份运行。 2、到控制面板,双击”网络和共享中心“图标,单击更改适配器设置按钮,会发现多出一个“Microsoft Virtual

    桌球 角度瞄准法 角度敏感练习软件

    本人曾经一度迷恋台球,一直想寻找一种快速精准的瞄准方法,网上很多都是介绍【假想球法】,国外很多斯诺克天才也都是说的这种方法,不过本人经过很多尝试还是没办法在短期内想出一个并不存的球来,就算真的想出来了...

    欧拉-天才引导的历程.pdf

    数学,作为一门古老的学科,其发展历经沧桑,每个时期的数学家都为这门科学注入了新鲜的血液。在数学的长河中,有一位名字如雷贯耳,那就是莱昂哈德·欧拉。《欧拉-天才引导的历程》一书,不仅仅回顾了欧拉辉煌的...

    (中小学教育)业余田径训练计划.ppt

    本资源摘要信息主要介绍了中小学教育业余田径训练计划的制定与安排,旨在推动全民健身,普及田径运动,选拔天赋型、天才型运动潜质的苗子。该计划的制定和实施对提高学生的运动能力和健康水平具有重要意义。 一、...

    软件工程学习心得体会

    软件工程是从上个世纪60年代开始的,程序员都是天才,写程式就像写日记一样,但随着硬件的迅猛发展和软件的复杂化,合作的概念被提了出来,并最终发展成软件工程。软件工程是指用于软件的团队开发,以提高软件质量和...

    训练思考能力的数学书

    《训练思考能力的数学书》讲述你害怕数学吗?你觉得数学是天才发明来找人麻烦的东西吗?1+2+3+4+……+9899100=?如果是你,会怎么计算这条算式?当老师说:“请算出1到100的总和”,7岁的天才高斯不用几秒钟就说出了...

    天才音乐家2004-3.0绿色版

    “天才音乐家”却可以使得人人都可以制作自己喜爱的歌曲,无论你是“菜鸟”还是“乐盲”。只要你按照乐谱(别担心,不是“小蝌蚪”而是简谱)逐一输入,然后点点鼠标。被过滤广告 乐谱的输入  初次打开“天才音乐...

    奇思妙想+15位计算机天才及其重大发现

    书中的每位天才都有其独特的创新思维和深远的影响力。例如,查尔斯·巴贝奇的分析机概念预示了通用计算机的未来;克劳德·香农的信息论为通信和数据处理提供了数学框架;阿兰·凯的“一切皆可编程”理念影响了软件...

    天才是怎样炼成的.doc

    通过对这两个故事的深入探讨,我们应当意识到,每个人都有可能成为自己领域内的天才,但关键在于是否能够像贝利和阿多尼斯一样,对梦想坚持不懈,并勇敢地抓住那些可能改变自己一生的机遇。教育不仅是个体提升自我、...

    天才音乐家2004及破解方法.rar

    (1)到迅雷下载OLLYDBG软件(多的是)安装(最好是汉化版本) (2)运行OLLYDBG,按F3键加载VB应用程序天才音乐家MUSIC.EXE (3)按ALT+E键或工具栏的E,在可执行模块中双击MSVBVM60.DLL (4)在CPU窗口右击在弹...

    天才引导的历程

    本书将两千多年的数学发展历程融为十二章内容,每章都包含了三个基本组成部分,即历史背景、人物传记以及在这些“数学杰作”中所表现出的创造性。作者精心挑选了一些杰出的数学家及其所创造的伟大定理,如欧几里得、...

    天才定律一万小时黄金定律ppt模板.pptx

    【标题】:“天才定律一万小时黄金定律ppt模板.pptx” 【描述】:“天才定律一万小时黄金定律ppt模板.pptx” 【标签】:“技术” 本文主要探讨的是“一万小时定律”,即认为在任何领域中要达到世界级的专业水平,...

Global site tag (gtag.js) - Google Analytics