如何与低年级学生共事
如何与低年级学生共事
原文:https://medium.com/hackernoon/how-to-work-with-juniors-25ffd76bd413
不要加入黑暗面

The one who really knows it all
当您达到足够好的专业水平时,是时候与初级开发人员面对面工作了。可能是第一次脖子疼。本文解释了如何避免这种痛苦并从这种协作中获益。
下面描述的方面适用于软件开发的任何领域,但是,由于作者是前端开发人员,本文包含一些与前端开发相关的示例。
为什么你应该关心低年级学生
如果你以前还没有和低年级学生一起并肩工作过,你可以认为这对你来说根本不是一项必要的技能。你可能会期望自己永远避免这种命运,独自一人或者和一个像你一样的合格专业人员团队呆在一起,他们不需要被指示。“为什么我要浪费时间教别人最简单的东西?”,你可以说。
指导初级开发人员真的不是我们习惯做的那种工作。此外,这是一项困难的工作。首先,没有人愿意把时间花在这上面。我们喜欢解决技术问题和创造新功能。我们喜欢写代码,看看它是如何工作的。这是我们选择职业的主要原因,而不是因为我们想教别人。
然而,试着记住你在这条路上的第一步。曾经你也是大三学生,很可能有人在指导你。现在你是你梦想成为的那个人了。所以,保持冷静,帮助他人实现同样的目标!
通过这样做,你不仅影响了后辈的未来,也影响了整个软件开发的未来。这个行业拥有优秀的专家,当你离开后,谁来维持它的稳定?对,现在大三的那些家伙。
这里要考虑的另一点是成为导师可以让你自己的技能变得更好。有时教某人某事是理解它的最好方法。尝试教学,你会发现它是如何让你模糊的事情变得清晰的。即使你认为你已经对一项技术或一种方法了如指掌,告诉别人也可能会让你知道你可能是错的。
最后,你不能永远避开低年级学生。这似乎是一个困难的问题,因为公司经常招聘他们。这有一些原因:
- 比较便宜。一家公司并不总是想在经验丰富的优秀专家身上花很多钱。
- 比较容易。一方面,一个好的有经验的专家并不总是想离开他们喜欢的工作。另一方面,有那么多聪明的初级开发人员可以雇佣。
公司会强迫你和初级开发人员打交道,教他们并让他们变得高效。原因是它提供了优势。它有助于企业节省大量资金,但这难道不是每个企业的主要目标吗?
所以,相信我,如果你还没有和大三学生一起工作,有一天你会的。你最好做好准备。
你应该如何关心低年级学生
当你和初级开发人员一起工作时,你通常希望发生的主要事情是:
- 大三学生为一个项目做一些有用的事情。
- 大三占用你的时间越少越好。
- 大三学生的技能一天比一天好。
这三点不仅对你很重要,对一个低年级学生也很重要。大三学生想要变得有价值和独立,他们不想浪费你的时间。他们肯定想提高自己的技能。嗯,不是每个人,但如果你不得不与不愿意的人打交道——这是一个非常不好的迹象。
现在让我们来看看我们怎样才能够到这些东西。
首先,如果一个新人从第一天起就对公司有益,那就更好了。当然,有些公司可以邀请不能马上开始工作的大三学生。这些公司教大三学生如何将他们的技能应用到不久的将来的工作中(他们免费甚至付钱给大三学生)。然而,这通常只是大公司的一个选择,而不是初创公司的资源,即熟练开发人员的金钱和时间,都非常有限。
所以,如果你要雇用一名初级员工,你需要找到他们已经很熟悉的东西。这将使他们受益,你至少可以肯定他们有能力学习一些东西。他们需要对你的技术栈有足够的了解,以便能够在不依赖其他开发者的情况下完成一些任务。这些任务通常并不困难,但仍然需要完成。
对于一个前端开发人员来说,HTML & CSS 的知识对于一个大三的人来说可能已经足够开始工作了。这些知识可以应用到标记和设计任务中,这些任务很容易与更难的 JavaScript 任务分离开来。此外,这些任务对用户界面非常重要,在每个项目中都有大量的任务。
节省你的时间呢?如果一个低年级学生自己做一部分工作,很明显你不会在他们身上花太多时间。当然,即使在这种情况下,你也要花一些时间来指导他们,因为即使是一个有能力的年轻人也会因为缺乏经验而遇到问题。但是不要担心这个。既然你把自己知道如何做好的工作委托给了一个晚辈,你就会避开常规。因此,这意味着你将腾出大量时间,将精力集中在更重要的事情上。
如果我们的愿望清单上没有第三点,一切听起来都很完美。你的项目不仅包括容易完成的任务,你还需要低年级学生在未来开始做这些困难的任务。为了达到这个目标,每当你看到一个低年级学生完成了前一个任务,而你没有任何问题和评论时,就增加任务的复杂性。展示您之前完成的类似任务的解决方案。试着解释一下怎么做。然后看一个学妹怎么解决。如果有一些问题,帮助他们:指导他们,和他们一起写一部分代码,回答他们的问题。您甚至可以自己编写整个代码,同时对整个过程进行注释。再者,一起完成任务。给他们一个类似的。重复这个计划,直到一个低年级学生做得非常好。往前走,再次增加复杂度。大三的技能会随着重复和迭代而提高。然后有一天大三就不再是大三了,完全自主了。
例如,我们可以委托前端初级开发人员按照以下顺序创建组件:
- 小型无状态组件(主要是 HTML & CSS:例如布局、页眉和页脚、按钮、输入、工具提示、信息卡片等。),
- 具有简单 JS 逻辑的组件(例如,下拉菜单、滑块和其他用户界面元素,当用户与它们交互时,它们的状态会改变)
- 具有强大 JS 逻辑的组件(例如,带有验证、错误处理、获取值、弹出窗口、自动完成、日期选择器等的表单。),
- 由其他组件组成的复合组件(例如,整个页面和包括几个彼此交互的组件的所有内容)。
在这个过程中,你可以添加与第三方库、API 集成、项目构建工具等相关的任务。最终我们会有一个相当强大的开发者,不是吗?
在这个过程中不要忘记指出下级的每一个错误。让他们知道哪里出了问题很重要,因为他们完全不知道,而唯一能把他们引向正确方向的人就是你。如果你不这样做,他们会继续犯错,他们不会介意犯这些错误。一开始就处理这种情况!不要害怕让自己看起来太残忍。一个大三学生将会非常感激,因为这不是残忍——这是帮助。
此外,如果一个低年级学生做得非常好,不要忘记在增加下一个任务的复杂性之前表扬他们。这对他们来说也很重要,因为他们会知道一切都很好,他们在通往职业的道路上又成功地迈出了一步。给他们一些动力。这对我们每个人都适用。
结论
指导初级开发人员的能力是一项非常有用的技能,因为初级开发人员通常会被公司聘用,而教授他们的责任正好落在更有技能的同事肩上。这个过程也可以让你更好地掌握知识,因为解释一些事情可以揭示许多你以前没有注意到的隐藏障碍。最终,你,指导开发者,甚至让世界变得更好,因为你帮助了人们,培养了新一代的开发者!
当你招聘初级员工时,确保他们已经掌握了一些可以应用于你的项目的基本技能。一开始,给他们一些简单的任务,对你来说可能是例行公事,但对他们来说却是一个挑战。然后一步一步增加任务的复杂度,回顾结果。让学妹注意自己的错误,万一成功完成任务别忘了表扬。



