我有一位具有八年.NET经验的高级开发人员,明天开始从事11,000行代码的应用程序的工作。在团队中,有我自己和另一个程序员。我们每个人都有大约三年的经验。
这是我作为经理的第一个项目(我也是该项目的开发人员),这是我第一次必须向某人介绍已经建立的代码库。显然,我将遍历每个模块,部署过程等,并将它们交给源代码控制存储库,文档(不是最好的)等位置。
在他们准备开始编写新功能和修复错误之前,我应该给他们多长时间?
我有一位具有八年.NET经验的高级开发人员,明天开始从事11,000行代码的应用程序的工作。在团队中,有我自己和另一个程序员。我们每个人都有大约三年的经验。
这是我作为经理的第一个项目(我也是该项目的开发人员),这是我第一次必须向某人介绍已经建立的代码库。显然,我将遍历每个模块,部署过程等,并将它们交给源代码控制存储库,文档(不是最好的)等位置。
在他们准备开始编写新功能和修复错误之前,我应该给他们多长时间?
Answers:
我会在第一天分配几个低优先级的错误,这样就不会有人尖叫,如果他们没有马上做的话,就给新开发者一些时间来熟悉代码库。
最关键的事情是在头几周内对他的所有工作进行代码审查。您不想发现这家伙走错了方向,或者没有遵循几个月的公司编码标准。最好确保他从一开始就知道期望什么,并且代码审查可以确保做到这一点。当然,我认为代码审查对所有员工都很好(部署之前我们会审查我们100%的代码),但是对于新员工来说,代码审查至关重要,应该亲自进行,以便您可以回答问题并将其转给他们可能没有的文档见过,如果需要的话。
您不想要一个新来的家伙,并且使用与其他人不同的风格。人们经常尝试继续使用以前工作的代码风格,即使它与新工作场所使用的代码风格冲突,这也会给其他开发人员造成混乱和烦恼。
即使对于有经验的开发人员,我也注意到的一件事是,其中有些不如他们在面试中所表现的那样好,代码审查可以帮助您快速找到问题,因此可以对其进行修复。这也将鼓励他们切实完成工作,我看到未经代码审查的新员工在不向他人展示自己所做的事情的情况下退出了一个项目,然后在截止日期前一周离开,因为他们知道自己不会受到打击他们不知所措,实际上还没有完成项目的任何部分。最好及早检查并经常与新手检查,直到您确定他们正在锻炼之前。
同样,对新手感到震惊的是您的旧项目的状态。它不是按照他认为的方式设计的。期待这一点,听听他的声音,不要自动忽略他所说的一切。特别是,此人似乎比您或其他开发人员有更多的经验,他可能会看到您未曾考虑的事情。但是,作为经理,您必须在当前工作量和截止日期之间平衡提议的更改。你们可能都想花一些时间来学习如何重构现有代码,并花一些时间来估计时间,以做到这一点,尤其是在新手有一些合理的顾虑的情况下。您可能无法支持完全重写(许多新来的人认为我们应该重新开始并做得更好),
如果您有一段时间不能期望他全力以赴(并完全按照客户的时间来计算),那么也可能是他可以开始一些您想做但还没有做的重构工作的时候了。没有时间做。有时,使用新员工培训期来解决项目计划中未涉及的某些问题是一件好事。他们可以学习代码库,并且如果他们想要执行的操作不起作用,则说明您尚未影响现有的计划,因为您尚未将它们纳入现有的计划中。而且,如果它确实可以工作,那么您可能会大获成功,使将来的维护变得更容易,安全性得到改善或解决任何问题。
立即在小任务上启动它们-不需要大的事情。
随着他们变得更加自信和熟悉代码库,将他们逐步完成越来越大的任务。发生的速度主要取决于它们。
8年的经验。我只想把他扔进去。他应该会游泳。正如其他人指出的那样,从简单的小任务开始。这将使他在代码签入/签出过程以及您所拥有的任何其他开发过程中感到困惑。
我已经换过很多次工作,并且在第一周内就为所有工作做出了贡献。最艰难的工作使我花了一个星期的时间来编译代码(至少100K +行代码)。该项目的完整构建历时8小时。
第一周我工作了大约80个小时(项目严重落后)。
对于一个很小的应用程序和一个经验丰富的开发人员,我认为一天的时间足以解决基本的错误。涉及错误或小的功能将近一周(一旦它们在问题域和体系结构上更清楚了)。