由于公司业务需求,最近一段时间连续面试了几十位求职者。由于笔者在互联网行业工作,借助行业内的一些垂直招聘APP,也和200多位求职者进行了线上交流。
俗话说:“读万卷书,不如行万里路;行万里路,不如阅人无数。”
正所谓林子大了什么鸟都有,有从p2p公司出来高薪低能的,有准备了大量面经来蒙题的,还有被拒后忿忿不平发邮件来讨论的⋯⋯甚至有答题不顺拿面试官泄愤的。
通过面试者寥寥无几,而通过者基本都拿到了offer。最近招聘工作告一段落,终于可以坐下来回顾这半年多来的面试,总结一些经验教训出来了。
需要说明的是,笔者进行的是社招,校招的情况会有所不同,因此不在此系列文章中讨论。
为什么要求“N年工作经验”?
你有没有发现,各大招聘平台在发布职位时,工作年限都只有这几个档:1年以内、1-3年、3-5年、5-10年、10年以上……
一个人无论在哪个领域:
达到“入门”的级别最多只需要一年;
达到“熟练”的级别最多只需要三年;
达到“精通”的级别最多只需要七年。
每个人都需要不断地犯错来进步。当一个人犯过大量的错误后,就具备了成为大牛的潜质,当然前提是他愿意并能够从自己的错误中反省并成长。
遗憾的是,现今的课堂教育根本不给学生任何犯错误的机会,更不包容犯错误的学生。因此学生们无法在学校得到足够的成长,只能在进入社会工作之后来进行。
开始工作的第一年乃至前三年,是犯错误的时间。之所以招聘时要求N年工作经验,是希望筛选出那些已经犯过足够多错误的人。
因此建议各位准备踏入职场的同学们,在选择第一份工作时,更多地考虑公司是否有容错的机制和环境,这基本决定了你未来成长曲线的起始角度,薪资待遇绝对绝对应该放在最后来考虑。当然了,在这方面大公司是上上之选。
工作经验年限和工资成正比吗?
我曾面试过一些5年甚至更长工作经验的求职者,结果往往不理想。很多人甚至不如刚工作一两年的年轻人。基础不扎实,思路不清晰,缺乏优化意识,没有阅读习惯……而且,基本都自恃甚高。
有不少程序员觉得自己的职业生涯是下面这样子的:
while (true) {
while (n--) {
做项目();
团建活动();
涨工资();
拿年终奖();
}
跳槽() && 涨工资();
}
他们觉得,工资应该而且必须随着工作经验年限的增长而不断提升。这是典型的本末倒置,混淆了结果和目标。
正确的认识应该是:工资增长是个人能力提升后必然的结果。我们应该将有限的时间和精力放在提升个人能力上,而不是单纯为了追求更高的工资去不断跳槽。
工作时间久了就可以带团队吗?
还有不少人觉得自己工作的资历久了,就可以开始走管理路线了,不用关心具体实现和技术细节了。于是我问他们一些团队管理的问题,比较典型的是这样的:
问:你如何帮助团队成员提升能力?
答:从豆瓣上收集整理一些书单给他们。问:你如何保证项目如期完成?
答:每天开会碰进度,如果有人拖后腿就督促他,搞不定就自己上,实在不行就找PM延期。……
工作经验的多少,与领导力的强弱的相关度并不高。工作经验少自然难以服众,但一个具备多年经验,在基层工作表现优异的工程师,也未必能成为优秀的管理者。
领导力是一门艺术,是需要专门学习的乃至训练的。个人的性格在这方面会有一定的加减分,具备开朗乐观、包容的性格的管理者会更容易开展工作。极个别的人仅凭自己的魅力就能做好管理工作,但那毕竟是个例。
新生大学社群成员有一本必读书:《领导梯队》,这本书相当全面地讲解了如何完成从基层工作者到管理者的角色转变,推荐给各位准备带团队和想带好团队的朋友们。
当然,每个人最后都会晋升并停留在自己并不适合的那个位置上。
程序员小A的故事
小A大学毕业后,由于基本条件不够没能进BAT等大公司,只好进了一家业内的小公司。刚入职实习的那段时间里小A发奋图强,买了好几本豆瓣上推荐的大部头经典,每天晚上都刻苦学习,加上前辈们点拨,很快就上了手。
不出一年,小A已经对开发组长安排的工作驾轻就熟,信手拈来。那些大部头的书只翻了一小半,就扔下再也不看了。有时在看前辈们的代码时,他还能挑出BUG来:“哼哼,你们也就不过如此嘛!”
业务进入了维护期,工作量不大,且缺乏挑战性,但在每天晚上的内部DOTA局里,小A却和同事们杀得难分难解。于是经过无数个晚上的刻苦练习,小A成了公司DOTA最强者,每天带着小弟们征战天梯,不亦乐乎。
时间一天天飞逝,在越来越熟悉的业务和环境里,小A过得十分舒适和安逸。由于只需要两三个小时甚至更少的时间就能完成一天的工作,他便将剩余的上班时间用来刷朋友圈、刷微博、追逐新闻热点、和同事闲聊……
就在小A憧憬着3年买车10年买房时,噩耗突然传来。公司因经营不善,资金链断裂而倒闭了。当他出来找工作时才发现,这几年除了对原来公司的业务熟悉度外,自己的能力并没有多少长进。虽然做了好多项目,但都不过是CRUD而已,并没有什么技术含量。业务数据量不大,连分表分库都不用。既然用不着,为啥要学啊?
小A买了几本面经解题书,背了一堆算法题、设计模式,想进大公司,却发现他们要求的标准不是一个level的:解耦、可用性、服务化……这些都是神马,能吃吗?
屡次面试受挫后,小A只好进了一家和原来公司要求标准差不多的小公司。但是这时他对公司业务的熟悉度已经归零,一切又重新开始……
有句话虽然很俗,却很实在:1年工作经验用了10年,算不算10年工作经验?
网友评论
推荐下,分库分表中间件 Sharding-JDBC 源码解析 17 篇:http://www.yunai.me/categories/Sharding-JDBC/?jianshu&401
邻
可是有些也不尽然,我并不否定,有人是混的。
曾经面试一个人,他给你感觉就是很“很没力气”的感觉。8年工作经验,开头要工资4000。我仔细一看,他每次换工作加工资都并不是很高。
而我判断他,要不就是混公司的,要不就是没有野心的人。
我隐晦给他的回答是:在这一行活着,要有自己的奋斗目标。你可以想坐我的位置啊,但你给我的感觉是毫无进去心。
然后说了巴拉巴拉一堆废话送他走了。普遍面试之后的结论是,工作经验还是很管用的。
这小孩不服,我一看,嘿,这孩子不错。还知道“上诉”,我喜欢主动的人,我就去小办公室见了他。但见了他,还是失望了。
第一眼印象,下巴抬的高高的,说了一堆,大概就是,我学过XXX,我很牛,你凭什么不要我?
我给了他三个基础算法问题,他一个都回答不上来,然后左右而言他。我说,你啊,我们写游戏的,其实80%的时间都是在写这些基础逻辑。你连基础的东西都不知道,而且还用其他言语搪塞我,你这不但态度有问题,为人处事的心态还有问题。
后来我用同样的三个问题,问了另外一个人,他没有回答,低着头在思考。我没有打断他,然后他告诉我,有个我知道想不起来了,其他的我不知道。
然后我就录取了他。录取原因就因为,他思考的时候,很努力思考,憋得脸颊都红了。明显非常非常认真的在思考。
我很满意我的面试成果,最后,就是上面那位没有经验的,加这位面试成功的,后来和我就是客户端的三个人。以前是6个人,后来人来人往各种情况换了至少10个人,但最终就我们三个就可以承担所有开发了。
一个人就来面试了,他说他想学一下游戏制作,之前没有任何经验,4、5年来一直在一个公司给AutoCAD开发插件。
我和我的搭档反复看了下,我对他说,这个小伙给我印象很好,没经验我们可以教,但给人很踏实的感觉。有意思的是,我搭档同样有我的感觉。我们就录取了他。
后来证明,他虽然没有游戏开发的经验,但有很优良的编程经验,2个月就上手各种东西。之后的工作效率是2到2.5个人的效率。
后来想起来,面试不但需要理性也需要感性,你没法知道别人未来如何,面试短短的几个小时,给人感性其实大于理性一些。
欢迎关注专题,拒绝鸡汤文,只收录可落地实用方法😬
但是这个确实需要一些时间,除非是天才,要不然大部分如果遵守不断的想办法把事情做得更好的前提下,确实是需要几年的时间才能具备一定的能力