iOS开发,请您面向未来学习

原文作者:CooCi
原文地址:https://juejin.im/post/5da6d14ae51d4524b601b78a

这一篇文章,如果你是一名iOS开发正好也处于开发晋升瓶颈迷茫期,不妨停下你的脚步,花五分钟看看,兴许有你需要的!文章结尾有彩蛋

一位五年iOS开发的焦虑

有一个小伙伴跟我微信电话。接通,那边传来非常有礼貌的:大神好!紧接着就开始一连串的"轰炸":

  • iOS现在到底怎么了?

  • 5年开发经验了竟然在金九银十拿不到几个面试邀请,更别提offer

  • 现在要不要转行,感觉现在是大前端时代.

  • 现在30出头了,是不是不太合适继续做程序员!

全程电话里充满了这位小伙伴对iOS行情的焦虑,在手机这一端的我仿佛看到了他那失落的表情!这样的小伙伴的确在今年尤为之多,我没有乱!我知道此刻我应该做什么:

一、分析iOS市场

可能很多小伙伴,会猜测我第一步是安慰他的情绪。但是我没有,因为这是一个成熟的IT开发人员必须经历的东西,这样的失落焦虑对他会有另一重帮助:迎接焦虑 - 变压力为动力

①:我和他一起打开了 BOSS直聘 (毕竟现在大部分程序员跳槽找工作都是使用这个平台,具有典型性)以北京-iOS为搜索元素!下面我通过一个表格给大家分析iOS市场。

因为时间原因只展开分析了前5页,因为是一页一页数,可能会存在数字不是非常精准

薪资待遇 岗位个数 年限要求 公司规模
15K左右 40份 1-3年 20-99
20K左右 63份 3-5年 100-499
30K左右 93份 3-5年 100-499-1000以上
30K以上 33份 3-5-以上 499-1000以上

②:我开始针对这位小伙伴对应的要求,开始分析 20-30K 的岗位招聘要求

iOS开发,请您面向未来学习_第1张图片

③:纵观 BOSS直聘 分析得出以下几点

  • A: 现在iOS市场招聘需求落在 20-30K

  • B: 工作年限要求 3-5年

  • C: 公司规模落在 100-499-1000

  • D: 能力刷选条件

    • 底层原理几乎成为必备能力

    • 相反UI能力慢慢在招聘要求里面没有直接板书了

    • 性能优化以及架构能力相对比之前要求还是持平

    • 数据结构算法能力占比也比较大

    • 跨平台能力也占有比较高

二、分析小伙伴现状

分析基本信息

  • 这个小伙伴非计科出生,专科学历。

  • 干过几年业务销售,后面转行开始IT学习

  • 学习iOS之后去了一家外包公司开发3年,跳槽了另一家小公司开发两年,倒闭了!

  • 5年开发经验,30左右,现在北京奋斗!

  • 公司倒闭之后,金九银十开始找工作,拿到了7个面试邀请,暂时没有合适的offer!

分析专业技能

下面是这个小伙伴的简历中的技能情况,大家也可以对比一下你的简历

iOS开发,请您面向未来学习_第2张图片

总结:这个小伙伴的专业技能写的还是比较中规中举的!但是很显然没有达到一个要求 20-30K - 5年 开发需要的能力!

  • 太过多涉及基础内容:单利、代理、Block通讯、iOS自动布局,OC和JS交互能力

  • 掌握的东西表面看来都是只知道熟练使用,并没有涉及底层原理

  • 专业技能没有太多对口我们上面的分析的内容:性能优化、架构设计、底层原理

  • 没有比较显眼的加分项!

分析项目经验

我这里因为考虑到个人的隐私(尽管已经授权)这里就没有贴出公司相关信息

iOS开发,请您面向未来学习_第3张图片

这个小伙伴只是简单介绍了他的工作,并且都是落地业务层,这样的项目经验还是不够的,至少没有看到一个成熟的5年开发的身影!

一个资深iOS开发到底应该掌握什么

其实中间跟他分析了很多(比如对比分析了一些优秀简历),他也开始意识到自己为什么找不到合适工作了!

现在2019年,iOS开发的确面临很多问题:

  • 有很多开始转行了(我这里就不分析转行的利弊,大家自行定夺);

  • 还有很多现在还在迷茫;

  • 当然也有很多守得云开见日出!

下面跟那些还愿意留在iOS行业想拼搏一把的小伙伴,分析一下一个资深iOS开发到底应该掌握什么

