如何从「程序员」成长为「培养者」

最近,看到越来越多当初一起写代码的程序员朋友,成为了 Team Lead,Tech Lead,Manager,Buddy,Sponsor,Coach,Trainer,Mentor。我一方面为他们感到骄傲,骄傲他们走出了舒适区,从一名单纯的程序员,走进了培养者的行列!另一方面也为他们感到担心,担心他们会和我刚开始那样 - 手足无措。

去年 6 月,在工作的第 8 个年头,我加入了思特沃克学院,从程序员变成了培训师。 我还清楚地记得那时我满脑子的困惑:

  • 讲一天课嗓子会不会哑啊?哑了第二天怎么办?
  • 学员觉得我的课很无趣怎么办?我会不会像高中的政治老师一样,成为催眠师?
  • 学员在课堂上提出刁钻的问题挑战我,我该如何应对?
  • ...

我还清楚地记得我做的第一次培训,与其说是培训,不如说是演讲。一个人干巴巴地讲了一天,学员在下面不断地点头,偶尔一下点过了碰到桌面才被惊醒,擦掉嘴角的口水继续点头。不过,从那次以后,我就再也不担心嗓子会哑了。 为了增强自信心,我参加了「视觉引导工作坊」,「发声训练」,「幽默训练营」。 甚至在做了 10 个月培训后,还自掏腰包参加最贵的 TTT 培训。

我看到我的程序员朋友们,在成为培养者后,同样感到迷茫和困惑,我想把我的一点心得分享给大家,期望能帮大家少走一些弯路。 本文不谈为什么要成为培养者,只谈培养者应该具备的心态培养者可以使用的技术和一些实用的技巧


成为培养者之后,在学员们一次一次的正向反馈中,我更加热爱这个角色。并逐渐找到了使命:

成为一名专业的培养者,灵活运用培训,咨询,教练,引导,辅导等技术,身体力行地,影响他人做出积极的改变!

如何解读呢? 首先,培训、咨询、教练等都是技术,作为一名培养者,不应该限定自己使用什么技术,就好比程序员不应该限定自己是「Java 程序员」,「Ruby 程序员」一样。只要是可以发展他人的技术,都应该为我所用。 其次,我认为培养者必须身体力行。作为培养者,如果我自己都没做过,就教给别人,那是不负责任;我做过了却不持续做,说明我不是真的认同。有特别信奉一句话:

The day you stop learning, the day you should stop training.

如果我自己都不学习不成长,怎么能要求别人学习成长呢? 再次,人只能自己改变,没有人可以改变别人,我只能改变自己,从而影响别人。 最后,积极的改变。不能仅仅限定为教技术,心态的变化,习惯的养成比学会具体的技术要有价值的多。

培养别人的过程就像是把水从一个瓶子倒入另一个瓶子。首先需要打开对方的瓶盖,打开瓶盖就是建立信任,安全感。让学员知道凭什么要跟我学,能学到什么,学了有什么用,我会如何教,他需要如何配合等等。 其次,如果直接对着对方瓶口就倒,大部分水会流出去,因为对方的瓶子有瓶颈,那就是学员过去的经历和经验。我们需要借助一些工具,才能把水又快又多地倒进对方的瓶子。 所以,我们要调整好自己的心态,运用发展他人的技术,才能影响他人做出积极的改变。

心态篇

不必等自己成为专家,才开始培养别人。

培养者应该放低自己,不是「教」什么,而是抱着一种「分享」的心态。大海之所以能纳百川,就是因为它把自己放得足够低。

如果总觉得问题在别人身上,就永远无法提高自己。

刚刚开始做培训时,有个问题让我夜不能寐:学员不跟我互动。我提出一个问题,没有人回答,我想请学员做个分享,没人愿意站起来。于是我抱怨学员不够积极主动。时间长了,我就发现,根本不可能遇到一班积极主动的学员。我应该从自己身上找原因,于是我带着这个问题请教一位前辈,他的答案是:从始至终都要建立相互信任,轻松的学习氛围。当我自己做出了改变后,再也没有冷过场。(详情见后面的技巧篇)

程序员善于发现问题,而培养者需要善于发现亮点。

比起批评、指出不足、提出建议,更加重要的是:赞美、指出亮点、鼓励保持优点。 一旦学员的积极变化得到鼓励,他就会更有提升自己的动力,也就自然而然会去关注自己需要提升的地方。

比起我说了什么,我做了什么更重要。

为了给学员传递可视化实践的价值,我会把可视化融入到整个培训中,而不是通过言语来告诉他们。

比起学员说了什么,他做了什么更重要。

