前言:

作者 | 梅梅    文章来源 CSDN

对于移动互联网而言,2018 年像是球场上的一声裁判哨。哨声响起,高潮迭起的上半场结束。本该再创辉煌的下半场,还没开赛却被告之:规则改变、场地收缩、教练下课、冷板凳无限加长。

这样前途未卜的下半场,你还敢上吗?

作为队伍「前锋」的移动端程序员,面对这样的挑战,又有哪些不一样的表现和前景?本文将结合招聘数据和候选人采访,展现移动端程序员「冰火两重天」的 2018 年。

2018:移动端上半场宣告结束

纵观近几年的平台数据,虽然移动端市场供需从 2016 年开始呈下降趋势,但是人均面邀数一直小幅增长。然而,2018 年这一趋势被彻底打破。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

相比于 2017 年,2018 年 Android 程序员人均面邀数减少 40%,iOS 程序员降幅更高达 57%,即平均每个移动端程序员在找工作时收到的面邀数比去年减少一半。

其实也不难理解,现在互联网大环境不好,公司想招的是能帮公司打硬仗的人,而不是还要别人带教的小白。在总结失败经验时,认为我们自己除了工作年限的「硬件」不够,对于底层核心技术和基本原理的缺失,也是一大硬伤。

以前公司招移动端程序员,主要看你做过哪些项目,会不会画 UI,能不能写界面和业务逻辑。但是现在面试除了问你项目经验,还会问底层和原理的问题,甚至会延伸到公司的业务和数据。如果平时只顾埋头敲代码,肯定一问三不知。

通过 2017 和 2018 年不同工作年限移动端程序员的人均面邀数和面邀均薪进行比较,2018 面邀数下降幅度最大的,是工作 4-6 年的程序员。

而在全年整体面邀数下滑的情况下,工作 7-9 年和 10 年以上的程序员,收到的人均面邀数却实现了小幅增长。在面邀薪资方面,工作 7-9 年和 10 年以上的求职者的面邀薪资也一路「高歌猛进」。

「大龄」一直被视为程序员职场「催命符」。但在2018 年的经济寒冬,大龄移动端程序员却似乎迎来了久未谋面的「春天」。

此前的文章中曾多次探讨过程序员的「中年职场危机」问题,在各类社交媒体上,关于程序员「35 岁失业危机」的讨论也从未断绝。

很多人认为程序员这一行吃的是青春饭,35 岁职业生涯就到头了。虽说程序员需要拼体力,但是35 岁还在拼体力的程序员,绝对不会是一个优秀的iOS程序员,被淘汰也是理所当然的。

对比企业关于初级移动端程序员和资深移动端程序员的招聘要求,很明显可以看出,初级移动端程序员的招聘要求主要是熟练的语言基础,而资深移动端程序员则需要对设计模式、深层管理机制、底层原理有足够的理解,能从全局上对产品的设计和开发进行把控。

俗话说,姜越老越辣。对于移动端程序员而言,「辣」的不只是资历,更是「全局观」与「掌控力」。

2019:逆风而上,方是勇士之举

2018 年对于移动端人而言,是「兵荒马乱」的一年。中兴、华为先后遭欧美国家打压,苹果手机遭起诉,在中国的销售前景不明,中国移动端市场进入「淘汰期」。2019 年的移动端市场发展,是一个让人「忐忑不安」的未知数。

与此同时,移动端的技术迭代从未停住脚步。谷歌推出 Flutter 框架和 Dart 语言,Facebook 大规模重构 React Native,华为确认正自主研发手机操作系统替代 Android。2019 年的移动端技术发展,注定是「只见新人笑,不闻旧人哭」的新里程。

作为 2018 年移动端跳槽「薪资王」的杨辉,凭借自己稳扎稳打的 7 年移动端经验,成功以 65 万年薪跳槽至现在的公司。在谈及移动端技术的「变革」时,他非常坚定地认为:现有的移动端技术短期内依然「不可替代」,但是未来会和更多的新领域进行融合与合作。

「包括智能汽车、智能电视、AI、VR 产品都和安卓系统有关联,都是在安卓系统上做出的创新。移动端音视频也能和 AI、推荐算法融合。」

