对指导心态的探讨
在研究指导心态之前,先弄明白什么是心态,可能会很有帮助。
根据《牛津英语词典》,Mindset是指“一套既定的态度,尤指被视为某个特定群体的社会或文化价值观的典型态度”。
一个人参与某项活动,可能有自己的动机,而心态则要求这种动机与群体的价值观保持一致。
对 Exercism 导师来说,这意味着在指导过程中遵循 Exercism 社区的精神。
回顾 关于页面所表达的 Exercism 宗旨,会很有帮助。 整页内容都值得阅读和思考,尤其是:
学员的精神状态乍看之下可能让人不太想接近。
有些学员的评论里可能带着自我贬低的话。 他们可能会说“我不太聪明”“我看不懂”或者“我不太擅长这个”之类的话。 按照 Exercism 强调同理心和关怀的精神,你可能会想直接回应这些话。 不过,作为导师,说出你对他们提交的解答中具体喜欢的地方,可能比给他们一些含糊的安慰更有效。 如果你实在找不到可以真心称赞他们提交的解答的地方,可以祝贺他们通过了测试;如果他们没通过测试,至少可以认可他们的努力。
有些学员的开场评论可能显得有点负面。 他们可能会说“为什么非要做某某事?”之类的话。 这给人的感觉可能像是在抱怨:“为什么非要我吃豌豆?我讨厌豌豆!” 你可能会因为对方一开始就显得有对抗性,而不太想指导他。 但看上去像顶撞或抱怨的话,可能只是一个简单的提问,哪怕问得有点生硬。
很多学员的母语不是英语。 这也是学员最初的话看起来不那么友好,而实际上并非如此的另一个原因。
最好忽略他们的话可能勾起的情绪,直接回答问题。
这两个例子只是说明,导师在回应学员时,态度不应受自己所感受到的学员精神状态影响。
导师的精神可能建立在骄傲之上,也可能建立在谦逊之上。 有的导师可能觉得自己有资格做指导,因为自己聪明,或者有一定经验。 他们可能觉得自己应该做指导,因为自己比别人懂得多。 出于骄傲的导师也可能耐心、礼貌地指导学员,只不过这更多是出于大度,而不是同理心。
导师也可能怀着谦逊的精神。 他们可能清楚地记得自己当初学编程时遇到过的困难。 他们知道自己并非什么都懂,但懂一些,也愿意分享自己辛苦学来的知识。 出于谦逊的导师也是人,遇到一场棘手的指导会话时,也可能忍不住用简短生硬或争辩的语气回应。 即使是出于最好善意的人,在自己心情糟糕时也需要保持警觉。
还有第三种精神状态,它是骄傲的变体,那就是缺乏安全感。 导师可能对自己的声誉感到不安,于是从学员那里寻求认可来作为补偿。 他们可能用海量资料和引用淹没学员,以显示自己见多识广。 学员也许能从这样一次资料倾泻中获得有用的信息,但这对缺乏安全感的导师来说只是次要目标。 主要目标是展示导师懂得多。 尽管动机不同,缺乏安全感的导师也可能在一定程度上实现 Exercism 心态的目标,只要没有把学员淹没在细枝末节里。
事实正确当然重要,也有它的位置。 例如,在应当使用公制单位的地方,就不该用英制单位,这一点很重要。 否则,价值 3.27 亿美元的火星气候探测者号就可能坠毁。 当然,专业使用一门语言的人,应当把正确性当作一项关键要求。
不过,对正在学习一门语言的人来说,要求就有些不同了。 首先,我们不想让人失去继续学习这门语言的信心。 有些导师,尤其是那些怀着骄傲精神的导师,可能会因为让某人意识到自己也许不适合某门语言,或者意识到现在还不是学这门语言的合适阶段,而产生一种成就感。 虽然在某些工作环境里,这样的结果也许可以接受,但它不属于 Exercism 心态所追求的结果。
有一个例外,就是正在学习第一门编程语言的人。 Exercism 面向的是已经会编程、想再学一门语言或者想提升现有技能的人。 即将推出的 Learn to Code 平台则会面向刚刚开始学习编程的人。
想接受指导的人,往往已经学了几周或几个月的某门编程语言,想在自己已掌握的基础之上有所提高。 这个人可能有,也可能没有其他语言的经验。 如果这是他们的第一门语言,但他们已经掌握了基本的关键字和概念,那么接受指导很可能对他们有帮助。 他们可能需要更多耐心和更详细的讲解,而导师在最初接受指导请求时可能没有意识到这一点。 不过,一旦接下了这次指导,Exercism 心态要求你做到:要么尽可能给予支持和鼓励,哪怕需要多花些力气;要么礼貌地建议结束这次指导会话,让学员重新提交,另找一位导师。
当然,学员可能自己决定不再继续学这门语言。 大多数人可能不会告诉我们,只是不再做这门语言的练习了。 不过,在一次指导会话的过程中,我们应该始终如一地给予支持和鼓励。 但支持鼓励的方式有很多种。 有一种方式我们并不想用,那就是有毒的正能量。 比如,当对方怎么都理解不了某个东西时,如果我们还一个劲地鼓励“我知道你一定能想出来”,这不仅帮不上什么忙,还可能让人觉得自己“不如别人”。 与其只是用听起来像“拜托!你还没搞懂吗?”这样的鼓励去催他们,不如不断换种说法解释、再举些其他例子,这可能更有帮助。
学员最终拿出的提交的解答,哪怕和导师来回讨论了好几轮,也可能不是性能最好的,或者没有完全符合编码规范。 逼着学员追求完美的提交的解答,就是那种并不符合 Exercism 精神的绝对事实正确。 这份提交的解答可能已经足够好了,这时候技术的打磨可以留到下一次指导会话。
导师可能不太确定自己有哪些责任。 责任不多,也很简单:提供帮助,给予鼓励。 如果导师在某个时刻觉得自己两样都做不到,那最好礼貌地建议结束这次指导会话,让学员重新提交,另找一位导师。 最好由导师邀请学员来结束讨论;但如果导师觉得需要自己来结束,那么礼貌的做法是留下最后一条评论,说明原因。 虽然你可能会忍不住去关注学员身上那些让这次会话不够理想的缺点,但更符合 Exercism 精神的做法是,导师不要把责任归咎于学员。
要体现 Exercism 的合作精神,最好的方式不是直接把练习的(更好的)提交的解答给出去,而是描述可以采用的其他思路,把实现这些建议的代码留给学员自己来写。 以防学员卡住,这份提交的解答可以选择性地提供给他们。 它可以是可折叠的详情区域里的示例代码片段,也可以是链接到已发布的提交的解答。 是否展开这个区域、是否点击链接,由学员自己决定。
学员可能会表示自己更中意某个建议,但会说以后会记着它。 导师可以建议学员再提交一版基于该建议的解答,但学员也可能决定不修改自己原来的提交的解答,直接结束讨论。 虽然一个已经发布、标注为由你指导的提交的解答,在你看来本可以更好,这可能会让你有点尴尬,但如果学员似乎不太愿意,那么不逼着他去实现这个建议,才符合合作的精神。
合作精神的另一种体现,是导师向学员学习。 在会话过程中,学员可能会提到一些导师不知道的东西。 导师并不需要摆出一副“无所不知”的样子。 导师完全可以坦然说出,学员提到的东西自己不知道,或者从没想过。 让学员知道他们教会了你一些东西,可能是你能给他们的最大鼓舞之一。 这正是合作学习过程的一部分。