美文网首页编程类图书馆iOS进阶干货分享
iOS开发者,抛开过去,如何面对现在,面向未来!

iOS开发者,抛开过去,如何面对现在,面向未来!

作者: _小迷糊_997 | 来源:发表于2019-10-19 16:57 被阅读0次

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

    一位iOS开发者的焦虑

    我知道,现在大部分iOS开发者对于“焦虑”这两个字都比较敏感,甚至说是反感!可是这却又是咱们不得不面对困难!

    其实,我个人认为,相对于刚毕业或者两年以内的iOS开发者来说,更容易焦虑和迷茫的是处于3-5年开发年限,年龄接近30岁左右的开发者们

    高级开发是所有iT行业都缺的,而初级开发,大多数处于正值上升阶段,对于薪资待遇要求低!所以最“尴尬”的位置,就是这不上不下的中级开发者们!

    踏着iOS红利期的尾巴进入这个行业,享受过最舒适的时期,却想象不到后面的发展!

    一、目前iOS市场都需要什么?

    打开BOSS直聘(毕竟现在大部分程序员跳槽找工作都是使用这个平台,具有典型性)

    搜索日期:2019年10月16日,以北京-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招聘需求,3-5年,北京20-30K这应该是基本要求吧

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

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

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

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

    • D: 能力刷选条件

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

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

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

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

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

    二、大部分程序员的现状

    专业技能

    这是一份再普通不过的简历了,你能看出他的亮点嘛?

    对比你的简历,怎么样呢?

    分析一下?

    先抛开学历、项目经验等等条件,但从一个5年左右的开发者角度来看!没有一个能真正达到20-30K开发需要的能力!

    整体来说,专业技能写的还是比较中规中举的!但是,这是一个三年,不混日子的开发者本就应该具备的素质!

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

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

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

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

    项目经验

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

    这个呢?是不是也很眼熟?

    简单的介绍工作,并且都是落地业务层,这样的项目经验显然不够支撑,至少看不到一个成熟的5年开发的身影!

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

    现在2019年,iOS开发的确面临很多问题,但是守得云开见月明

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

    1:底层探索能力

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

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

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

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

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

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

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

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

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

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

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

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

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

    3.数据结构算法

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

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

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

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

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

    跨平台能力

    跨平台的方案有很多:

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

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

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

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

    • 同时现在很多人也开始着手学习了

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

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

    技术储备以及加分项

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

    其实这里并没有非常具体的推荐学习方向,总的如下几点!

    • 5G时代,小视屏/直播技术都是现在当红,并且掌握人群非常少的技术,OpenGL ES、Metal、FFmpeg等等!
    • 而应用逆向安全,是大部分大厂都一直重视的,只是在小公司突显不出来,如果对于大厂有想法的,可以尝试学习!
    • 当然除了跟iOS有关系的,比如被炒火的Python,谣传比iOS好找工作的前端等等都是可以学习的!

    技术储备和亮点,这些都得根据个人兴趣或者公司需求来进行学习,当然越多的储备就会使你后面的路走的越容易!

    综合总结

    在现在这个群雄逐鹿的iOS市场,想要守住自己的“钱途”,学习是必然的,虽然很艰难,但是没有容易的工作!

    最后:

    有一个大型的iOS开发交流QQ群:551346706!,已经超过2500名iOS开发者选择加入!一起交流,一起学习,内推、吐槽、共享学习资料。期待你的加入!

    相关文章

      网友评论

        本文标题:iOS开发者,抛开过去,如何面对现在,面向未来!

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