人们对于培训这件事情总有一些不切实际的想法。 我们期望,那些不具备某些能力的人,通过培训就具备了。就像洗车一样,通过一个黑屋子,出来就是一辆崭新的车。
而实际上,在专业领域,一个更悲观的论调是被广泛认可的,那就是:培训没有用。 1、既然没有用,为什么大家都在搞培训呢? 其实我们应该反过来想这个问题,既然行业里普遍认为培训没有用,而到处又都在搞培训。那大家的印象里一定有“培训有用”的印象,所以才会不断地去做培训。问题就变成了,“我们什么时候觉得培训有用了?” 从我个人出发,来ThoughtWorks之后,我接受的最有用的几个培训分别是TWI、OO BootCamp、DDD。 上完培训颇有顿悟之感。受启发之后,我拿学到的东西去跟其他人交流,发觉有的人顿悟,有的则是不明觉厉;有的在接受培训之后会发生较大改变,有的则像什么都没发生过一样。 我对比了一下这些不同的人,可能的原因是这样的:这些培训之所以对我们有用,是因为我们在参加培训之前就已经在软件开发的各个方面都积累了足够多的经验,就差有人给我们梳理一下了。 所以我常常用最后一块馍来比喻培训。用吃饱的感觉来比喻顿悟的感觉。
后来我跟其他人的交流,则是拿着最后一块馍去喂别人吃。同样差这一块馍的人,吃下去马上顿悟了。但是还没吃到足够馍的人,也就只能听个热闹。 2、培训到底有没有用? 当充分准备好的人,遇到充分准备好的内容时,是有用的。而这里面最难满足的条件是充分准备好的人。这是可遇而不可求的。 不知道大家看到这个结论的时候什么感觉,反正对于我,一个专职做培训的人来说,简直是死刑判决一样的感觉。 当我开始去给毕业生做培训的时候,这个“没准备好”的情况就越发的严重。我们完全可以在培训前就预言:培训完几乎感觉不到变化。当想到这个,我的内心几乎是崩溃的。 好吧,虽然现实很坑爹,但生活还要继续。 既然培训有用的关键在于充分准备好的人。那么有没有这么一种情况,人并没有充分准备好,但是培训依然有很好的效果的呢?为什么出现了效果呢? 我个人的经历里,只碰到过一次:韵涛(ThoughtWorks交付总监)的战略课。 当时这个课程,其实我也没有完全听懂,很多内容停留在“我以为我懂了,其实完全没懂”的状态。 但是为什么效果好呢?因为这个课程在我心里种下了一个种子。就像是盗梦空间里说的那样,“在意识的底层被注入了一个想法”,我看到一个企业的行为,atv,就忍不住去分析一下,他们的战略是什么?为什么要这么做?可不可以做别的?有什么在影响他们的决策? 我觉得后来这无穷无尽的自我训练,才是我成长的关键。 3、也许培训的重点不是培(讲课),而是训呢? 编程是一门手艺活,这个世界上的手艺都是练会的。基本功不熟练,说别的都是骗人。也许生产“准备好的人”的最有效方法,就是我们早就非常熟悉而又深恶痛绝的那个——题海战术? 于是我们出了下面的一些题目(大概70道),要求学生做简单的集合运算。
然后,魔鬼般的训练开始了。当时的场景让我想起了:
训练开始之后,我跟徐昊交流了一下经验,当时的对话场景是这样的: 我: blah blah…… 徐昊: 这类似于体育里的体能训练。 我: 是的。 徐昊: 体能训练不是应该天天练吗? 我: …… 于是,本来只打算做一遍的基本训练,变成了天天都在练的体能训练。当然考虑到不能一天都练这个,于是我们简化了一下,每天做的练习类似于:“选出一个集合中下标为偶数的元素,在选出的元素中,选出元素为偶数的元素。将其按几位数分组,对每一组求中位数,放到一个数组里为最终结果”。 掐表,不能超过一个小时,当然难度也是一直在加的,除了条件会改以外,还会让他们抽取一个filter的高阶函数来用等要求。 4、这些简单粗暴的训练会有用吗? 结果是出乎意料的,进行过这些训练的同学,他们不但写代码的速度提升了(这简直是一定的)。 而且相比没有进行这些训练的同学,在面对一些比较抽象和复杂的编程技巧讲解时,更能跟上我的节奏,有的甚至还能指出我的错误。 (责任编辑:本港台直播) |