编程十年 (13):毁人不倦1
编程十年 (13):毁人不倦1
我的母亲是一名中学语文教师,从大学毕业一直到退休,足足干了30多年。而且其中20多年都在担任班主任和年级主任,正好覆盖了我从出生到结婚生子的整个时期。和其他老师一样,每当我犯错时,我的母亲都会拿出多年的教育经验对我进行谆谆教导。我对这种迅猛的攻势经历了畏惧、反感、不以为然、欣然接受的全部心理阶段。也许是骨子里流淌着教师的血液,也许是常年耳濡目染,我就好给别人讲个东西,而且永远拿别人当傻子,非要讲透彻不可。
高中后期担任物理课代表的时候就以给别人讲题为乐趣甚至为己任,负责得不得了。还收了三个女徒弟,弄得跟唐僧似的。高考的时候,本来打算只报一个志愿,后来还加了个首师大做第二志愿。
第一次真正接触讲师这个行业就是在大三和E君一起做CSTC的时候,他给我讲了他在微软技术相关的各种大会上做讲师的经历。还有一次,工大分校邀请他回去给同学介绍如何应对四级考试,他叫上我一起去的。在会上,我领略到了只凭五张PPT讲解一个小时英语考试并且现场掌声笑声不断的境界。
在这个时期,我还亲自体验了一把做讲师的感觉。2003年,E君做了一件在我看来惊天动地的事情。那会儿微软每年除了TechED之外,还会在大学中举办一个Campus TechED。这一年在E君的努力下,微软决定在北工大召开Campus TechED,而E君负责联系所有的会务工作和讲师。
近水楼台先得月,我很早就知道了这一消息并自告奋勇和E君一起做会议准备工作。自然而然,E君向我提出要我讲一场,题目可以自己定。当时C# 2.0刚刚发布alpha版,但语言规范已经确定并正式发布了,我刚好第一时间下载到了语言规范并翻译成中文,放到了自己的博客里。所以我决定讲一场C# 2.0的课程。C# 2.0虽然是一个划时代的版本,但新的语言特性并不是很多,所以很快我就做出了课程提纲。不出所料,很顺利地通过了审查。
之后的日子我将大部分精力都放在了PPT的准备上,并且每天晚上睡觉前,我都会在脑子里YY着讲课的场景。日子就在忙碌和期待中悄然而去,Campus TechED如期召开。
事实证明,仅靠YY而没有实际演习是不行的。事实还证明,任何第一次都是很紧张的。我的会场安排在信息楼北侧一层的阶梯教室中,这个教室简称“信北阶”,平时有很多专业课都安排在这个教室里。刚入学时听说要去“信北阶”上课,还以为学校里有条路叫“信北街”呢,心说这学校可真够大的。
虽然教室很熟悉,但视角是全新的。从前在下面或仰视或平视或俯视老师,心想有朝一日我要站在前面,可绝对不能像这个老头子似的,必须能和学生打成一片。今天我站在这里了,面对绝对不能用黑压压去形容的人头,或仰视或平视或俯视他们,我突然觉得大脑一片空白,连水分都不知道被什么玩意儿抽干了,嗓子一阵发紧,难以启齿。
我终于明白为什么要准备一个PPT了,也知道了为什么哪怕只有四五页,也必须准备一个PPT了。在面红耳赤口干舌燥地介绍完自己——其实也就说了一句话——之后,我赶紧将PPT翻过封面,进入目录。看着一行行熟悉的小标题,我心里终于有了点底,马上像念课文似的把各个标题读了一遍。人在紧张的时候其实并不是说不出话,而是缺少起承转合——这话不是我说的,是《围城》里学来的。我自己都觉得这几个标题念得很突兀,基本上就是“题目一,然后是题目二,然后是题目三,然后是……”
这种情形搞得好像不是我在讲课,而是被罚到前面读课文。要说也不是没被罚过读课文,但是心态是不同的,挨罚的时候心态很轻松,爱咋咋地,甚至有点自豪;但讲课——至少是目前——我还没有这种心态。
讲课前没有实际演练过也给我造成了很大麻烦,我一丁点准备讲义的经验都没有,所以在制作PPT时我将全部精力都放在了内容准备上,并没有规划各部分内容占用的时间,只是想着把C# 2.0的东西全部塞进PPT,千万不要有遗漏。结果,前面不到1/5的内容我已经耗掉了15分钟的时间——整个课程只安排了一个小时。
这还不是最坏的结果,因为我很有先见之明地借了一块手表摆在讲台上——我就知道我不可能像E君那样准确地操控时间。但手表也只能告诉我进度出了问题,并不能帮我均匀地分配时间。于是,本来已经渐渐被压制住的紧张卷土重来,而且大有愈演愈烈之势。本来紧张的时候就容易讲快,再加上我怕完不成进度,使劲地赶,结果在40分钟的时候,我就讲到倒数第二张PPT了……
在这期间,我的一个同学——被我硬拉去捧场的——听我声音沙哑实在是痛苦,特地出去买了瓶冰红茶给我递上讲台;另一个不认识的听课的同学,看我双腿发抖几乎站不住了,还以为我是带病坚持讲课呢,说,老师,您要是实在太难受就坐着讲吧,我们理解您。我被感动得一屁股就摁在了讲台后面的折叠椅上。
现在提前这么久就讲完了,我更是大囧至极。突然脑子里灵光乍现,想起E君在我刚开始准备内容的时候就教给我的一记绝技——如果不小心讲快了,就让大家提问,会的就讲,不会的就课后私下探讨。本来我根本就没考虑过时间的问题,也就没太在意这句话。现在它竟然自己跳出来,我兴奋得差点从椅子上蹦起来。得到了法宝我也就不紧张了,索性翻过最后一页PPT,然后冠冕堂皇地告诉大家,其实C# 2.0比起1.1,并没有太多新东西,我们就讲到这里,下面大家有什么问题吗?
结果我很傻眼,争相提问的场景并没有出现。也是,学校的导向就是对.NET不冷不热,所以很少有同学学习C#,既然不懂,自然也就不会有什么问题了。这下坏菜了,E君虽然告诉过我可以用提问回答来耗时间,可没告诉我如果没人提问怎么办啊。这时我只能发扬自我创新精神来解决了,我打算跟大家说,如果没问题我们就到这里了。因为我心目中的好老师都是要提前下课的。
结果,那个让我坐椅子的哥们儿又一次挽救了我。在我刚要张嘴,脑细胞发出的信号还没传到面部肌肉时,他突然举手,问,老师,您刚才讲了C# 2.0提供了泛型,这和C++里的模板有什么区别?我嘞个去,老子讲C#你提什么C++,这不是要亲命了么。还好之前学过一阵C++,模模糊糊还有点印象,我赶紧让大脑高速运转,搜索仅存的一点C++知识,然后装作胸有成竹的样子侃侃而谈了十几分钟。
课程结束后,我从教室里落荒而逃,从此不敢出宿舍见人,躲了一周有余,生怕被别人认出来。但是,虽然这个第一次是如此紧张难堪,我还是对讲师这个行业产生了浓厚的兴趣。我开始幻想着下一年度的Campus TechED还能做讲师,甚至幻想能在TechED上讲上一场半场的。不过后来因为学校并不重视同微软的关系,2004年的Campus TechED没有在工大举办;到了2005年,我已经是CSDN的技术编辑了,以媒体的身份参加了在北航举办的Campus TechED;但是两年后,我果然登上了TechED的讲台,在一个分会场上讲解Windows Mobile开发知识,这要感谢当时老板的大力举荐。