微信小程序备忘录_如何指导:程序员备忘单

微信小程序备忘录

“您对他人的影响是最有价值的货币。” - 金凯瑞

到目前为止,在您的编程生涯中的某个时候,您可能已经被要求“指导”。 大多数程序员进入该领域来编写代码,并且常常在我们不了解它之前, 我们最终就扮演了领导角色,几乎就像是偶然地

我刚上任仅几个月,我就记得告诉老板我感觉自己在教很多东西。 我想说这是一种自然的教学倾向,但我认为不是那样。 由于技术领域的性质,教学和指导他人是我们工作的固有部分。 即使我们真的是该领域的新手。

大多数开发人员可能不会将教练视为“必备技能”。 但是确实有能力,耐心和愿意执教的程序员拥有尚未开发的超级大国。 如果您愿意利用这种超能力来帮助团队或公司中的其他人成长和发展,您将在人群中脱颖而出。 除了与一个更团结,更快乐的团队合作并提高自己的工作满意度之外,成为一名教练英雄意味着您更有可能因工作而获得认可,并有可能获得加薪(或两次!)。

甚至超级英雄也需要一个计划。 如果您要成为一名教练英雄,那么要做一些出色的事情就需要了解一些简单的知识。 我将为您提供一个计划-一份备忘单-包括教您的程序员同伴所需的一切。

(对?)

也许您有些怀疑,认为您对教练的了解不足。 教练必须在该领域工作多年,或者拥有多个学位,或者类似的东西。 如果您这样想,您并不孤单。 关于教练的一个令人惊讶的误解是,您需要首先了解某个主题的所有知识。 实际上,您没有。

是的-您确实正确地阅读了该内容。 我再说一遍,因为它值得重点强调:您不需要了解有关主题领域的所有知识即可进行辅导。 我希望我不会让您感到困惑,但是如果我这样做了,让我们看看教练的实际工作。

教练是只用一种武器武装的人: 问题

使用Socratic方法指导程序员


当我在技术指导公司Thinkful工作时,我首先发现了Socratic方法。 在他们的导师欢迎礼包中,他们谈论了一种叫做“苏格拉底方法”的东西。 我之前在编程讲座中听说过它,但是并没有真正理解它的含义或为什么与编程相关。

苏格拉底教学法是通过提问进行教学。 您不是直接回答问题,而是通过提出迫使他们自己思考问题的问题来指导个人。 采取自我克制的态度来阻止尝试提供建议,而是引导他人。 为了更好地理解苏格拉底方法,让我们看一个例子:

教练: “我一直在努力解决这个错误; 您介意帮我吗?”

教练: “当然,我们为什么不先告诉我您到目前为止已经尝试了什么?”

Coachee: “好吧,我一直在写这个将两个数字相乘的函数。”

教练: “对,还有什么?”

Coachee: “好吧,我希望它返回数字,但相反,它返回一个奇怪的字符串错误:NaN。”

教练 :“好吧,你知道NaN是什么吗?”

教练: “嗯,我不确定。”

教练: “好吧,好吧,如果我告诉你这是一个缩写词,并且其中一个单词是'数字',那会有所帮助吗?”

教练: “不是数字!”

教练: “对! 而且您知道为什么它会引发该错误吗?”

Coachee: “啊,第二个变量是一个字符串,而不是数字,所以当它们加在一起时,它返回NaN-这就是为什么它出错了!”

在示例中,您可以看到教练并没有为个人解决问题。 从某种程度上说,当我们介入解决问题时,从长远来看会产生一种依赖感。

教练的目标应该是解放我们的同事,使他们能够完成自己的工作,而不是让他们一直依靠我们来解决他们所有的问题。 成为一小会儿可能会感觉很好,但是当您有20名初级开发人员组成的团队用产品和Slack消息轰炸您时,您可能会后悔为帮助而进行的精心努力。

