最近疯狂的面试招人,主要以 P5、P6 为主,市面上失业的程序员很多,一个岗位往往是优中选优,招聘标准也一再提高,而大部分人是过不了二面的,总结下来,他们缺少了下面几点特质。
没有一个研究的较深的技术领域
这可能是很多创业公司候选人的硬伤所在,创业公司往往要求每个人都是全栈,这样可以极大的降低用工成本。他们什么都会一些,但什么都不精,这是一个很大的问题。在大厂,每个人的分工都是非常垂直的。一个前端不会去做写 JAVA ,甚至接触不到服务器运维,就连可视化开发和业务开发都是分的比较清楚的。因此对于大厂来说,懂得多只是加分项,但懂的深才是基本要求。
前端的领域很多,比如从业务类型上看有中后台、中前台、移动端、小程序等,从技术上看有可视化、低代码、React、Vue、Node、微前端等。想了解详细的可以参考阿里前端委员会推出的 《前端知识图谱》。
这些领域研究的深入以后,都有丰富的细节,不是看几篇文章就能学会的,在面试的场子上,做过和没做过很容易聊出来。
你对于某个技术深入的程度,决定了你的专业程度。如果单纯做技术最高可以做到科学家,虽然前端起步晚,但依然是一个专业工种,我们需要体现自己的专业性来打动面试官。
同时,对于一个领域的学习,有广度和深度之分,如果你能快速地学习一门新的技术,代表着你有较好的学习能力,如果你能了解得比较深入,有丰富的体感和方法,甚至有自己的观点,这代表了你有较好的研究能力。对于一个技术人员来说,学习能力和研究能力是必不可少的。
你可能会觉得,大厂这是用造火箭的标准招一个拧螺丝钉的。但你要知道,大厂里内卷严重,从广度上来看,有太多人去造轮子了,你能想到的领域,别人基本早就想到了,并落地产出了技术产品,你用就好了。但深度这块,还有很多蓝海,需要日积月累,有较高的护城河,这也是面试官判断一个候选人是否有潜力的重要部分。
没有遇到过复杂的场景
这个确实是可遇而不可求的,就这一个条件就足够刷掉 80% 的候选人了。这意味着很多小厂的同学基本过不了二面。
什么是复杂场景呢?个人感觉,如果是一个 TOB 的系统,至少代码量在 50 万行以上,这样你才有可能遇到页面性能问题,开发协作问题,使用到微前端来降低复杂度,低代码搭建解决开发效率问题,代码大面积重构问题,渐进式灰度发布问题,工程化解决开发体验问题等。如果是一个 TOC 的系统,至少有千万以上的活跃用户,这样你才会用到功能的 AB 测试,数据监控,极致的体验优化,甚至微交互,互动动画,首屏渲染优化,SSR 等。
复杂的场景,跟上一条要求研究深度是相辅相成的,如果你平时做的需求都只是初始化一个项目,写写页面,怎么会有深度呢?如果你现在总是陷入到无尽重复的需求里无法自拔,你真的需要警醒了,你正在温水煮青蛙,随着年龄的增长,你将在就业市场上失去竞争力。要么跟主管要求换项目,要么直接离职去一些稍大的公司或者项目组,一步一步来,不要再混下去了。
没有系统的思考和沉淀
很多人都有这种感觉,发现自己之前做的需求都很简单没什么可说的。这一条承接上一条:没有做过复杂场景。当然如果你遇到过足够复杂的场景,或许对你总结经验教训有所帮助,但这真的不是必需的。系统的思考和沉淀有时并不依赖客观条件,他更多是一种主观的做事方式。
做完一件事,看完一本书,走过一段路,都应该有吸收、思考和沉淀,不然这些过去的事物,根本无法内化成你自己的东西。这一条考察的就是这一点,他看你的头脑里有多少解决问题的方法论,有多少看透事物后总结的底层原理。这些东西,是决定你是否胜任新工作的前提。
比如现在要招聘一个会可视化的前端,要求不是你做过报表或者数据大屏就可以的,而是看你是否在可视化这个专业领域里掌握到一些基础的理论,比如图论、数理统计、绘图引擎等。这些底层的理论才能支撑你完成新的可视化相关的工作。如果一个可视化的需求是你之前没做过的就不会做了,甚至没有去寻找解决方案的思路,那就真的只是一个码农,搬砖工了,而不是一个专业技术人员了。
思考和沉淀有一个很重要的方法,就是写文章、做输出。如果你经常写文章,有自己的博客无疑是非常加分的。但文章不是文档,不是需求记录,是要有观点,论据,遇到的问题、挑战,解决方案的对比,具体的技术架构,落地的节奏,体现成果的指标等。
没有业务 sense
这一条可能比较抽象,sense 意为感觉,体感。业务 sense 其实是指,有用户思维,知道从用户角度思考问题,通过自己的技术解决用户的问题。这一条,是区分外包和正岗的关键点,如果你只是在被动的接收产品经理提的需求完成就 OK 了,那你可以报考外包岗位。如果你在做需求的同时还能对产品有全面的了解,通过数据埋点发现用户使用过程中的问题,使用技术手段主动帮助用户解决,那你可以报考正式岗位。
是不是有点 PUA 的味道?真是既要又要还要啊,你可能会说这不是产品经理应该做的事吗?可能在很多公司,这确实是产品经理该做的。但在大厂,大家追求的是业务价值,是客户第一,是我做和别人做有什么不同。这可以理解为是一种 PUA ,但我们也要看到这可能是大公司的无奈之举。因为大组织本身就会遇到创新乏力的问题,尤其是在现在的大环境下,顶层的创新越来越难,就需要每一个基层的员工,基于自己的工作实际,你的用户痛点去做细节的创新。只有这样公司才能守住基本盘,不至于在政府政策和经济环境的双重压力下崩盘。
没有获得过成功的案例
这一条是亮点,但有时候亮点才是决定你能不能拿到 offer 最重要的依据。他可以帮助你在众多候选人中间脱颖而出。一个人做成过事情,表明了他有成功的经验,有成功的方法,更有可能再次成功。那些大佬的履历里总是有他们引以为豪的事情,比如毛主席觉得自己在军事上最得意之作就是 1935 年红军长征中的「四渡赤水」。这个事件里可以总结出一连串的军事战略战术方法,更能体现毛主席高超的指挥艺术,让人惊叹。
同样地,在面试过程中,你如果能够讲清楚一件你成功的案例,有分析,有过程,有结果,对于面试官来说,是一个非常享受的过程,他也可以从中学到很多。其实面试的过程,千万不要一问一答,那样你会非常被动,候选人尽量能够按照自己准备好的东西,引导面试官按照自己的节奏交谈下去。讲述成功的案例就是很好的方式。
这个讲述的过程,可以充分体现你结构化表达的能力,对自己专业的自信,以及对于未来岗位的运筹帷幄。你说这样的候选人,哪个面试官不喜欢呢!
没有推动力,没有结果
你有多少事,是做着做着就做没了?不管是主管安排的,还是你主动做的,有没有半途而废的时候。或者事情虽然是做完了,但是却没有任何结果。有时完成并不是结果,真正的结果是要回到做这件事的初心上来看,到底有没有解决当时的问题。
面试过程中,面试官非常想听到,你是如何把一件事做成的,你是如何推动的,如何跟各方合作,遇到了什么困难,又是怎么解决的。这体现的是一种沟通协作的软实力。其实很多阿里的 P6 也不见得具备这样的能力,「定目标、追过程、拿结果」是对于一个 P7 的基本要求,如果你具备了初步的这方面的能力,你就是一个 P6+ 的水平了。
下面是阿里对于一个 Team Leader 在管理上的要求。
当然,如何推动、拿结果是有很多方法的,有软的有硬的,这方面的东西够写很多篇文章了,大家可以关注我以后的文章。
总结
集中面试了这么多候选人,我跟大家说实话,我们真的希望能快点招到人,因为招聘真的是一件没有啥技巧的体力活,但凡发现一个优秀的候选人或者有潜力的,我们都会不遗余力的帮助你通过后面的面试。不论是面试指导,还是内部信息的透传,我们真的是掏心窝子的。在面试的过程中,我也是费尽心机的想在面试者身上发现他们闪闪发光的亮点,可真实的情况总是无奈的,这样的人是千百分一的。
面试前的刷题,临时抱佛脚确实是有用的,但他只能让你撑过一面,再往后就很难了,那真的是需要看你平时的日积月累,持续的反思、总结和沉淀。
以上,句句肺腑,希望对你有所帮助。找工作不易,招聘更不易。共勉!