技术开发 频道

软件天才与技术民工 天才是训练出来的?

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

1
  图 2

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

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

  对这个问题,我的观点和薛涌先生在《天才是训练出来的》这本书中所表达的观点是一致的:

  完全可以。

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

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

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

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

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

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

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

  我写了不少文章表达过自己针对软件技术学习的看法,在个人所写的几本书的前言中也比较系统地表达过类似的观点,这里就不再重复了,这些文章在我的个人博客上都可以找到。

  而我也将在日后的开发与教学实践中应用这些原则,探索更有效的学习与训练方法。

  下面,我们来看另一个很困扰人的问题:

  我是知道我成不了天才,但为何我也没成“人材”?我可从没偷懒过啊!

  这个问题太有中国特色了!这里面关键有几点:

  (1)你错过了“学习天窗”。任何一种知识和技能,都有学习与培养它的非常好的时间段,我们将它称为“学习天窗”,比如一个两三岁的小孩子可以轻而易举地学会两三种语言,而且不会有口音,而一个成人就够呛了,以英语为例,我们都受够了难听无比的“日本英语”和“印度英语”,“中国英语”也好不到哪去。拿软件技术而言,非常好的的学习时间是大学的这几年,18岁~25岁左右,精力、体力、智力,无不处于高峰,你这时不学,拿这个时间去玩游戏,看大片,QQ海聊,上网乱逛……,等到30岁以后再学,会发现你花3个小时才能记住的东西,10年以前可能1.5个小时(甚至更少的时间)就能记住了。后悔也晚了。这也只能怪你自己。

  (2)命运:

  幸运的是,你生在中国!你没生在阿富汗和非洲,那里天天子弹飞,饿肚子,闹瘟疫,这种环境下你还能学计算机,编程序?

  倒霉的是,你也生在中国!如果你生在美国,你就可以摆脱那因为千军万马过独木桥而喘不过气来的中小学应试体制,上了大学,也可以得到比较好的专业引导和教育,避开那因为“行政化”而“弊端从生”的中国高等教育体制。中国这个大环境你个人是改不了的。

  最倒霉的是,你不仅生在中国,而且你爸不是李刚,你家在很远的地方,那地方很穷,家里买不起电脑,更别说上网了,你可能要到大学才第一次接触到电脑……,让你雪上加霜的是:你竞争不过那些学习条件好的同学,虽然你不笨,也很努力,但在起点就落后了,结果你没上到好大学,没碰到好老师,一步晚,步步晚……

  这不是你的责任,真的,不是你的责任!

  但不要追问是谁的责任。

  再追问下去,你可能就要去宗教中寻找归宿了。

  路在何方?

  你手上抓的牌不太好,这没办法,这是命运问题,这世界本来就是不公平的,老子说过:天地不仁,以万物为刍狗……

  别想那么多了,不抱怨不等待,积极努力,想办法把手头抓的这副“坏牌”打好,这是最现实最正确的选择。

  只要个人努力了,其他的丢给命运吧!你还能怎的?

0
相关文章