去年就想抽时间写这篇博客了,记得当时的初衷是:看了博客园中的几篇关于求职招聘方面的博文,也结合自身的工作感受,想谈下从我的角度对程序员面试HR应该考量和看重的地方;这两天正好有点儿时间,就把这篇博客给结束。


  无论是刚毕业,还是已经有几年工作经验的程序员,可能在面试时都不可避免的会被问到一些"纯技术"却没有什么技术含量的问题,比较常见的像:请写出多个表级联查询的SQL语句?如何实现XML文件的读写?如何用Ajax返回Json格式数据?...,这种类似的问题有很多,之所以说这些问题没有什么技术含量,是因为这些问题在网上都可以很快搜索到答案,更关键的是它们都只能算是实现某些功能的工具,就像上面提到的几个问题,它们的答案都比较固定,像一个模版,只要你会了,基本上都是一成不变的解决套路。当然,在这里,我不否认作为一个有经验或有能力的程序员,这些应该是烂熟于胸的基本技能;如果你这些都很熟练,就能仅凭这衡量你的能力吗?!就好像是一个修车的,扳手等工具都用的很娴熟,但却解决不了一个汽车的故障,所以,也回到我本文要谈的重点:有一成不变的技术,没有一成不变的思想


  从上面的论述来说,程序员面试HR你该看重什么?——不是跟上面提到的类似的tool skill(工具技能),而是学习、分析解决问题、快速适应环境和创新(打破常规)能力。这样简单一说,可能并不会让你感到信服,接下来,我会逐一说明!


  1.分析解决问题的能力,这是做程序员应该具备的基本能力。那这种能力有什么衡量之处呢?!在我们的周围会遇到一些程序员,因为自身经验缺乏及"惰性"因素的影响,遇到问题,都会习惯性的在第一时间或略作思考后就找他人帮忙解决;而有些人则会静下来去思考,更重要的是:他具有分析问题的能力,他能够顺藤摸瓜比较快的锁定问题源,定位的出现问题的原因。比如:对于一个ajax请求响应失败或错误的问题,前一种类型的程序员会感觉我的代码应该没问题,现在出了问题,只能找高人来帮忙了;后一种类型的程序员可能会先检查代码,再在可能会出现问题的代码处加上像alert类型的调试代码,以确定问题的原因!


  2.快速适应环境的能力(其中可能包括:团队合作、沟通能力),如果此能力比较弱,他会需要更长的时间去跟同事磨合,可能会倾向于'单打独斗'的做项目,将会影响团队项目开发的进度和质量!


  3.学习能力,这种能力在各种行业中都是非常重要,你当前所具有的能力都是有限的,通过学习才能得到提升;正是由于这种能力的个人差异,可能刚从学校毕业时能力不分上下的两个人,在工作一段时间后,能力会相差很大,待遇等方面更是不可同日而语。作为一个学习能力比较强的程序员,他(她)能够比较快的熟悉公司或其它开源的架构,对于新技术更是可以在几天内就有个比较全面的了解和掌握。


  4.创新(打破常规)能力,这种能力可以让你更优秀,也更容易在很多人当中脱颖而出。对于第三方等开源的框架或工具,普通的程序员可能只会去熟悉怎么使用,而有创新能力的程序员会尽可能的了解其内部实现,在实际使用中发现了不方便或其中有可以改进优化的地方,会努力的去完善它,让其能更好的满足当前的使用!


  以上,只是比较粗略的对这四种能力做了个"蜻蜓点水"的说明,用一句话概括本文的总体意思:面试程序员,HR请不要只关心他(她)的基本tool skill(工具技能)是否熟练,更应该关心和看重的是上面提到的四种能力——它决定了他(她)以后可以提升的潜力,也是为公司能真正带来价值的Good employee,简称:最有价值的员工(MVE)

posted on 2013-04-01 11:53  know-more  阅读(5194)  评论(11编辑  收藏  举报

湖北诚万兴科技-专业微信小程序开发!

微信小程序开发一物一码红包系统开发iPhone序列号查询