2009-06-21 82 views
2

我们有一些新的.net开发人员,我们会给他们一个ASP.NET任务,大概需要2周的时间,然后我们会逐个评估他们,并选择保留其中的一些。新鲜.NET开发人员评估表?

有没有人可以提出一些基本观点来考虑这次评估?如果您有任何参考,那也是受欢迎的。我们想以非常专业的方式做到这一点。

+1

在某种程度上取决于您的域。 ASP.NET非常大! – 2009-06-21 14:57:47

回答

4

像代码质量测量的东西是很困难的。这是主观的,可以是时间的函数。我不认为基于ASP.NET的应用程序会使这个问题变得更糟,因为核心语言不仅每隔几年会发生巨大变化,而且新技术(WPF/Silverlight/XAML,WCF,ASP.NET MVC)影响你应用程序的内容一直在出现。

如果您在某个特定点上寻找最佳实践,那可能会导致您抛出一个非常理想的候选人。我不太担心“我在代码中寻找什么?”更多关于“我在候选人中寻找什么?”

这是我倒是希望什么:

  • 他们是否有兴趣学习的?这是非常重要的一点。如果你向他们提供反馈,他们在听吗?他们是否积极寻求更好的方式来做事?如果下一个大的技术出来,我可以指望他们自己加强API吗?

  • 他们是否对软件开发充满热情?他们对发展感到兴奋吗?这是他们的核心能力,还是他们对薪水支票感到兴奋?他们是否在业余时间做些事情来保持技能的锐利?

  • 他们在没有监督的情况下工作良好吗?他们是否会让自己被小细节所阻挡,错过可交付成果,还是会主动寻求回归正轨?如果他们被赋予一项任务,我可以指望他们在没有微观管理的情况下完成任务吗?

如果我看代码,我的工作重点将是:

  • 是他们写功能正确的代码?他们的产量是否真的能够满足所有的业务需求?它是以稳定的方式这样做,还是会崩溃?

  • 他们的代码是否易于阅读和维护?这个应用程序是否适应不断变化的业务需求,或者如果没有对代码的深入了解,这些变化是不可能的?

  • 他们是否有效地使用易于获得的数据结构,还是他们重新发明了轮子?如果他们正在重新发明轮子,他们是否会在未来的交付成果中将我的反馈放在心上,他们是否会以合理的论据拒绝我的反馈,或者他们是否继续沿着同样的道路前进?

2

首先,您必须准确决定您要评估的内容,并相应地自定义您的任务和分级标准。一些想法:

  • 代码质量/清洁度。用户是否以有意义的方式彻底地评论他们的代码?他们的变量名称是否易于理解?他们的布局格式是否良好,易于遵循?
  • 知识库。这个人是否使用了一套精选的方法,或者他们是否在.NET编程的不同领域展示了他们如何使用数据库,清理他们的连接等方面的经验。
  • 批判性思维技巧。用户是否可以考虑可能的解决方案,即使有什么可以阻止最明显的答案?他们提出的解决方案有多独特 - 它是一种标准的封闭式解决方案,还是建立在以后添加或修改的目标上(即使它们没有专门负责这一点,它可以指示它始终是他们思想的一部分)。
  • 团队合作。你能否给这个人一个他们需要与他人互动的任务,或者你只是寻找他们“在他们自己的”技能水平上的一个例子?
  • 业务环境。他们是否会问关于它将用于什么的问题,并尝试根据最终用户的需求进行操作?
  • 在互联网上的其他解决方案的相似之处。虽然我希望他们自己想出一个解决方案,但在Google上搜索他们的代码段是否会返回完全匹配?你认为这是一个加号(他们没有浪费时间重新发明轮子)或一个减号(他们已经逐字复制大段,并且不能自己编写代码)。

虽然有少数是显而易见的好/坏分,其他都是由你 - 你希望有人谁认为客户需要什么,并相应地做出反应,或者你希望有人谁坚持一个规范?这个人是单独工作还是合作?

如果你可以给你在寻找什么资格,或什么点你可以考虑加一些迹象的话,我可以自定义我的回答可以帮助您选择符合你以后的一些标准。

0

除了已经说过的内容之外,您还应该了解他们的代码可维护性。这与代码的同行评审类似。

一些新的开发者认为自己对5层嵌套继承非常“聪明”,他们做得很好,干净的代码和一些文档。但没有人想调试和更新这些东西。