· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

观点:优秀的开发者并非金钱就能购买

发布时间:2006.07.05 10:21     来源:ZDNET    作者:Robert L. Bogue

 谈到快速开发,我发现,要想让传统的软件开发手段和快速的开发取得成功,其实都需要高度仰仗于熟练的开发人员。这也就难怪人们将寻找的重点放在那些最棒的开发人员身上,因为,具有同样经验的开发人员完成的工作也会有很大的差别。

  很多开发仍然按照所谓的“英雄模式”,也就是软件的诞生是由一位开发人员或者一个小组来完成的。显而易见,拥有优秀的开发人员是非常重要的,但问题是,你从哪里获得他们?

  根据我多年的招聘经验,我可以肯定地说,最好的开发人员是存在的,但找到他们是一个困难的过程,甚至你阅读完1千份简历,你才可能发现一两名最好的人才。

  所以说,为你的工程找到最有才能的开发者的最好方法应该是去培养现有的、有潜力的技术人员,而不是用金钱去购买他们。

  怎样的开发者才优秀?

  显然,这个问题比较的主观。快速开发与传统的开发技术手段都需要开发人员具备一个素质:思考。

  在认知技能的教育目标当中,知识是一个最基本的要素。这是一个数据或者信息回想或者识别的过程。放在开发当中,这就是对C#语言的认识,或者执行一个循环的语句纠正。

  在这之上便是整合和评估。整合是要有能力将不同的要素组合进一个全新的解决方案当中。评估是判断理念、途径或者要素的价值的一种能力。开发人员需要不断地将这种认知的能力应用到他们的工作当中去。

  对开发的理念思考越多,开发人员获得的好处就越多。

  在我们完全打消招聘到最好的开发人员的念头之前,让我们先通过检验技术技能来评估招聘流程。对于那些开发岗位的应聘人员,我一般会给他们一个语言开发测试。因为大部分的开发人员都需要和数据库打交道,我问他们一个简单的问题:给一个具有客户ID和名字的表单,一个有订单ID的命令头的表单,以及其他细节,你如何返回一个没有订单的客户列表?

  对我而言,如果回答不上这道问题就说明应聘者对SQL需要的逻辑知识缺乏完全的理解。这是一个良好的开发者应该具备的基本技能。

  另外一个我喜欢问的问题是:你最喜欢微软.NET的什么?

  显然,你可以说任何你喜欢的技术。这些答案可以反映开发人员的思维。如果一个开发人员说他喜欢IntelliSense(帮助你记住对象界面的视觉工作室),我就知道他喜欢将编程的工作交由编辑器来完成,这不是一个良好开发人员应该有的思维。

  我希望应聘者说他们喜欢文本编辑器以外的答案。我希望他们回答说:“有能力编写灵活的编码。”这些答案表明他们对自己做的工作具有很深的理解,而这对于他们成为一名最好的开发人员至关重要。

  同样,问“你最不喜欢的东西是什么?”也可以了解面试者的情况,如果有人说,他最不喜欢在C#当中忘记分号时,我就知道这位面试者对他的工作缺乏正确的思考。

  虽然诸如“你最喜欢/最不喜欢”这样的问题要好过考察SQL技能的问题,但这个手段仍然不是灵丹妙药。在我面试过的开发人员当中,有超过70%的开发人员回答的都是一些无关紧要的东西。另外有10%的人的答案表明他们的水平比较低。

  由此可见,招聘一名最好的开发人员是一件很困难的事情,我个人认为其难度要比培养一个优秀的开发人员要大很多。

  培养更好的开发人员

  在招聘过程中,很难发现开发人员的一些潜在的素质。例如有些开发人员非常热爱学习,也许他们还不懂关系数据库,但他们非常愿意学习。

  但是在大部分的公司里面,这种学习的热情被顺从的文化给压抑住了。“我们总是这么做”的理念将任何试图将事情做得更完美的努力给消灭。

  但是,你可以做一些事情来鼓励新的开发人员不被压制。

  指导给开发人员配备一名顾问。这个人应该是高级开发人员、开发领导,或者关心提高团队的架构师。这个人不应该是开发人员的直接上级主管或者经理。指导的交流内容应该围绕开发人员的期望展开,而不是企业想让开发人员做什么这些事情。

  检查代码。检查代码是提高开发人员水平的一个有效途径。大部分的公司在这方面做得不好。即使做了,也没有成为开发人员学习的一个机会,而往往成为打击开发人员的一个机会。检查代码,将它看成是培训开发人员的机会,而不是打击的机会。

  经验的提高。为那些想要提高的开发人员布置额外的任务。从长期来看,这可能是最难做的事情。

  利用竞争机制促进学习。除了布置额外工作的方法外,利用竞争机制促进开发人员尽可能地学习也是一个很好的途径。


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 程序员辅导课程学习指导 (06-14) · 程序员课程班次说明 (06-14)
· 借应用程序生命周期管理 提高工作效率 (06-09) · 红帽将停止红帽应用"RHAS"服务器开发 (06-05)
· 作为一个合格程序员每天该做的事 (05-31) · 教你如何成为一名Java初级程序员 (05-31)
· 程序员也能做大事 (05-22) · 百度技术副总裁畅谈工程师成长 (05-15)
· 【程序人生】JSP程序员成长之路 (05-10) · 一年Java之路的回顾,反思以及展望 (05-09)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:扭亏为盈 联想09年Q2翻番
·专题:Tech·Ed 2009微..
·直播:2009互联网大会..
·迅雷搜狐"互搏" 谁动了..
专题:诺基亚危局已现 或重蹈摩托覆辙
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
·专题:排排坐开商店 三..
商务演示需求分析 多媒体会议室必备投影
·VMware在京隆重举行2009..
·专题:笔记本频道10月热..
·专题:学生机市场 惠普 ..
专题:Tech.Ed 2009微软技术大会
·专题:2009 SYBASE 亚太..
·专题:微软新一代桌面操..
·专题:2009年第3届CSDN..