這一篇文章,如果你是一名iOS開發(fā)正好也處于開發(fā)晉升瓶頸迷茫期,不妨停下你的腳步,花五分鐘看看,興許有你需要的!
一位iOS開發(fā)者的焦慮
我知道,現在大部分iOS開發(fā)者對于“焦慮”這兩個字都比較敏感,甚至說是反感!可是這卻又是咱們不得不面對困難!
其實,我個人認為,相對于剛畢業(yè)或者兩年以內的iOS開發(fā)者來說,更容易焦慮和迷茫的是處于3-5年開發(fā)年限,年齡接近30歲左右的開發(fā)者們!
高級開發(fā)是所有iT行業(yè)都缺的,而初級開發(fā),大多數處于正值上升階段,對于薪資待遇要求低!所以最“尷尬”的位置,就是這不上不下的中級開發(fā)者們!
踏著iOS紅利期的尾巴進入這個行業(yè),享受過最舒適的時期,卻想象不到后面的發(fā)展!
一、目前iOS市場都需要什么?
打開BOSS直聘(畢竟現在大部分程序員跳槽找工作都是使用這個平臺,具有典型性)
搜索日期:2019年10月16日,以北京-iOS為搜索元素!下面我通過一個表格給大家分析iOS市場。
(因為時間原因只展開分析了前5頁,因為是一頁一頁數,可能會存在數字不是非常精準)
| 薪資待遇 | 崗位個數 | 年限要求 | 公司規(guī)模 |
|---|---|---|---|
| 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-30KB: 工作年限要求
3-5年C: 公司規(guī)模落在
100-499-1000-
D: 能力刷選條件
底層原理幾乎成為必備能力
相反UI能力慢慢在招聘要求里面沒有直接板書
性能優(yōu)化以及架構能力相對比之前要求還是持平
數據結構算法能力占比也比較大
跨平臺能力也占有比較高
二、大部分程序員的現狀
專業(yè)技能
這是一份再普通不過的簡歷了,你能看出他的亮點嘛?

對比你的簡歷,怎么樣呢?
分析一下?
先拋開學歷、項目經驗等等條件,但從一個5年左右的開發(fā)者角度來看!沒有一個能真正達到20-30K開發(fā)需要的能力!
整體來說,專業(yè)技能寫的還是比較中規(guī)中舉的!但是,這是一個三年,不混日子的開發(fā)者本就應該具備的素質!
過多涉及基礎內容:單利、代理、Block通訊、iOS自動布局,OC和JS交互能力
掌握的東西表面看來都是只知道熟練使用,并沒有涉及底層原理
專業(yè)技能沒有太多對口我們上面的分析的內容:性能優(yōu)化、架構設計、底層原理
沒有比較顯眼的加分項!
項目經驗
我這里因為考慮到個人的隱私(盡管已經授權)這里就沒有貼出公司相關信息

這個呢?是不是也很眼熟?
簡單的介紹工作,并且都是落地業(yè)務層,這樣的項目經驗顯然不夠支撐,至少看不到一個成熟的5年開發(fā)的身影!
那一個資深iOS開發(fā)到底應該掌握什么?
現在2019年,iOS開發(fā)的確面臨很多問題,但是守得云開見月明!
下面跟那些還愿意留在iOS行業(yè)想拼搏一把的小伙伴,分析一下一個資深iOS開發(fā)到底應該掌握什么
1:底層探索能力
很多人會諷刺:面試造航母,上班擰螺絲! 其實不然,面試的高要求對于一家優(yōu)秀的iOS需求單位來說是必須的!
iOS開發(fā)實現的確有很多的方式,但是一個真正懂得原理的開發(fā)人員在日后的開發(fā)工作中是非常重要。我見過一些開發(fā)人員:遇到BUG都是直接面向百度,不知道為什么直接
command + c/command + VOK,解決了,打版走人,下次又遇到了還是要面向百度,其中浪費的時間和小伙伴之間的溝通成本可想而知!底層原理只是你在工作開發(fā)中偷懶而逃避選擇使用而已(或者全然不太了解)
技術不斷更新,底層原理是永恒根基
底層原理是非常重要的,只有真正掌握原理才能迎接未來無限可能。
下面是我推薦大家學習的內容:

