前段时间,诸位牛人老大在微博上讨论自己的招聘要求时,常有在争论 “能力” 和 “基础知识” 哪个重要。这里写点自己的认知:长远来看,能力比基础知识更为重要。
能力指什么?个人觉得:
- 最基本的指“坚韧坚持、迎难而上”,这个基本每人都有,但强大与否差异很大;
- 高级点的指“创造力、想象力”,这个很多人缺乏或者不够强;
- 落实点的指“执行力”,这个依赖于最基本的能力。
上边只是在讲讲“大道理”而已,到底怎么能考察出这些能力呢?从工作中碰到问题情形分析下:
- 碰到专业领域棘手的问题
- 心态是什么?逃避还是很坚决的一定要搞定它?
- 怎么做?是凌乱的查找许多的可能出问题的地方;或是有针对性的根据现象推理原因。
- 问题解决后?是不再理会还是记录下,反思总结并查查有没相关问题。
- 对相关领域的触类旁通能力
- 接受并一定程度理解相关领域或新知识的速度,举一反三,联系应用的能力。
很多人说基础知识很重要,说没有基础,何谈能力。说前端部分,像js作用域,原型对象等语言层面的东西算是公认的基础,不懂确实说不过去。但是像jsonp、ajax、function currying等等只是一些“名词、概念”,其实并没有什么高深的知识的东西,可否也算作基础?这些东西大多只是在实际工作中常用而已,没有做什么实际相关工作的实习生之类的,没听过这些算是不合格么?另外就是css中的一些总结出来的名词,如BFC、IFC、边距塌陷、圣杯布局、负边距等等,也许多用来考察应聘者,好像知道这些名词就很牛逼、其原理什么的就都理解透彻了一样?个人觉得它就像搞设计一样的,只是个设计语言而已,是感性的东西,甚至是可以交给设计师去做的东西。
面试应该考察能力而不是记忆力,个人觉得能力量化考察也不难,做了哪些东西,对做过的东西有没有深入反思总结,有没有想到或创造出一些新东西。这样就把能力考察出来了:
- 做的东西多 – 有热情,感兴趣。
- 反思总结 – 不满足于现状,有探索能力。
- 推陈出新 – 有创造力,有执行力。
这其实算是个“纵深”发展的路子,但这正能体现能力;而那些只会泛泛而谈,似乎什么都懂,但什么都没深入的人,算是有能力么?纵深了,广度上就很难兼顾,所以不知道一些别人看来很常见的东西,又有什么奇怪,只是不需要用,不需要知道而已,对之有用的话,再去学习之后,相信对这些东西的理解深度也会远比那些泛泛而谈的人来得深入,就是因为有那种走纵深路线的思想,做了就要做的深入。