饿了么架构师 MM 也表达了同样的观点。「移动端的需求一直都在。但是未来需要移动端程序员往最底层和原理研究。对于程序员,到了一定阶段,不应该被语言和平台限制。」

同时,他们都提出,即使有一天现有的移动端技术真的被取代,对于真正「功力深厚」的移动端程序员也造不成任何威胁。因为技术是相通的,之前的开发经历完全可以复用和迁移。

但是对于那些「什么基础都没有,只会画UI,写界面,写业务逻辑」的移动端程序员而言,技术和语言的转变则会是「灭顶之灾」。

在谈到当下移动端程序员普遍存在的问题时,MM 提到了以下几点:

(1)只重视过程,不重视结果。有些移动端程序员虽然加班很多,但是产出的质量和工作时间不成正比。

(2)不关心数据。做了技术方案却不测试数据。但其实测试数据很重要,关乎很多核心的要点。

(3)不沟通,不交流。部分移动端程序员喜欢闷头做事,对自身的成长非常不利。只有经常参与别人的讨论才能发现自己的短板,更大程度地获得进步。

(4)没有 owner 精神。一些移动端程序员不能把事情做到有始有终,没有负责的态度。

(5)不学习。移动端是一个新技术更迭换代很快的行业,如果不学习,很容易被淘汰。

想要在市场和技术双重冲击的 2019 年「逆风而上」,移动端程序员需要注意以下几点:

(1)跨平台一站式开发将是未来趋势,要注重积累相关技术经验

从Facebook推出的RN(ReactNative)到近期 Google 推出的 Flutter,包括很多小程序快应用,都是移动端跨平台技术应用的尝试。虽然很多跨平台方案都有优缺点,至今没有完善的替代方案,但这是未来移动端开发不可逆转的大方向。

对于这些跨平台技术,即使在日常工作中不常使用,也需要不断学习跟进,为即将到来的改革做好充足的准备。

(2) 对于行业的选择要更加谨慎,切勿「金钱至上」

做程序员,一方面练技术,另一方面选行业也特别重要。因为持续的行业经验对职业发展有很大益处,也能规避过高的波动和风险。2018 年 P2P 的暴雷就给移动端程序员和全体互联网人敲响了警钟。

不过,具体的行业选择是一个仁者见仁智者见智的问题,MM 的个人经验是:「选择一个真正能对人的生活产生价值的行业,比如出行、生活服务等等。移动端程序员要有行业风险判断意识,要重「技术」和「产品」,不能一味地看重高薪,要知道高收益也往往意味着高风险。」

(3)做好职业规划,为自己建立良好口碑

切记做好职业生涯规划和时间管理,要有充分的时间去和别人做交流,了解「业界大佬」的做事内容和方式。人脉对于程序员很重要,不要拘泥于自己的小圈子,要去结识更多有能力的人,寻找更多的前进动力。另外,求职者如果拥有良好的人脉和业界口碑,在开源社区和别人有过合作,或者自身拥有开源代码,得到大家的认可,很容易不经过面试就得到新的工作机会。

(4)寒冬之下,更好地学习提升才是王道

2019 年不是颠覆性的一年,但是新技术会不断出现,「安于现状」是移动端程序员的大忌。每年苹果、Google、Facebook 等全球领先互联网公司推出的新技术一定要关注,对于底层知识架构需要不断加深。

此外,在本行业深耕细作的基础上,要不断扩展自身的技术栈,对于行业知识进行深入了解。除了阅读书籍,还可以通过老司机 iOS 周报、SwiftGG 翻译组、业界大牛的博客等途径获取相关的学习方法和内容。

「2019 年会是过去十年中最差的一年,却是未来十年中最好的一年。」这是最近流行于网络的一个段子。但是在移动端的球场上,即使比赛会越来越艰难,但是下半场的哨声已经响起,继续踢下去的「勇士」才可能赢得胜利。

2019 年移动端下半场,你准备好上场了吗

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。


文章来源于网络,如有侵权,请联系小编删除。