OC 底層探索篇也是大家熟悉而又陌生的地方,平時處處用,就是不知道為什么!
2.性能優(yōu)化以及架構能力
只要你面試要求 20-30K 必然要求性能優(yōu)化能力!
怎么優(yōu)化啟動速度,應用包的瘦身!
界面優(yōu)化(卡頓檢測以及分析解決)
內存管理方面也是面試以及平時開發(fā)的重災區(qū)!
架構并不屬于性能優(yōu)化,但是我要求每一個
3以上開發(fā)都要有一定的架構思維!

3.數據結構算法

數據結構算法應該是每一個程序員必備的根據。我記得我的導師跟我說過:一個程序員需要兩樣東西:智商和勤奮
英文能力襯托你的勤奮度
數據結構算法反饋你的智商等級
數據結構與算法并不只是抽象的概念,掌握好的話可以寫出更高效、運行得更快的代碼,這對于如今盛行的網頁和移動應用開發(fā)來說尤為重要。如果你最近一次使用算法是在大學課堂上或求職面試時,那你應該還沒見識到它的真正威力!
這個主題的大多數資料都有一種通病——晦澀難懂。滿紙的數學術語,我覺得一種有趣的學習方式也是非常重要的!
跨平臺能力
跨平臺的方案有很多:

如上表所示,RN、Weex采用的技術方案大體相同,它們都使用JavaScript作為編程語言,然后通過中間層轉換為原生的組件后再利用Native 渲染引擎執(zhí)行渲染操作。而 Flutter 直接使用 skia 來渲染視圖,而Flutter Widget則使用現代響應式框架來構建,和平臺沒有直接的關系。
從性能方面來說,Flutter 的性能理論上是最好的,RN和Weex次之,并且都好于傳統(tǒng)的 WebView方案
而從社群和社區(qū)的活躍來看,RN和Flutter無疑是最活躍的
總結:我個人針對現在的行情比較推薦大家學習:Flutter

同時現在很多人也開始著手學習了
如何襯托你的優(yōu)勢,我個人還要推薦在平時入門到項目的過程,不妨花點時間探索了一下背后的原理:渲染的流程,
Flutter和原生的共存通訊優(yōu)化下面這張思維導圖大家可以參考學習

技術儲備以及加分項
現在的iOS開發(fā)為什么會遇到瓶頸是因為:前面儲備過少,坐吃山空! 技術不斷更新的時代,我希望你沉下心來與時俱進,不斷儲備技能為自己加分
其實這里并沒有非常具體的推薦學習方向,總的如下幾點!
- 5G時代,小視屏/直播技術都是現在當紅,并且掌握人群非常少的技術,OpenGL ES、Metal、FFmpeg等等!
- 而應用逆向安全,是大部分大廠都一直重視的,只是在小公司突顯不出來,如果對于大廠有想法的,可以嘗試學習!
- 當然除了跟iOS有關系的,比如被炒火的Python,謠傳比iOS好找工作的前端等等都是可以學習的!
技術儲備和亮點,這些都得根據個人興趣或者公司需求來進行學習,當然越多的儲備就會使你后面的路走的越容易!
綜合總結
在現在這個群雄逐鹿的iOS市場,想要守住自己的“錢途”,學習是必然的,雖然很艱難,但是沒有容易的工作!
最后:
有一個大型的iOS開發(fā)交流QQ群:551346706!,已經超過2500名iOS開發(fā)者選擇加入!一起交流,一起學習,內推、吐槽、共享學習資料。期待你的加入!
