几年前,我有机会指导或与俄勒冈州波特兰市Epicodus计划的一些初级开发人员一起工作。 我爱它。
![](https://i-blog.csdnimg.cn/blog_migrate/f8ef96455c95b802e2e8872184bed603.png)
在实习期间,Amy和Kyle当时为我的初创公司LuckySteps构建了一个相当复杂的入职系统。 它涉及解决UX问题,在Ruby中生成服务器端PDF,客户端JavaScript,自定义Bootstrap的CSS以及使用各种Ruby on Rails核心组件。 看到他们面对并克服每个工程问题,这是鼓舞人心的。
我最喜欢的经历之一是回答出现的问题。 这些问题迫使我真正地理解和阐明特定组件是如何工作的(我以前可能还不太了解)。 例如:Ruby版本冲突导致我不得不了解Ruby版本管理在文件系统级别上的工作方式(事实证明它并不是很复杂,但是我还没有处理过)。
在过去的几周中,我一直在指导另一位初级开发人员,并且同样的乐趣又回来了。
大多数“指导”只是我的副项目“ 可通过Google Hangouts进行指导”中的结对编程,在这些指导课程中,我有一些技巧对我很有帮助 :
- 选择合适的项目和级别:为您的学生/学生选择合适的复杂性级别。 编程很复杂,需要多层理解。 在选择要配对的项目时,请考虑这些层和受训者的水平。
- 说明您在做什么(为什么做):如果以身作则,请在任何配对会话的前几分钟完全解释您在做什么以及为什么做。 更好的是:在指导/教学会议之前写这篇文章,然后将其发送给您的导师/学生。
- 设定时间限制:学习新事物需要专注和脑力。 设置涉及学习的会议的时限。 最后花一点时间清理工作空间并解释后续步骤。
- 给问题留出空间(并鼓励他们):这是我最喜欢的指导/教学部分。 安排50%的时间专门用于提问。 每次我进行指导/授课时,我都会被问到一些我从来没有完全考虑过的问题,这些问题迫使我解释一个概念(或者承认我的知识不足,以后我将继续研究答案)。
- 享受它:指导令每个人都满意。 对于受训者,这是一种提高您在行业中的技能和网络的方法。 对于导师而言,这是一种提高技能,对世界产生积极影响的方法,甚至可以增进您的情感健康。
就是这样。 通过结对编程指导软件开发人员的5条提示。 现在,出去指导吧!