我原本不是从事教育工作的专业人士,这几年来,一不小心成为了“人民教师”。这两个月觉得自己好像又落入了四处讨论教育的漩涡中。之前怎么做好教育是我的一份工作,自从小洋(我刚刚出生的宝宝,学生们都叫他小洋,其实叫王瑞)出现了以后,在家里也在探讨着教育问题。
前些日子,我和J060619班的同学们共同承接了一个项目。班里有一个学生的哥哥开办了一家二手房中介公司,我们根据他对软件的需求,决定用一个半月的时间开发相应的软件,同学们从客户的角度完成需求分析、对项目进行详细设计分工、团队合作编写各种功能文档、最后编写代码,独立实现整个项目。
这个任务对于仅仅接触软件开发三个月的同学们来说是艰巨的。问题的关键在于――所有的学生都不愿意写文档。我尽我所能,带领着他们写那些枯燥无聊的文档,甚至请来用友公司资深项目经理李俊毅先生给学生们介绍企业中项目开发的经验,李经理的精彩演讲,激发了同学们对于项目开发的热情,他们当天就开会,研究讨论这个项目的计划与实施细节。
几天后李老师(这个班的班主任)找我说她的担心,李老师问我的第一句话是:“这个项目能够顺利完成吗?如果不能完成该怎么办?”而我的回答是:“我希望这个项目以失败告终”。李老师当时吃惊至极,她非常不解:既然开始了一个如此有商业价值的项目,为什么期盼它失败?经过两个多小时的争论、探讨、分析,我总结了我的理由。
我教过北大青鸟的课、教过清华IT的课、IBM的课(以下的讨论不针对任何机构,仅仅是就现象讨论问题,不当之处敬请原谅)。清华IT的课程比北大青鸟的课程晚五年诞生,所以课程的技术内容要深得多(好像有点像Java和.NET的关系:) )。但是在两个机构任教一年以后发现,北大青鸟的学生就业的能力比清华IT的学生要强很多。细分析,似乎由于北大青鸟学习的课程比较浅,所以学生毕业的时候更加容易“感觉到”掌握了某些技术;而清华IT恰好相反,课程设置较深,导致学生毕业时对自己所掌握的技术没有认知,所以北大青鸟的学生往往有更强的自信心去应对面试官。
我和很多老师讨论过这个问题,也看到过有些老师在网上发表的一些教学感言,观点竟然惊人的一致:“成为一个优秀的编程教师很容易”,似乎是很容易!一个写过半年程序的人,成为通常意义上的编程老师仅仅需要半个月的时间(我很长一段时间从事的工作就是培养编程老师)。但是能够成为我所理解的真正优秀的编程老师非常困难。两者的差别在于前者仅仅讲解技术;而对于后者,清楚的教授技术(注意是教授)都仅仅只是一个必需的基础。除此以外,真正优秀的老师还必须给学生带来自信心、学习的能力、编程以及工作的习惯和态度、对探索的热情、对成功的渴望······
至今为止,我还没有能力做到这些。我在班里和学生们说,我没有能力教给大家高薪就业的技巧,因为我还没有拿到理想中的高薪,我还在为生存不停的努力,学我是没有前途的。那么我能做什么呢?我能带领大家入门,扎扎实实的掌握基础知识,然后创造艰难的环境和尽可能复杂的任务,让每个学生在过程中体会、成长。
我大学毕业后的第一个项目是失败的,当时的我很痛苦,不过也因为这个项目的失败,使我意识到了文档的重要性。每一个程序员都或早或晚的经历着这样的蜕变。当我成为教师之后,我期望在我的教学中,能够早一天让我的学生体会到这个阶段。
我以前任职的培训机构,也有类似项目实训的过程。可惜在他们看来,失败总是不好的、恰巧学生刚开始特别不喜欢写文档,所以这些老师将详细设计文档准备好,分发下去,学生的项目开发工作成为“实现代码”的过程。为了确保项目完成,老师提前完成这个项目开发的所有代码,每个学生得到的任务只是各自完成这些代码的某个部分。如果某个学生没有完成任务,老师会把已经写好的代码参与到整个项目的合成。几个班过后没有人写那仅有的一点代码,看上去每个项目都是成功的,但是学生却什么都没有体会到。
所以,我关心的不是项目结果,我希望能够在完成项目的过程中为难我的学生。我认为如果希望让我的学生在今后的工作中少犯错误,最好的办法是让他们在学习期间尽可能的多犯错误,犯错带来的这种真切的体会才能提高学习的价值,帮助他们很快超越我所能够教授的知识。
我的孩子
儿子出生以后,我开始关心早期幼儿教育的知识、理念和机构。我发现0-2岁的早期教育有两种类型。一种是特长班,这种培训班发展方向单一,如音乐、美术、体育等。很多家长会发现,像这类的机构,接收了孩子后马上开始强化训练某一首歌或某一个舞蹈,一个月之后,参加培训的孩子就可以给家长一个精彩的汇报表演。这有点像是绝大多数的软件工程师培训,在最短的时间内强化训练某项技能。我否定了那些所谓的特长班。恰巧刚刚看到杂志上的一篇文章,一个美国的母亲将孩子的幼儿园告上了法院,理由是幼儿园教她的孩子“0是0”。这位母亲指出幼儿看到了这个圆圈会有一百种理解,而幼儿园过早的定义这是零,会剥夺孩子的想像力和创造力。由此可知,这种教学会让多少软件工程师的培训扼杀学生的想像力和创造力,只是在不断地将原本拥有梦想的人培养成写代码的“工匠”,还沾沾自喜地把自己标榜成优秀的编程教师。我听到IT职业教育的群体性悲鸣呀!
另一种是我所认同的。他们带领孩子一起玩耍,使孩子在玩耍中学会认知。其中有一个叫金宝贝的早教中心,上个周六他们约我去听讲座(哈哈,煽动力极强的周末招生咨询会!)。我了解到金宝贝的课程费用非常高,不是我所能够承受的。所以,决定让我父亲去试听。
父亲试听回来后,果然深受课程影响,立即对我儿子实施这种教学思想。我和我父亲向来争吵很多,时间久了,如果不是原则性的问题,我便不说话。但这次关心到孩子的教育,我认为是原则性问题,所以和父亲争论了很久,最后我提出了两个原则:
一、永远不要谈论教育。我认为只要去教育孩子,我们就是错误的,原因有两个:其一,我们希望孩子远远超过我们,我们又怎么能强加自己的观点给孩子。原因和我上一个部分的理由一样:我们没有资格教育!其二是,我们的教育思想太过理想主义。如同我们的父母,他们刻意的灌输给我们社会是完美的,我们应该是善良的、社会是没有欺骗的…… 但当我大学毕业后进入社会,我才发现社会不是没有欺骗的。我用了5-6年才慢慢的融入这个社会,这就是我们接受刻意的教育所造成的结果。
我们应该给孩子一个真实的社会,陪伴着他成长,以身作则。如果我们不喜欢音乐就不要强迫他喜欢;如果我们会懒惰,就不要强迫他必须时刻勤奋。所以永远不谈论教育,而是努力的提升自己。
二、不要使用语言,做老师后才这样真切的发现,语言是多么的苍白无力。我们过分的信赖自已语言的能力,去批评、指责、夸奖、激励、甚至去欺骗,其实孩子是在每个方面模仿你、学习你,按照你的一言一行去理解这个社会,语言只是辅助工具,所以,不要过分的信任自己的语言。
讨论到这,我发现我所分的两个部分是愚蠢的,他们本来就是一回事!按照我们曾经习惯的观点,无论是做学生的讲师还是做孩子的父亲,结果注定是失败的。可能很多的老师都认为讲台下面坐着的是学生,持有这种观点,作为一个人民教师,就已经有50%注定失败。
坐在讲台底下的人,你是天才,你是要不了多久就将超越我的人,是推动软件产业发展的重要力量!