一名实习生不久将和我们一起工作几个月,然后才能去上大学。实习生毕业于高中,有一定的编程经验,但从未上过大学程度的计算机科学课程,也从未从事过编程工作。此外,实习生从来没有使用99 %的技术在我们的商店。作为团队领导/经理,我知道团队需要完成上百个不同的编程任务。我不想让实习生负担过重,但我还是希望实习生有用。
从有类似经验的人那里你是如何管理实习生的:
请回答问题,并提到你认为什么对1-4最有效.
我忘了什么吗?
发布于 2011-06-17 18:31:14
你是微观管理实习生还是你很随和?
我们从事的项目压力相当大,所以我们想让实习生知道这一点,但我们不想给他们太多的压力。所以我们很容易相处。
我们分配的任务需要完成,但优先级较低。这意味着他们所做的事情“偏离了关键的道路”。
话虽如此,我在第一段时间里确实花了相当多的时间和实习生在一起。这到底是“微观管理”,还是“提速”,很难判断。
你是解释了代码库的一部分,还是让实习生自己搞清楚了?
我们开始的地方是自动化一些测试。代码库是Qt,但是我们使用的库可以封装在命令行工具中。我们已经做了一些工作,但是还需要几个部分(API的不同部分),所以我们带实习生浏览了现有的部分,并展示了新API需要发生的事情。
您是让实习生访问源代码管理,还是在检查他们之后手动提交他们的更改?
在最初的几个星期里,我们让他们在源代码管理之外工作,但是过了一段时间,结果证明是双重工作,所以我们给了他们直接访问权。当然,他们搞砸了一两次,但没有更多(或更少)!而不是主要的开发团队。
你执行编码标准/规则了吗?
一定。这是一个真正的项目。我们有一些工具可以很容易地遵守标准的某些部分,但其他的部分只是需要学习。
我忘了什么吗?
不怎么有意思。我要补充的是,你应该把实习生当作专业人士来对待。也许还不是专业的开发人员,而是专业的开发人员。这意味着信任他们,让他们意识到你是在信任他们。如果他们犯了错误,那很好;如果他们背叛(或滥用)信任,那就是一个问题。
一旦你意识到问题,就让他们意识到这些问题。再一次,专业的。
发布于 2011-06-17 18:45:32
嗯,我不是雇主,而是实习生,所以我想我可以从我的角度给你一些东西。我刚读完大二,在一家供应公司做网络开发的团队里获得了实习机会(比如管理数据库和其他有趣的东西)。我不知道你的实习生有多有经验,但我有几年的面向对象编程类,所以我的基本知识有所下降。有趣的是,我几乎没有服务器端编程经验,这就是这个团队所做的。我得学很多新概念。当我被录用时,他们甚至说他们知道我没有这方面的经验,所以这将是一次学习的经历。
这是一个非常以研究为导向的实习,我认为大多数编程实习是因为学生可能没有任何技术方面的经验,他们被雇佣。他们鼓励我使用谷歌和StackExchange网站时,我遇到障碍,或只是想了解一些新的东西。话虽如此,我不认为你应该对你的实习生进行微观管理,因为如果他或她不想学习他们所能掌握的所有技术,那么他们就不应该在那里工作。我认为,只要实习生或员工表现出学习和发展的愿望和意愿,编程实习就应该相当容易。
尽管我已经有了.NET框架方面的经验,但在第一周,我的导师带我去了培训室,我们尽可能多地进行了培训。我们从最基本的开始,当我们谈到一些我已经知道或对之感到舒服的事情时,我会让他知道。不要误解我的意思,我们没有浪费时间去检查每一件小事,但重要的是要在某些事情上重新振作一下。
至于你对源代码管理的问题,可能取决于你,或者你对实习生的信任程度。就我个人而言,我可以访问所有的公司开发数据库,以及我的团队/导师可以访问的大部分东西。但我认为,在我进行任何重大更改之前,我必须让他们这样做,所以最好是在检查他们之后提交他们的更改。
编程并不是要记住语法和能够产生大量的代码,我认为这是许多像我这样的初学者正在学习的东西。有一些事情,我的导师告诉我,他特别说,这是他喜欢这样做,并有其他方法来做。他说,做某事有多种方法,但也有错误的做法。因此,我认为让实习生理解代码背后的概念是很重要的,但也要确保他们知道你的方式并不是唯一的方法。
我只在实习的第三个星期,到目前为止,这是一次很棒的经历。我希望这能帮点忙。
发布于 2011-06-17 18:43:41
就像你管理任何人一样:
实习生和其他员工没有绝对的区别。你应该像对待其他员工一样,把他们当作一个有自己能力和性格的人对待。
至于版本控制:让他们提交到自己的分支(Es)。对于分布式系统(如git),每个人可能都应该提交到一个分支。
https://softwareengineering.stackexchange.com/questions/84939
复制相似问题