如何教学的光辉典范

我最近在摸索编程问题。 我不知道根本的问题,所以我拼凑了一个摇摇欲坠的解决方案,并将我的\ _(ツ)_ /¯发布到Basecamp。

然后,山姆·斯蒂芬森(Sam Stephenson)介入帮助。 我非常佩服和尊重Sam-他很有耐心,体贴且邪恶。

他对我的帖子做出了精心设计的回复,我认为这是我经历过的最好的教学时刻之一。

这是他的全部回应(下面讨论其为何如此出色):

我为什么认为这是一个很棒的教学岗位? 让我们分解一下…

s清晰周到

Sam的帖子非常清晰,以至于我阅读它时,我感到他正在亲自带我浏览。 这绝非偶然-他是一位出色的作家。

他是怎么做到的?

看一下帖子的结构。 他确定了根本原因,概述了广泛的概念解决方案,展示了具体的解决方案,最后进行了总结。 这是一个很好的模式。

作品的“设计”也很重要。 他使用简短的段落使文章可读。 他选择的字词简洁明了,避免了不必要的复杂性。 并且他有效地利用了上下文元素(引用文本,链接文本和图像)来帮助说明他的观点。

✂️简洁

Sam仅用213个字就清楚地说明了问题和可能的解决方案。 这并不容易–此类帖子的长度可能很容易是它的2-3倍。

他的职位没有任何脂肪。 它是彻底,直接的,并且不会在不必要的细节周围徘徊。 他说出自己的观点就走了。

这至关重要。 如果将其埋在绒毛中,很难解析出什么是重要的。 保持职位专注是有效的重要原因。

s这是定向的,不是直接的解决方案

教别人的好方法是指出正确的方向,但不要给他们确切的答案或代码片段。 让他们弄清楚细节,并从出现的任何问题中学习。

换句话说,不要是堆栈溢出。

在这种情况下,山姆给了我很多工作机会。 但这不是我可以提出的直接解决方案,这是一件好事。

🛣再加倍努力

Sam是Ruby / Rails专家,而不是Android开发人员。

然而,他投入了额外的时间和精力来建立Android开发环境并通过概念验证进行工作。 没有人要求他这样做-他只是做到了!

他本来可以很轻松地在一篇专栏文章中回答“您尝试过此事吗……”,而我们可能会对此反复来回十几次。

但是他没有。 他放慢了脚步,研究了解决方案(在一个陌生的开发环境中),并在一天后发表了全面的答复。

从长远来看,Sam的额外努力为我们节省了时间(无需来回讨论),使该应用程序更适合客户(我在几个小时内修复了该应用程序),并教会了我们所有新知识。