1:底层探索能力

很多人会讽刺:面试造航母,上班拧螺丝! 其实不然,面试的高要求对于一家优秀的iOS需求单位来说是必须的!

  • iOS开发实现的确有很多的方式,但是一个真正懂得原理的开发人员在日后的开发工作中是非常重要。我见过一些开发人员:遇到BUG都是直接面向百度,不知道为什么直接 command + c/command + V OK,解决了,打版走人,下次又遇到了还是要面向百度,其中浪费的时间和小伙伴之间的沟通成本可想而知!

  • 底层原理只是你在工作开发中偷懒而逃避选择使用而已(或者全然不太了解)

  • 技术不断更新,底层原理是永恒根基

  • 底层原理是非常重要的,只有真正掌握原理才能迎接未来无限可能。

下面是我推荐大家学习的内容:

iOS开发,请您面向未来学习_第4张图片

OC 底层探索篇也是大家熟悉而又陌生的地方,平时处处用,就是不知道为什么!

2:性能优化以及架构能力

只要你面试要求 20-30K 必然要求性能优化能力!

  • 怎么优化启动速度,应用包的瘦身!

  • 界面优化(卡顿检测以及分析解决)

  • 内存管理方面也是面试以及平时开发的重灾区!

  • 架构并不属于性能优化,但是我要求每一个 3以上开发 都要有一定的架构思维!

iOS开发,请您面向未来学习_第5张图片

3:数据结构算法

iOS开发,请您面向未来学习_第6张图片

数据结构算法应该是每一个程序员必备的根据。我记得我的导师跟我说过:一个程序员需要两样东西:智商和勤奋

  • 英文能力存托你的勤奋度

  • 数据结构算法反馈你的智商等级

数据结构与算法并不只是抽象的概念,掌握好的话可以写出更高效、运行得更快的代码,这对于如今盛行的网页和移动应用开发来说尤为重要。如果你最近一次使用算法是在大学课堂上或求职面试时,那你应该还没见识到它的真正威力!

这个主题的大多数资料都有一种通病——晦涩难懂。满纸的数学术语,我觉得一种有趣的学习方式也是非常重要的!

4:跨平台能力

跨平台的方案有很多:

iOS开发,请您面向未来学习_第7张图片

如上表所示,RNWeex采用的技术方案大体相同,它们都使用JavaScript作为编程语言,然后通过中间层转换为原生的组件后再利用Native 渲染引擎执行渲染操作。而 Flutter 直接使用 skia 来渲染视图,而Flutter Widget则使用现代响应式框架来构建,和平台没有直接的关系。

从性能方面来说,Flutter 的性能理论上是最好的,RNWeex次之,并且都好于传统的 WebView方案

而从社群和社区的活跃来看,RN和Flutter无疑是最活跃的

总结:我个人针对现在的行情比较推荐大家学习:Flutter

iOS开发,请您面向未来学习_第8张图片
  • 同时现在很多人也开始着手学习了

  • 如何存托你的优势,我个人还要推荐在平时入门到项目的过程,不妨花点时间探索了一下背后的原理:渲染的流程,Flutter和原生的共存通讯优化

  • 下面这张思维导图大家可以参考学习

iOS开发,请您面向未来学习_第9张图片

5:技术储备以及加分项

现在的iOS开发为什么会遇到瓶颈是因为:前面储备过少,坐吃山空! 技术不断更新的时代,我希望你沉下心来与时俱进,不断储备技能为自己加分

这里我推荐学习:视觉方向! 无论直播还是小视频,图形图像处理成为必然的技能,未来5G时代的来临,这一块技术必将成为你与其他开发人员差距的赛点!

iOS开发,请您面向未来学习_第10张图片

同时也推荐大家学习:应用安全攻防方向 逆向安全这些年越来越被我们熟知并且需要!一个高质量安全的应用程序必将是你薪酬翻番的谈资!

综合总结

在现在这个群雄逐鹿的iOS市场,我希望你守住自己的浮躁,扛着压力向前冲!学习的路上必然艰难,但是请你记住下面这段话。

天降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。

你要想站稳自己,未来岗位、薪酬待遇持续增长,我希望你保持学习,无论是:iOS底层、数据结构算法、Flutter、架构性能优化、视觉与逆向安全攻防 学就完事了!

想要查看详细系统学习图的小伙伴,想要学习上以上技术点的小伙伴,这是我的交流群点击进群(备注123)

你可能感兴趣的:(iOS开发,请您面向未来学习)