我们需要根据学员的反馈优化教学方法,培养者需要培养一种「全景式沟通」的能力。大部分人在沟通时只关注信息的传递,而培养者需要时刻关注对方的状态,以及沟通双方的关系和情感。

技术篇

如果不知道知识对自己有什么用,很难提起学习的兴趣,也难有决心克服学习中遇到的困难。 知识是用进废退的,我们应该极其功利地学习,甚至忘了学习这件事,专注解决实际问题,学习只是解决问题过程中的一环。 培养者有一个很大的责任,是为学习赋予意义。 比如学习编程语言,并不是为了以后用它找工作,或者在脑子里留下印象,以便以后要用的时候能更快地捡起来。而是学会如何学习一门编程语言,只有这样,才能应对五花八门,层出不穷的语言。 培养者要会讲故事,描绘学成后的场景,激发学员的学习意愿。

在学习过程中: 运用教练技术,用提问的方式,让学生自己找到解决方案; 在进行团队讨论时,运用引导技术,帮助他们从同伴那里学习; 在学员遇到问题时,运用辅导技术,循循善诱,用提问的方式激发学生自己找到答案; 在学员掉坑里时,运用咨询技术,用丰富的经验帮学生少走弯路。

每一门技术都是一个很大的领域,但我们并不需要成为专家才能应用这些技术,推荐几本入门书:

技巧篇

如何建立信任?

  • 提前和学员单独认识
  • 每次互动时叫出学员的名字
  • 鼓励每一次提问和发言

如何邀请学员提问? 提问的时候尽量避免使用「问题」这个字眼,因为问题可以是 Problem,也可以是 Trouble。当这么说时,提问就是在给别人制造麻烦。我会说:「有没有什么疑惑或者任何想法跟大家分享一下?」 提问后,面带微笑环视全场,看到谁有意向,就给他一个鼓励的眼神。 一旦有人提问,先认同,消除提问者害怕自己问了一个傻问题的担心。 「这是一个很好的问题」,当这样说的时候,也为自己争取到了一点思考的时间。 回答结束后,确认一下:「有回答到你的问题吗?」 感谢对方的提问。

使用积极的词汇

  • 用「提升空间」代替「缺点」
  • 用「宵夜」代替「作业」
  • 用「困惑」代替「问题」

如果迫不得已必须要说消极的词汇,也尽量让它们从学员的口中说出来。比如:

最快完成的小组将获得一份神秘的奖励,没有在规定时间内完成的小组将接受严厉的~~~

配合一个邀请的手势,学员们一定会异口同声地说「惩罚」。然后我就说,是你们自己说的,不关我的事哦,甩锅成功。 这里我避免说出「失败」的小组和「惩罚」这两个不够积极的词汇。

只和过去的自己比较 学员过去的经历不同,理解能力不同,切忌拿他们互相比较,那样领先的学员会很爽,他甚至会鼓励我举行更多的竞赛游戏,但对于进度较慢的学员却是一次又一次的打击,只会让 TA 失去学习的乐趣。 只让学员和昨天的自己,上个星期的自己比较,肯定他们任何一点点的进步,他们就会越来越有信心,越来越享受学习。

偶尔使用同伴压力 有的学员可能会觉得自己是最优秀的,这时我也不需要告诉他什么,只需要将更优秀的学员可视化出来,让他感受到同伴压力。比如让他们分到一组做练习。

让每个学员都有挑战 有的学员确实能力较强,可以给他们设立更高的挑战,比如缩短他们做练习的时间,增加题目的难度,确保每个人都有收获。

上课时间到了,人没齐,怎么办? 通常的做法是等,但我要说这是大错特错的,因为这是在惩罚守规则的人。 对按时到位的人而言:既然准时到还要等,不如我下次也晚点到,避免浪费我的时间。 对迟到的人而言:迟到了没有惩罚,也没错过什么,下次还这么干。所以这么做的结果就是,越来越不齐。 我的做法是,准时开始,并且跟大家强调一下我们不能惩罚守规则的人。 通常开场都是破冰或自我介绍之类的,小部分人错过了也没大碍。如果课程开始的内容就非常重要,那我也会准时开始,讲点别的有价值的东西,作为对准时到的人的奖励。

用手做引导,整只手 在引导学员发言时,一定要用整只手,而不是手指,或手里握着的任何东西。这是对学员的尊重。

用词精准 避免说「可能」,「大概」之类的词语,听起来没有底气。 课间休息时,不要说我们大约休息 10 分钟。而是我们休息 X 分钟, AA 点 BB 分正式开始下一堂课

根据学生的能量安排教学活动 时刻关注学员的能量水平,调整课程的先后顺序,甚至同一门课,也可以用不同的形式。


以上是我的一点心得,如果对朋友有点帮助,我将感到十分开心~