这种方法不仅是更好的教学方法; 我已经看到整个业务停滞不前,因为单个程序员为其他程序员“解决”了问题,而不是解放他们来解决自己的问题。 在编程中,此人为瓶颈称为布伦特(Brent) ,以著名小说《凤凰计划 》( The Phoenix Project )中的角色为名,他被要求为所有问题扑救。 布伦特(Brent)精疲力尽,心怀不满,变得不是一个好人。

要聪明-不要像布伦特。

两种辅导

我喜欢将教练分为两种类型:为发展而教练和为绩效教练。

发展教练是较慢的教练类型。 发展培训的重点是发展长期技能和人际关系,通常是一对一的情况。

但这并不总是必须那么正式。 您的指导越直观,您在日常工作中就会发现更多的机会。 在一些小时刻,例如步行去吃午餐,在代码审查期间或在会议之后,您可能有机会展示自己的指导肌肉。 这些情况的非正式性甚至可以对您有所帮助,因为您与之交谈的人可能很轻松,他们甚至都没有意识到您正在练习Jedi-mind的教练技巧。

第二种类型的教练,即绩效教练,是一时冲动的。 您正在一次性提供反馈。 这些方法在战略上没有那么战略性,在战术上则更具策略性,例如当船的舵可能稍微偏离航向时实时校正船舵。

这种类型的一个真实例子可能是同事在sprint演示发生后立即对其进行反馈。 或者它可能会提供有关他们如何处理对抗领域的反馈。

现在提供承诺的备忘单,这将帮助我们进行这两种类型的教练。

您的五个问题教练备忘单

好的,到目前为止,我已经将您带到了我的身边,但是现在我们将不得不为备忘单进行一些战略性借用。 借用艾萨克·牛顿的话,我们将不得不“站在巨人的肩膀上”。

站在巨人的肩膀上正是我们要做的。 谁的肩膀? 教练非凡,迈克尔·邦格·史丹尼尔(Michael Bungay Stanier)教练公司Box of Crayons的所有者。 斯坦尼尔 (Stanier)在他的《教练的习惯》一书中提出了七个战略性教练问题,我们可以使用这些问题来提高教练水平。 今天,我们只看前五个。

我在日常互动中以及与我所指导的开发人员进行的一对一交流中都使用了这些问题。

请记住,您不需要成为首席开发人员,经理或什至是主题专家即可使用这些问题。 辅导的最佳部分是任何人都可以使用这些问题。 一旦了解了它们,您就可以尝试并在如何应用它们方面发挥创意。

事不宜迟,让我们开始吧!

问题1:您在想什么?

这个问题可能是一对一会议的一个很好的开端。 询问您的想法会给您所指导的个人一个自由的元素,以表达他们的感受,这很重要。 这不是一个引人入胜的问题,它会引导他们寻求某个答案或将他们限制在一个主题区域内。

如果您不是一对一的教练,那么这个问题对于理解同事的挫败感还是有好处的。 当您知道使周围的人感到沮丧的问题时,您可以主动提供帮助。

这个问题可能会引起回应:“哦,男孩! 到目前为止,我经历了最糟糕的一周。 我已经获得了此功能,而且我不知道从哪里开始。 我只来过这里一周,他们希望这能在星期五之前完成。 真的开始让我担心!”

当您获得像本例这样的见解时,可以使用它们来推动其他同事解决您的问题。 例如,您可以让其他程序员之一知道新手正在挣扎,并查看他们是否有时间提供配对程序。

如果您不是首席开发人员,您可能会想:“但这不是我的工作,对吗?” 也许看起来确实有点努力。 而且,老实说,这种想法在技术上是正确的。 绝对是额外的工作。 但是,我们不只是在做自己的工作—我们是在为团队和同事做到最好。

超越自我的工作是使我们受到关注和奖励的东西,通过完成工作而获得的额外好处。

问题2:还有什么?

有时候,您在想什么还不够。 首先想到的可能不是您同事的根本问题。 在这里,您可以使用Stanier所说的AWE-一些问题, 还有什么? 这种方法可以防止我们的膝跳React跳入并尝试解决任何即时响应。

我们必须记住,教练的全部目的就是做到苏格拉底和驯服我们的建议怪兽,而不是选择指导宗教裁判。