寒冬之下,移动开发没人要了? 浅谈 iOS 开发者该 何去何从?的更多相关文章

  1. 浅谈iOS视频开发

     浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...

  2. 开发高性能的MongoDB应用—浅谈MongoDB性能优化(转)

    出处:http://www.cnblogs.com/mokafamily/p/4102829.html 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往 ...

  3. 开发高性能的MongoDB应用—浅谈MongoDB性能优化

    关联文章索引: 大数据时代的数据存储,非关系型数据库MongoDB 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往决定了一个软件的质量,如果你开发的是 ...

  4. 浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

    通俗来讲,所谓一个工作流管理系统,如果将其拆分出来一个个单讲话,大致可理解为由工作流引擎.工作流设计器.流程操作.工作流客户界面. 流程监控.表单设计器.与表单的集成以及与应用程序的集成等几个部分组成 ...

  5. BizTalk开发系列(三十二)浅谈BizTalk主机性能优化

    很多BizTalk的项目都要考虑到性能优化的问题,虽然BizTalk采用多线程处理消息的,大大提高了程序效率.但默认情况下 BizTalk的主机有很多阻止参数会控制BizTalk对服务器的资源使用率, ...

  6. 浅谈iOS开发的协议(protocol)和代理(delegate)

    协议和代理对于一个新手来说确实不讨好理解,也有很多的iOS开发的老手对此是懂非懂的.网上的很多博文只是讲了怎么使用,并没有说的很明白.下面我谈一下我的理解. 1.你要先搞明白,协议和代理为什么会出现, ...

  7. 浅谈iOS开发中多语言的字符串排序

    一.前言 在iOS开发中,一个经常的场景是利用tableview展示一组数据,以很多首歌曲为例子.为了便于查找,一般会把这些歌曲按照一定的顺序排列,还会加上索引条以便于快速定位. 由于歌曲名可能有数字 ...

  8. 【游戏开发】网络编程之浅谈TCP粘包、拆包问题及其解决方案

    引子 现如今手游开发中网络编程是必不可少的重要一环,如果使用的是TCP协议的话,那么不可避免的就会遇见TCP粘包和拆包的问题,马三觉得haifeiWu博主的 TCP 粘包问题浅析及其解决方案 这篇博客 ...

  9. 浅谈iOS开发中方法延迟执行的几种方式

    Method1. performSelector方法 Method2. NSTimer定时器 Method3. NSThread线程的sleep Method4. GCD 公用延迟执行方法 - (vo ...

随机推荐

  1. C# 中使用特性获得函数被调用的路径,行号和函数

    自从 .net framework 4.5  增加了几个特性来获得函数的调用路径(CallerFilePath),调用行号(CallerLineNumber),和调用函数(CallerMemberNa ...

  2. LeetCode算法题-Perfect Number(Java实现)

    这是悦乐书的第249次更新,第262篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第116题(顺位题号是507).我们定义Perfect Number是一个正整数,它等于 ...

  3. RabbitMQ集群搭建和使用

    一.环境准备 1.选择RabbitMQ的版本 http://www.rabbitmq.com/changelog.html 注: 不同版本的Linux选择的RabbitMQ版本也不同,参照 http: ...

  4. 【English】20190415

    approximately大约 [əˈprɑ:ksɪmətli] This install will take + minutes and requires the download of appro ...

  5. Hive:ORC File Format存储格式详解

    一.定义 ORC File,它的全名是Optimized Row Columnar (ORC) file,其实就是对RCFile做了一些优化. 据官方文档介绍,这种文件格式可以提供一种高效的方法来存储 ...

  6. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

  7. Bootstrap开发框架界面的调整处理

    我在之前介绍了很多关于Boostrap的框架方面的文章,主要是介绍各种插件的使用居多,不过有时候觉得基于Metronic的Boostrap框架的界面效果不够紧凑,希望对它进行一定的调整,那么我们应该如 ...

  8. 一个方法教你认识ref(简单易懂)

    参数分为值类型和引用类型,当我们将一个值类型的参数进行传递到另一个方法的时候相当于,将这个变量进行复制到该方法进行操作,但是不会对该变量原始的值有影响. 但是有时候我们需要他有“影响”于是ref就出现 ...

  9. codeforces#983 B. XOR-pyramid (dp)

    参考博客:https://www.01hai.com/note/av137952. 题意:首先定义 (b代表一个数组) 给出一个区间,l,r,求它最大的连续子序列的函数值 分析: 定义dp[x][y] ...

  10. git revert用法以及与git reset的区别

    git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD     ...