一直很热闹的前端人才市场,在刚过去的 2017 年也不太平静。
一边是薪水和地位继续见长,前端技术也异常活跃;一边是互联网红利期过后,市场回归理性,找工作艰难的抱怨声四起。看似矛盾的两种情景并存,不禁让人疑惑:这一年,前端程序员们究竟过得怎么样?
100offer 在走访了几位今年跳槽的前端开发者和资深行业专家之后,结合数据,给出了我们的答案:初级前端程序员供给泛滥,待遇恶化,犹如浸入冰冷的「海水」;而中高级工程师却议价能力向好,「火焰」越烧越旺;企业也在招聘中提出了更高的要求。2017 年的前端,唯一不变的,就是变化本身。
说明:
文中数据除单独说明外,皆来自 100offer 平台。
100offer 主要服务北上广深杭及海外 2 年以上经验的资深互联网人。本文数据取自 2015 年至 2017 年经筛选在 100offer 匿名展示的人才,他们收到的面试邀请和薪资普遍高于市场平均水平。
前端兴起的过去十年,也是用户体验飞速增长的十年。得益于前辈们努力打下的江山,前端在技术团队中越来越受重视,早已脱离了「页面仔」、「鄙视链底端」、「边缘化」的尴尬。技术上,各种新框架、语言和工具也层出不穷。
因此近几年,前端工程师的整体地位在提升,加上互联网的红利期,前端入门壁垒相对较低,看中这块肥肉的人自然不在少数。100offer 的平台数据显示,想找前端工作的程序员,从 2015 年开始连年增长。
但是,进入 2017 年,他们当中越来越多人的求职路却遭遇了「滑铁卢」。
从上图可以看到,虽然 2017 年求职人数的增长已经放缓,但企业发出的总面邀数却下跌明显,导致整体市场竞争更激烈。「今年前端工作不好找」似乎已经是一个不争的现实。
真是这样吗?在陷入焦虑之前,我们要先明确:为什么企业招聘的前端岗位收缩了?
自从 2015 下半年以来,资本寒冬导致互联网和创业市场整体遇冷,很快就传导到研发岗位的收缩上。前端在研发团队中的岗位占比原本就有限。以外包公司为例,团队配比大致是 1 位 PM、1 位 UI,加上 1~2 位前端和 4~5 位后端。因此,在行业整体收缩的前提下,新业务需求释放出的前端岗位量,也远不及后端。
不过,企业开出的岗位减少,却并不意味着对前端开发工作量的需求变少了。由于前端技术栈的不断更新,效率提高,同样的前端人数,能完成比以前更多的职责范围。在不少企业,1 位前端工程师就能搞定移动端和 web 的开发,甚至负责一部分后端。
同时,并非所有互联网领域都在「缩招」前端。
从数据来看,电商是当之无愧的前端招聘「大户」,在 2017 年保持了岗位需求量的迅猛增长。
个中缘由不难理解。热钱消逝后的互联网市场,各种商业模式之间的竞争也转变了思路:从过去动辄造一个新产品的「增量博弈」,到用体验优化和运营手段,抢夺存量用户。电商行业的页面更迭季节性强,需要不断打造丰富的视觉和交互体验,拴住消费者挑剔的心。
反观移动互联网领域,在创业热潮褪去后,对前端的需求量跌回了 2015 年的水平。至于金融、企业和数据服务等,在经历了产品从无到有的阶段之后,页面改版和重构的工作量相对稳定,因此相比起 2016 年的大幅扩张,今年他们对前端的招聘需求基本持平。
从人均面邀和薪资的变动上,我们发现,虽然分配给每位前端「萝卜」们的「坑」变少了,但企业的面邀薪资却连年水涨船高。
这又是为什么?还是那句话,在激烈竞争下,经受住考验的永远是那批更优秀的人。2017 年回归理性的前端市场,沉淀下的人才质量比往年更高,整体的议价能力自然也在往上走。
口说无凭,我们直接看下面图中的求职人群构成:2017 年求职人群的增量,几乎完全来自于工作 7 年及以上的高端人群。而 3 年以下工作经验的初级人才,在 2016 年的快速涌入之后,今年人数甚至还小幅下跌了。
1、海水:初级前端遭遇淘汰
从下图可以看出,每年人均面邀的下降,主要源自市场对初级求职者的需求锐减。
新手的就业形势越来越严峻。「今年找工作,比我毕业时还要更难一些。像我们这样做了一两年前端的人越来越多,前端大家又很看好,竞争太厉害了。」回忆起自己在 2017 年底的裸辞找工作经历,前端工程师林立用了「困难」二字。他在 2016 年本科毕业之前,报了培训班学 HTML、CSS 和 JS,毕业后去一家数据服务公司工作。辞职后,几乎 12 月的每个工作日他都在面试,在近 20 家企业里最终拿了两个 offer。「有一位和我同时期离职的同事,现在还没有着落。」
跳槽薪资涨幅讲述了一个更残酷的游戏规则。进入求职市场看机会的初级前端程序员,不仅期望薪资一年年压低,跳槽后的薪水也是连年下滑。因此,对于鱼龙混杂的初级人员,前端市场的确已经进入全面清理期,优胜劣汰带来的是人才质量的整体提高。
2、火焰:中高级前端越来越吃香
过了一定工作年限的求职者,无论是不是身处互联网,市面上与之匹配的高端工作岗位总体是减少的。然而 2017 年,前端高端人才收到的面邀数却并没有与初中级岗位拉开明显差距。
结合上图的跳槽薪资可以发现,中高端人才的议价能力越来越强,以至于拉高了整个市场的平均薪资水平。况且,高端群体的很多福利回报,并不直接体现在这里统计的现金薪资上;如果加上股权,他们当中不乏有近百万年薪的人。在遇冷的大环境下,中高端前端程序员们仍然保有强劲的「刚性兑付能力」。
除了市场整体人才质量抬高之外,100offer 在咨询了几位资深前端专家与人才顾问,并回顾大量的前端招聘 JD 后发现,2017 年,互联网公司对一个前端候选人的预期也更高了。
1、基础扎实,对具体主流技术栈要求趋严
「上半年我们在帮助前端候选人应聘时,总体来说求职阻力不大;但是到了下半年,一些大中型的公司开始对具体掌握的框架有更严格的要求。」100offer 人才顾问 Summer 向我们透露。
从以下两份 JD,也可以一窥 16 年和 17 年,大厂对薪资相近的高级前端工程师的不同要求。
2016 年:
2017 年:
熟悉 HTML、CSS、JS 只是最基础,在此之上,一些企业明确提到,希望招对 react、vue、weex、webpack、nodejs 等至少精通一门的候选人,且重视项目应用经验。
一面是企业对技术更严苛和细化的要求,一面是前端领域尤其迅猛的技术新陈代谢速度。对于此,要有危机意识的,绝不仅仅是初出茅庐的培训班学生或应届生。即便是工作多年的程序员,如果一直积累的是相对老旧的技术栈,而没有争取新的项目机会,或利用业余时间跟上主流,在跳槽时也很容易被市场淘汰。
2、更看重技术广度,兼具跨终端和后端开发能力
在前几年,具备非前端脚本语言(Java,PHP)的开发经验,对于中级工程师只是加分项,「至少熟悉一门后端语言」对于高级工程师,才是必须项。
然而,到了今年,企业开始更注重前端工程师的技术广度。一个优秀的前端,要做到的不仅仅是「T 字型」,而应该努力成为精通前后端至少两门语言的「K 字型」人才。
用新浪移动前端技术专家、知乎前端话题优秀回答者小爝的话来说就是,「前端行业整体积累时间太短,以后会趋于回归其他编程语言现在的正常情况。人才天花板很快就会到了,大家纷纷去跨界发展,以保证自己的行业地位和技术水平和工作年限成正比。」
无论在前后端分离、移动开发的范畴内,还是国内互联网公司的团队架构上,「大前端」的概念正在被广泛接受,比如网易、阿里、陆金所、新浪移动、美团点评和饿了么,都有大前端部门。身处其中,前端工程师需要承担终端开发、工程化等看似「不那么前端」的工作。
以新浪移动大前端团队为例,团队负责用户和广告产品两大方向,其中就包括大量的广告系统后台和模板的开发工作。「除了业务之外,我们大前端还包含了一些 PHP 和客户端的同学,是一个全面和有独立战斗力的 team。」小爝总结道。
陆金所前端团队负责人方晓也告诉 100offer,他并不会把团队的工程师按照「端」来划分岗位,而是以业务条线划分;一位「大前端工程师」,要能够胜任这条业务线上 PC、移动端(包括 Native 和 H5)等所有不同端的工作。这对工程师的技术基础和快速学习能力,绝对是一场考验。
在方晓看来,整个行业今后对前后端人才的综合实力考核,只会越来越注重;如果不及时拓宽自己的技术广度,职业发展恐怕会遭遇瓶颈。「我也见过很多『框架型』人才,真的就是只愿意写 React,或者只写 Vue,不愿意碰 Java,」他的语气有些无奈,「这样的发展空间挺狭窄的」。
3、更加重视综合能力和职业素养
今天的前端不再是配合型、边缘化的工种,而是技术团队中最需要跨岗位沟通的人,要经常和交互设计、产品、后端、测试、甚至运维打交道,因此,企业在面试中,对沟通能力的要求也比以前更高。
职业素养是个仁者见仁智者见智的问题,不同团队和 leader 之间没有绝对的统一标准。方晓透露,他为自己团队招兵买马时,会着重考察应聘者的责任心、问题解决意识,以及快速响应能力。他认为,「前端一定要有『攻城狮』意识,在打仗攻城的时候,前端是冲在最前面的人。因为无论是产品还是后端,任何不好的流程、bug,最终都会暴露在前端,好的工程师要能够快速判断问题出现的原因,和后端一起背锅。」
而小爝会在面试中观察对方是不是够「聪明」,因为面对问题的理解力,是和自学能力完全挂钩的。相比之下,一个人的培养潜力比他目前的技术水平还要重要。
4、更挑剔的资历背景和硬性条件门槛
由于供给饱和,公司对候选人的资历背景也更挑剔,中型以上公司尤其如此。非名校、名企出身的求职者,比以前更容易与机会失之交臂。然而,经历过资本寒潮后,能容纳他们的小公司数量也在减少。
Jason 是通过 100offer 在今年跳槽的一位资深前端工程师,有 6 年工作经验。当年在名校就读本科的他,为了创业选择了主动放弃学业。在以往的找工作过程中,他的肄业经历并没有带来什么实质性影响。但从 2016 年他的上一次跳槽开始,情况就不同了。「我明显感觉到,一些大企业对学历卡得很严。今年就更是如此,到手的可选择机会比以前少得多。」
太阳底下没有新鲜事,对于前端人才市场渐趋饱和的论调,早在前几年就已经出现过。只不过在 2017 年预言被进一步验证了。从 14、15 年「满世界都缺前端」的狂热,16 年的高端人才稀缺、初级人员泛滥,再到 17 年的中高端供给增加,我们认为 2018 年的前端市场,中高端人才的供求关系也将基本达到平衡,对人才素质的要求会更上一层楼。
那么,程序员们该如何准备,应对前端的「新常态」呢?
1、回归扎实的基本功
底层的原理和基本功,决定了一位前端工程师是否有全局观,能否走得长远。因此越来越多的企业会着重考察候选人对原理的理解。
前面提到的 2017 年底找工作的林立,对此深有体会。虽然面试官都挺认可他以往的开发经验,但当面试官问及原理,考察他解决问题的思路时,他却回答得不尽人意。「我在工作中只关注实际操作和项目,对基础和原理很生疏,忘得都差不多了」,林立总结出了几次面试的失败原因。他开始抓住每次请教面试官的机会,对于不懂的问题,回来查资料、补原理知识。功夫不负有心人,最终,他收获了一份与自己技术方向很匹配的 offer,在新年来临之前顺利入职了一家北京 O2O 企业。
陆金所的方晓也提到,现在前端工程师浮躁成风,基础不扎实。「很多程序员,对JS高级一点的技术原理,甚至 HTML、CSS 的高级原理都不大懂。」前端技术虽然发展快,但发展快的其实只是框架;最根本的浏览器底层 TCP/IP 协议、HTTP 协议、IO 协议,以及经典的算法和原理,才是一个工程师,无论是前后端,都需要了解的。
2、与时俱进地吸收新技术形态
在打下扎实基本功的前提下,才是对新技术的持续关注,重点要和实际工作有效结合,勤奋积累,积极尝试。
当初从重点大学肄业的 Jason,本科读的是经济法学,是典型的「非科班出身」,却没有上过一天培训班。他在大学就受好奇心驱使自学 Web,在工作中逐步成长为精通前端、架构,有服务端经验,可独立带技术团队的水平。进入工作的第 7 年,他通过 100offer 入职一家知名互联网金融企业,担任资深前端开发。
当被问及「非科班」出身如何自学时,Jason 笑着提到了一个细节:在工作的头几年,他几乎每天都只睡两小时。培养技术嗅觉没有捷径可走,唯有多学,多写。在具体技术栈的选择上,他的做法是先找到一个自己感兴趣的方向,利用业余时间钻研,并把所学的新技术应用到创业团队的实际工作中,快速试错和验证。「我做不到预知未来,但至少要顺势而为。很多前端知识只有自己上手实践才会有积累。」
新浪移动的小爝直言,优秀前端的核心竞争力其实就是「折腾」,新东西实在太多,不可能面面俱到地学习,关键在于为我所用。「任何框架和技术都是为业务所用,需要什么技术就去钻研。我自己面试也经常被问:做了那么久前端,你的技术给业务带来了什么?这个问题值得所有人思考。」
3、放大格局,「前端」不是职业路径自我设限的理由
「因为我是做前端的,做 CTO 会被说不懂业务,公司不给我机会,所以我做不了 CTO」。陷入这样误区的程序员们不在少数。采访中,方晓和小爝都提到了自己认识的前端工程师出身、最终转行做高管、CTO 或创始人的优秀例子。职业规划,最终的本质在于你想做什么。而不是以「前端」的职能给自己设限。即便在前端团队,不同的团队架构、业务类型,做的事情边界也大相径庭。只要你想,完全可以尝试去做创新的项目。比如试着接触后端的工作,在实际工作中发掘自己的潜力。
100offer 说:
2017 年,前端市场回归理性,进入了大浪淘沙的「换血」时代。正如前文所提到的那样,一半海水、一半火焰的背后,是从业人员素质的整体提升。企业不断抬高筛选门槛,基础薄弱的新人和没有及时构建竞争力的「老程序员」,都要注意积累扎实的基本功、技术广度与深度,以及职业素养,才能抓紧时间「游回岸上」。
机器学习,大数据分析,物联网,小程序……风潮一波接着一波,预计 2018 年,还在原地踏步的普通前端,会更加无法满足优秀企业和团队的需要。有句话是这么说的:你只有拼命奔跑,才能留在远地。看似鸡汤,但对于今天的前端人而言,现实的确如此。
与所有正在努力的前端程序员们共勉。
(为保护候选人隐私,文中Jason、林立均为化名。)