培训
文章来源: 明亮2008-03-03 16:51:05



从这周开始,我被彻底调离原可以吃喝玩乐看窗外风景温馨的小窝,发配到大教室做培训一周。那里每两个人虎视眈眈看一个电脑,还要认真学习老师讲课内容,做练习。最发愁的事情是要打乱我目前晃悠上班晚来晚走的作息时间,要提早起床一个小时。

今天是培训第一天,我尽最大努力做到了没有迟到。结果到了之后,后排的好位置电脑已经被早起的鸟儿占用了。我四下观望半天,每走到一个位置,就有人提醒我,“那个位置已经被人占了。”果然,我看见一些笔记本占着位子,就好像大学自习室占位置一模一样。我很有把他们的笔记本扔到一边的冲动,想了想还是忍了。终于,在走过N个我认为的好位置之后,只能坐在头一排,和老师脸对脸了。这意味着我想利用培训时间做些私活的计划,彻底破产了。 

培训照例一来就大家自己介绍自己,说明自己到底想通过这个培训达到一些什么目标。教我们的老师J眉清目秀的,看着还算顺眼。另一位是他们的VP,也是负责回答问题,控制进度,查看学生做练习的。我们一个班,大概10多个学生,都是从不同组凑过来的。大家都纷纷介绍了自己项目,很自豪。我发现来的程序员分成了两个阵营。红方就是我方,属于JAVA阵营,蓝方是微软那套.NET阵营。双方互相看不起对方,也有悄悄向对方转型的,打算脚踏两只船,以后见风使舵。 

培训是关于一些自动检测的方针,自动检测的工具等等。上面想让我们把这部分做好,加强我们写的软件质量。很久没有做培训,发现目前IT行业还是与时俱进的有些新名词。比如,今天学的就是TDD,全称为Test Drive Development,当然还有BDD。这个老师喜欢捉对写程序的方式。我也喜欢,因为可以一边聊天一边写程序,还可以显摆一下自己聪明的地方。而且,主要是承担责任的人,一下就多了一倍。不过,最好还是能和聪明人配对,要不还是自己累。 

我们练习了一种叫乒乓球模式的写程序方法。这个真是好玩啊,不过效率其低。比如,我们练习写一个做阶乘的程序。要一个人先把测试程序写好,另一个人写真正的程序,但是只要写到刚刚能够让这个测试程序通过就可以了。然后这个写程序的再写一个测试程序,让测试程序失败。然后让头一个人在去修改原程序,然后再写一个测试程序,也让测试程序失败。就好像打乒乓球一样,你推我挡。直到最后一个人,实在懒不下去了,写好真正的程序。这样测试程序已经在这个过程中全面建立,而且双方都用了脑子,想到了很多种可能的情况。 

和我配对的是以前我们一起做过一个特复杂问题的另一个组的.NET程序员。我们一听这个比试聪明的办法,就叫上劲儿了。这个和大家玩过那种搭积木,每次抽出一个方块,看谁把这个积木最后弄倒谁输的游戏一样,就看谁写不出很多很多if else,必须写真正的代码了。我和这个.NET的程序员推挡了至少7个回合,最后还是以他先低头了告终。我们还为阶乘可不可以用负数争执起来,我说不可以用负数,他说是可以的。官司打到老师那里,老师推荐清官Wiki,再仔细阅读了Wiki的定义之后,他心服口服的认输了。 

这种培训都很讲究互动,老师每讲一段就让大家做练习,还总结一些我们应该接着做些什么,少做些什么等等。大家都写了小条贴到前面的白板上。老师一个个读给大家听,采纳建议。在一个我们应该更多的有什么的栏目下,竟有人写了:我们要更多的好吃的,要提供我们免费午餐。这本来是我的风格啊,看来这个班里真是卧虎藏龙不少喜欢吃的人。结果,老师看了这个条子,想了想,说周四带大家去好好吃一顿,他们公司请客。班上一片欢呼雀跃,觉得民主就是好。 

培训还是学到了很多东西,班上有些同学知道很多偏门黑道的技术,让人叹为观止。学无止境,的确如此。