警醒自己(转载)
作者:秋了秋 发表时间:2015年12月08日
最近开始物色新公司,群里来了个招人的,说2.5万招高手。在众人的怂恿下,发了简历。但结果是不如意的,经过他们一小时的评测,他们认为我的水平不过8k-10k,税前。我吐血了,还远低于我原来的呢,更何况那公司是北京的,我是在深圳,就算只在原来工资上乘以物价指数比也不这样算吧。事后静下心来想想,问题出在哪里。毕竟我也招人招了差不多一年时间。我也体谅招人的难处。
从招聘的角度来看,小公司很少会求助招聘网站。天真的老板以为在官网放个5K以上的工资,就有大量简历涌来了。当然人事肯定不会这样认为,但人事部长与老板通常关系非常亲密,不是亲戚情人与通过拍马屁上来的,很少有正常的。人事部长基本上不会告诉老板真相的,因为这样等同于嘲笑老板。另,小公司也不会5块一份去买简历(招聘网站就是这么赚钱的),基本上员工自己找人,或人事部新丁去招。因此小公司同事间的关系很微妙的,这个是他的朋友,那个是他的亲戚,这个是他QQ群的,那个是他朋友的朋友介绍的。如果能力强,是没有所谓的。
这些人是怎么招进来的呢?QQ群是最大途径。如果那个人也是搞那门语言的,他若在某一QQ群混迹三四个月,这时他肯定会清楚群里那个是他需要的。因为QQ群都是水,特别是技术群,N多技术宅,N多骚闷鬼,聚在一起就天天水,发萌图X图,不蹲几个月是察看不出技术水平的。而绝大多数的人事都是打一炮就跑的类型,想方设法骗进群,发一张有招聘讯息的图片就没影了。他那个QQ号估计也专门用于招人,里面上百个群,每天以十个的速度递增。这些招聘消息大体分为两类,一种没有登明工资,估计那些公司也不好意思说出价格。我就听说个,有这种公司专门招应届生,两三千,不会再高了,那些老板完全把干IT的等同于IT民工。更何况,前端在中国的地位一向这么微妙,那价线就更加……另一种是登有价格,而且是很高的那种,比如我遇到的那种,因为他们基本不会用这样的价线招你。先骗你来面试到时再压价,这种事我在群时常听到,特别是女的。就算你不来面试,也没关系,只要把简历骗到手就行了。一来可以向上级交差,说明他的确干活了,二来可以卖钱。信息时代,任何讯息都可以卖钱,无论真的还是假的。我就有一次被小窗。XX:“你经常招人吧?” 我:“EN” XX:“你一定有许多简历吧” 我:“EN,可以这么说” XX:“可以卖几份简历给我吗” 我:“为什么” XX:“一份1QB” 我:“……” XX:“一份2QB” 当然我是不会这样干。我收到的简历大多数是信任我的人发给我的,我又不是银行或保险那些贱货!这个人收到简历也肯定不会给我QB,他的心态就是,把简历骗到手再说。
就算收到简历,那人也如约面试,但要评价一个人的能力也很难。因此我以前招人时要求要有博客与作品。即使你有博客与作品,他们也会判定出错,比如我的博客拥有2年历史每天订阅量上500浏览量近万,作品也NB无比。想必国内没有几人能写选择器吧,没有几人能写框架(不是2,3K左右的小库)。笔试与面试也不能正确考察人的水平,笔试题可能太难太偏,面试对死宅来说可能适得其反。因此我看过你作品博客,笔试能做对一半就算你通过了。反正有试用期。就看公司重不重视试用了。一个人菜点没问题,能在试用期迅速成长,能应付工作就行了。
再回过头看前端。现在搞前端的五花八门,有计算机专业的,更多的是非科班的,有原来是搞java,C#的,也有从玩CSS进化过来的。总之,在中小公司,只要前端缺人,看后端那个能力够弱的就拉过来帮忙就是。现在jQuery的流行,让前端的门槛更低了。一大堆连parentNode, defaultView, offsetParent都不知所物的人学jQuery两个星期就开始搞插件了。一链到底的代码与冗长不知节省CPU性能的CSS表达式满眼到是,全是这些write-only的玩艺儿,如果需求一改,全部死!前端的价值并不体现在你会不会jQuery上。许多人用会不会OO来评价技术水平,javascript困在资源侷促的浏览器上,注定不能创建过多的对象,而javascript的“类”就是一个对象,因此jQuery基本没几个类。没有了类,怎么组织代码呢?许多人不知道为什么“面向对象”叫做“面向对象”,而不是“面向类”,明白这点的人,水平就不简单了。JS是“由对象创建对象,由对象定义对象”,而不是“由类创建对象,由类型定义对象”。
因此JS是提供了足够设施来构建复杂的体统。这时就需要JSer有点设计模式的知识储备了。算法?就连百分之九十的后端也碰不到。javascript难在DOM的操作上。对DOM细节的把握才体现一个前端的水平。比如获取一个元素的父节点,IE可以parentElement,而大多数标准浏览器只能parentNode。各个浏览器还存在大量BUG,而不仅仅是差异性,这就算九千行的jQuery 1.7也无法规避它们。正如打仗,为什么现在的武器如此强悍了,还天天要求军人做各种魔鬼级的极限训练,因为你总有肉博的时候。大多数jQueryer的生存能力就很弱。加之,许多大公司都不用jQuery,他们或有自己的框架,或因访问量非常高,非常注重性能,只能用原生JS。强大的前端就是用来处理这样的问题的。一个初级JSer想了几天google了几天寻不到答案的难题,让万元级的前端几分种就找到解决方案或断定是不可解,比如像“当我点击这个按钮,浏览器窗口就像雾一样隐去”的SB需求。
如果了解过Facebook三剑客——Quickling、PageCache、BigPipe,你就感慨技术的差距了。有了它们,facebook的前端都能写出高性能高吞吐量的javascript页面。facebook里面大多数页面是不会跳转。换言之,你以为跳转了页面,其实是没有,如果是新式浏览器,支持 history.replaceState,history.pushState,更能做到地址栏变了页面没跳转的效果。最大地利用缓存,历史前进后退管理,内容并行加载管理,内容基本由JS动态生成……这些不是会几个jQuery API能做到的。对细节的把控与在思想的高屋筑瓴,是每个框架设计者的重要素质。你没有写类库与框架,光是靠工龄与会写个拖动几个零散组件是完全无法获取这样的知识的,也到不了那个层次。越大的公司,分工就越细,页面制作与javascript是分开的。那你认为前端是页面仔还是JSer,这个答案也决定了你的水平。现在node.js方兴未艾,国外大量既会JS也会C++的闲得蛋痛的高手为其写了上千个模块,你说前端真是只限于前端吗。百度有“大前端”的概念,google没有专门的前端。javascript本来就是一种语言,无需限定于浏览器,能熟炼掌一门语言的人,也不会忌惮其他语言。什么java比C#好,python比ruby的争吵都是菜鸟行为。如果你就会抠别人页面的特效代码,为会jQuery而沾沾自喜,你的水平怎么能上得去。
现在总有人问我,你会HTML5吗?我总是反问一句,你知道什么叫HTML5。HTML5现在被泛称为新版本浏览器的一些API,什么webworker, svg, 本地储存……但原来的HTML5小组是叫web form2.0,只想在form元素内添加多几个input元素,加个什么验证功能。许多功能是W3C其他工作组在搞的。以讹优讹啊。但会HTML5又怎么样,不就是几个API,新API在各个浏览器还是实现得很一致,就可能就是名称多个前缀,或谳用时多个参数少个参数,某种新对象的方法数不一致,远不如常用的旧式API在兼容上的蛋痛。如会不会HTML5估算人的前端水平是不行的,无论你的确是做手机要用到HTML5,还是自己的产品只用于内网,自己内嵌了最新版的chrome浏览器。
国内的前端圈子真是很小,真正用心的JSer都堆扎那几个QQ群上。连站在最巅峰的那几个JSer的名字都不知道,你招什么高手啊!你如果是前端,也真应该去了解他们。也只有真正的前端能面试前端了,什么java出身的CTO都是浮云。因此广大前端请静下心来,好好研究技术,掌握好一门技术就能活得好好了。那些要求会几门后端语言的公司不要去,去了是打杂,他们大概连前端干什么也搞不清。那些前端人员少于三个的公司不要去,去了会累死你,天天写业务代码能力成长不了。那些面试通过但在工资上出尔反尔的公司也不要去,他要的是SB,你会是SB吗?
——转自网络(写得非常好)