您可以多次提出该问题,以更深入地了解某人的想法和疑虑。 当您问某人在想什么时,他们可能会说:“我只是想知道我是要使用Factory模式还是Singleton模式实现此模块。” 在这一点上,您可能很想跳进去,并将所有设计模式知识下载到这个毫无戒心的同事的大脑中。

但是,拖延询问,还有其他什么可以导致更多的见识,并希望他们自己得出结论。 他们可能会回答:“嗯,实际上我很困惑,主要是因为我注意到Sarah非常喜欢Singleton模式,而我知道Sam并不喜欢; 也许有必要讨论决定一种使我们的代码更加一致的模式的利弊。”

您可以在此处看到,通过给某人呼吸的空间,他们可以解决自己的问题。

教练1 –问题0。

问题3:对您来说真正的挑战是什么?

至此,您可能已经挖得有些深了,现在您陷入了您的同事现在已经向您坦白的问题。 尽管疗法可以使人平静,但我们作为教练的作用是帮助引导人们寻求解决方案,而不是鼓励关于可能脾气暴躁的同事的闲话。 请考虑以下情形:

“好吧,我一直难以与我们的产品负责人Craig通话,他写的票非常含糊-我是一个详细信息的人,我只需要更多详细信息。”

…还有什么?

“而且我不确定我是否在这支球队中的角色是否正确; 也许我应该考虑移师到更多细节的团队。”

…还有什么?

“嗯,上下班真是太痛苦了。 我每天要花近两个小时才能上班!”

好的-到这一点,我们可能会陷入困境,可能是生存危机,而某些事情最终超出了我们作为程序员的职权范围。 为了重回正轨,我们可以通过问这里有什么问题来巧妙地推动对话

通过提出这个问题,我们鼓励该人指出特定区域。 他们可能正在努力从团队中的某人那里获得适当水平的指导。 有了这些知识,我们便可以鼓励他们思考解决问题的不同方法。

在“以及其他什么”问题上添加“为您”会阻止焦点转移到我们无法控制的事物上,例如外部事件和人员。 作为教练,我们只能教练面对面的人,但不幸的是,公司中的每个人都不可以。

问题4:您想要什么?

一个看似简单的问题:您想要什么? 作为教练,我们希望赋予同事做出改变的权力-在比赛中发挥作用,而不是在场边评判。 这就是为什么它可以帮助您提出以下问题:您想要什么? 或类似的替代方法: 您要达到什么目标?

如果我们在培训中遇到编程问题,有时可以退后一步并确保我们牢记目标。 特别是对于那些刚接触编程的人,当我们有很多代码功能可以一起工作时,很容易就无法了解整体情况和我们正在做的事情。 通过询问您要实现什么目标 ,我们可以帮助指导程序员更多地考虑最终结果,并暂时离开细节。

问题5:如何提供帮助?

最后,发出邀请帮助很重要。 毕竟,到目前为止,我们只是在挖掘细节。 谨提醒他们,如有必要,我们可以提供帮助。 可能只是通过问这个问题,我们正在与之交谈的人就回答:“不,很好-我想再尝试一些尝试修复该错误的方法。 但是,如果我仍然被困住,我会给你发消息吗?”

有时只需要提供支持就可以提醒我们的同事我们需要他们的帮助。 这是一个很小的手势,但通常会走很长一段路。

选择当教练

有了这些问题作为指导,它应该会让您有信心将自己视为教练-如果您只是选择成为自己,那就是您。 教练是一项持续不断的技能。 这是我们每天可以练习直到养成习惯的一种习惯。 我们只需要驯服我们提出建议的愿望,而只要求多一点。

最后,不要忘了教练最解放的事情就是您不需要了解一切。 有时,所有这些都需要某人大声思考,他们会找到自己的解决方案。 所以走吧; 您已经掌握了一切。

教练,再见。

翻译自: https://www.javacodegeeks.com/2018/02/coach-programmers-cheat-sheet.html

微信小程序备忘录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值