美文网首页
2017年,移动端码农们的日子好过吗?(转)

2017年,移动端码农们的日子好过吗?(转)

作者: LBQ_DS | 来源:发表于2017-12-21 10:41 被阅读185次

    原文地址:www.toutiao.com/a6501567392580108813/

    2016 年对移动端程序员们来说,无疑是焦虑与迷茫的一年。资本寒冬的降临,移动互联网市场的盈利红海,不少 App 创业公司的接连倒闭,微信小程序的发布…...每一个事件在网络上的蔓延,似乎都暗示着移动端市场发展的颓势,从而纠结着移动端程序员们的心。

    “我工作已经五年了,这几年我在工作上很努力,加班多,业余时间也在学习,一直是公司的骨干员工。但是我突然发现我这些年所有的积累都在安卓上,如果哪天世道变了,移动端应用不再以 App 的形式存在,我怕我有点输不起。”

    前阵子,一位离职看新机会的安卓工程师对我们平台的职业顾问说道。

    从一定程度上来说,他的现状可以代表目前市场上部分安卓工程师们的心态。经历了 2015年的需求爆热和 2016 年“移动寒冬”的大起大落后,2017 年的移动端招聘市场又发生了哪些变化?移动端真的快不行了吗?

    带着这一疑问,100offer 近期盘点了平台上移动端程序员 2015 年~2017 年的招聘数据,并走访了数名移动端程序员,下图为大家展示一个最真实的 2017 年移动端市场的招聘现状。

    首先,我们来看看 2017 年,移动端市场的整体供需变化。

    2017年,移动端市场供需在下降

    众所周知,2014 年~2015 年是移动互联网市场的爆发期,然而爆热过后却是骤冷:2016 年,市场上的移动端岗位开始大幅缩减,移动端程序员却与日俱增,逐渐达到饱和状态。这种状态一直维持到 2017 年,移动端程序员的求职人数和企业的招聘需求都开始整体下降,其中 iOS 不论从企业需求还是求职人数来看,变化都更加明显。

    2017年,移动端码农们的日子好过吗?2017年,移动端码农们的日子好过吗?

    我们可以从两个方面分析出现这种现象的原因:

    1. 2015年移动端市场需求量大,不少培训班几个月内培训出了大量移动端程序员,导致2016年移动端市场高度饱和:“培训机构是最快输出人才的地方,本科生大学毕业都要学习4年,而培训机构最快向市场输出一个移动端程序员只需要几个月。”目前在上海某创业公司担任技术负责人的码仔告诉 100offer。

    而 2015 年也是创业正热的时期,资本市场对移动互联网的看好,导致大部分创业者把创业与做移动 App 应用等同,市场上以做出一款 App 为目标的创业公司比比皆是,企业对移动端程序员的需求量井喷,所以那时即使是资历较浅或培训班出身的初中级移动端程序员,也可以较轻松地找到一份工作。

    2. 2016 年资本寒冬,不少创业公司接连倒闭,企业需求大量收缩,一年前还大受市场欢迎的移动端程序员,发现找工作变得没那么容易了。

    “我身边有个做安卓的朋友,工作 2 年,换了 3 家公司,离职理由都是公司倒闭了,其中有一家还是 400 多人的公司。”聊到移动市场这几年的变化时,码仔感慨,商业的变化太快,起来得快,死得也快。追不上商业变化的公司,就和追不上技术和市场变化的程序员一样,很快就会被市场淘汰。

    而其实所谓的移动寒冬,受到影响的只是那些没打好基础的人。

    2017 年,移动端的整体薪资和人均面邀在回升

    前面提到,2017 年移动端市场的企业需求和市场供给在同时下降。与此同时,我们平台的数据还显示:移动端的人均面邀数和人均面邀薪资均在上涨。

    2017年,移动端码农们的日子好过吗?

    这又是为什么呢?我们将移动端程序员以工作三年为分界点做了一个划分,对比 2016 年和 2017 年移动端程序员的构成时发现:

    2017年减少的移动端程序员,以初中级为主。

    首先,毋庸置疑,工作 3 年以上的移动端无论在薪资水平还是需求度上,均高于工作 3 年以下的移动端。

    2017年,移动端码农们的日子好过吗?

    如果我们将工作少于三年的移动端程序员定义为初中级移动端,那么我们很容易通过下图得出结论:2017 年减少的移动端程序员,以初中级为主。

    2017年,移动端码农们的日子好过吗?

    换一句话说也就是:2017 年,高级和资深移动端占比在增高。

    这也不难解释为何 2017 年移动端的企业需求度和求职人数均在减少,人均面邀数和人均面邀薪资却增高了。因为 2016 年以前的招聘市场,初中级程序员占比更高,他们的存在拉低了移动端的整体薪资水平和需求度。

    “15 年的时候移动端很火,很多人可能对写代码完全没兴趣,只是因为程序员行业薪资相对较高而入了这行。这群人工作之外不会花额外的时间持续学习,所以薪资涨幅很低,或者说一直保持不变的薪资。”码仔说,他身边确实存在一些这样的程序员。

    所以到了2017 年,当 3 年以上工作经验的移动端程序员成为市场主导后,移动端的人均薪资和市场需求度自然也跟着上涨。这意味着移动寒冬这波浪潮褪去之后,投机取巧、基础不扎实和不适合这个行业的移动端开始逐渐被市场淘汰,留下那些基础扎实、经验丰富的移动端依然矗立在沙滩上。就像码仔说的那样:“市场淘汰率和资深程序员向来没什么关系,只和新人有关。”

    而在这群被市场筛选后留下的移动端中,我们发现工作 3 年+和工作小于 3 年的移动端程序员之间的薪资差距在逐渐缩小。

    这在某种程度上说明了:过滤掉那些能力欠缺的初中级移动端后,市场上剩下的这波人,都是行业内最优秀的,因而他们的薪资差距也最小。

    2017年,移动端市场的供需终于开始回归平衡,移动端人才的待遇水平也在逐渐回升。

    那么,移动端未来的发展走向又会如何?

    移动端前景依旧,但人才需向复合型发展

    在 100offer 此次采访的几名移动端程序员中,除了一名做安卓 framework 的程序员荣武对安卓未来的发展前景表示堪忧,想在年后转行外,其余几名程序员均对移动端的未来持乐观态度。

    关于移动端的未来发展趋势,我们可以从两方面来判断:1. 互联网行业环境的变化;2. 企业对移动端程序员招聘需求的变化。

    1. 行业环境:与更多未来场景相结合

    互联网行业环境方面,今年 AI、物联网、5G 等领域或概念的兴起,为移动端在未来提供了更多可结合场景,如无人车的车载系统、中高端手机的 AI 计算能力、物联网的智能家居万物互联等。

    “我认为安卓和 iOS 在将来一定还有很大的发展空间,毕竟它们的后台够硬——谷歌和苹果,系统的每一代升级都有很多新的东西出现。”码仔说,“而今年国内外的大公司都在发展 AI ,我相信安卓可以结合 AI 开发出更好的系统,给用户带去更好的体验。”

    比如谷歌这两年就在汽车领域集中发力,从 2016 年开始,就可以看到 Andriod Nougat 、Oreo 的代码分支上都有 Car 相关的代码在不断更新。Google I/O 2017 和 CES 2017上也有安迪、沃尔沃、FCA 这样的车企展示了他们新的基于 Andriod 的车载信息娱乐系统的概念产品。

    另一位去年通过我们入职北京某创业公司的 iOS 程序员郭光达也表示,在没有新的操作系统面世之前,他认为安卓和 iOS 系统不可能被取代。

    2.企业招聘需求:更青睐复合型人才

    如果说移动端兴起之初,企业只需要一个能搬运代码、运用开源框架的移动端程序员,来解决大部分问题,那么随着移动应用市场逐渐饱和,用户对产品体验的要求变得越来越高,企业对移动端程序员的要求也变得越来越苛刻。

    那么,2017 年,互联网企业更喜欢什么样的移动端程序员?100offer 在咨询此次接受采访的几名移动端程序员的同时,还查看了平台上的企业给高级/资深移动端程序员发出的面邀 JD ,总结了以下几点:

    1. 3 年+工作经验,深入了解移动端的底层和原理

    资深的移动端不仅要会用框架,还要会写框架,写之前更要深入了解底层和原理。

    2. 独立主导或开发过一款以上产品的核心项目

    独立项目的核心开发经验,是我们在很多企业给高级安卓/ iOS 工程师发送的职位描述中频繁出现的需求。

    2017年,移动端码农们的日子好过吗?

    100offer 平台某创业公司给高级 iOS 工程师发出的面邀

    对于每个人的工作结果都会被放大的创业公司来说,“一个职位一个坑”尤其被看重。因此他们认为有过独立项目开发经验的人,才能在将来的工作中独当一面。

    3. 丰富的项目经验或管理能力

    这是不少偏技术管理的移动端岗位,如移动开发组长要求的必备素质,也是移动端程序员想走技术管理路线的必备技能。

    4. 与产品经理和设计师紧密合作

    2017年,移动端码农们的日子好过吗?

    某公司在 100offer 给高级安卓工程师发出的面试邀请

    不断优化产品性能、提高用户体验的能力,这要求移动端程序员在沟通能力、视觉审美和对用户的需求了解上都要多下功夫。互联网上半场做流量,下半场做用户体验的说法由来已久,因而对产品结构性能的优化,是不少企业现阶段的发力点。

    5. 前后端开发经历是加分项

    优秀的程序员从不拘泥于任何一门单一语言,特别在产品更新迭代速度更快的今天,再精通一门语言,这样的复合型人才往往更受企业青睐。

    从以上几条可以看出,企业对移动端的需求,除了单一的功能开发外,还衍生出了许多诸如项目管理、产品设计沟通、前后端开发等附加因素。在这种情况下,越全面、复合型的移动端,越受企业欢迎。

    移动端工程师的未来发展方向

    前面提到,虽然大部分采访对象对移动端将来的发展趋势持乐观态度,但仍有一名做安卓底层系统的程序员荣武想在今年年后转行。

    “我身边做 framework 的程序员,都不想再做安卓了。”荣武说,随着安卓系统的不断更新和完善,他日常做 framework 的工作变成了以解 Bug 为主,而他身边做得最好的安卓程序员,哪怕做到了安卓架构师级别,也会感到迷茫,不知职业生涯的下一步该往哪里走。

    的确,随着 Google 官方在消除碎片化和各种支持包上的发力,很多程序员被动地沦为代码的搬运工,从事着初级 coder 的工作,得不到提升。但这并不意味着移动端程序员的路会在将来越走越窄。因为无论是横向还是纵向,移动端可选择的路都有很多条。

    一般来说,移动端程序员的进阶之路可以分两种:技术专精路线和技术转产品路线。

    技术转产品路线晋升轨迹:Android初级开发程序员-—中级—高级—软件架构师—系统架构师—产品经理—产品总监;

    技术专精路线晋升轨迹:Android初级开发程序员—中级—高级—软件架构师—系统架构师—项目经理—首席技术官。

    一般在大公司中走完这条路线的周期较长,但在很多初创型公司,从安卓初级开发到首席技术官最短可能是几年的距离。

    这次的受访对象码仔,就利用三年时间,从一个普通的安卓开发做到了一家创业公司的 CTO 。

    “移动端程序员现在做到哪些,才能在将来的市场竞争中步步高升,不被淘汰?”对于那些对未来感到迷茫、找不到方向的移动端们来说,他有 2 条建议。

    1. 下沉

    下沉的方向可以是 framework 。做 framework 就是往底层走,比如去一些手机公司如小米、魅族等做底层硬件系统。但 framework 的代码千头万绪,往往有几十亿行,如果能在某个领域做到技术制高点,将来也会因一定的市场稀缺性受欢迎。

    2. 拓展

    第二种方式是拓展, 程序员可以在精通移动端的同时,拓展自己的技术宽度。“现在流行T字复合型人才,即 80% 的时间放在技术深度上,20% 的时间放在技术爱好上,利用业余时间不断扩充自己的技术栈。这样无论以后去小公司一人多职,还是去大公司担任核心开发,都能更快了解合作方的需求,使双方的沟通成本更低。”码仔说,工作三年,他在精通移动端的同时,还通过自学学习了 iOS 和一些后台语言。

    3. 转型

    100offer 认为,如果前面两条路都走不通,那么最后还有一条路——转型。

    移动端程序员最常见的转型有产品经理和 Java。其中 Android 工程师转型 Java 在基础知识方面没什么难度,毕竟语言相通,特性相似。但建议不想每天改 UI 的,且刚入行不久的 Android 工程师转型,对于一些工作年限较长的 Android 工程师,如果本来就是 JavaEE 转型过去的,不建议再转。

    程序员转产品经理的案例也不少,产品经理也是技术岗位,只不过写的是给人看的需求文档。但转型产品经理前,一定要问自己为什么转型,因为产品不再拼技术能力,更多是沟通、管理和表达能力,需要看自己性格上是否真的适合。如果一个 Android 程序员写的代码只能让电脑看懂而不能让负责维护的程序员看懂,那么就不要转型产品经理。

    其实除了 Java 工程师和产品经理,移动端程序员还有很多转型方向。采访末尾,刚刚结束了几轮面试,仍对未来感到迷茫的荣武说他打算停止面试,在年前好好思考自己接下来的转型方向,他目前对图像算法比较感兴趣,但真正下决定,需要在过年期间慎重思考一番。他说:“毕竟我今年已经 31 岁了,下一次换工作,应该是职业生涯中最后一次选择机会了。”

    100offer认为,纵观整个 2017 年,移动端市场不再像 2016 年那样动荡。虽然表面上企业需求和求职人数都在下降,但这并非坏事。透过现象看本质,我们发现需求和人数减少的背后,是人员结构的调整和薪资待遇的提升——2017年,不适合这个行业的初中级移动端被淘汰了,优秀的移动端被留下来了,人才开始向复合型发展,综合能力越强的移动端,在将来会越来越受企业欢迎。原来所谓“寒冬”,真的只是对那些基础不好的人而言。

    (文中荣武、郭光达、码仔为化名)

    相关文章

      网友评论

          本文标题:2017年,移动端码农们的日子好过吗?(转)

          本文链接:https://www.haomeiwen.com/subject/viakwxtx.html