iOS開發請您把握現在 — 面向未來學習 這一篇文章,如果你是一名iOS開發正好也處於開發晉升瓶頸迷茫期,不妨停下你的腳步,花五分鐘看看,興許有你需要的!文章結尾有彩蛋 群里常見的唱哀 iOS現在到底怎麼了?不行了麽? 許多年開發經驗了在金九銀十拿不到幾個面試邀請,`offer`也困難 現在要不要轉 ...
iOS開發請您把握現在 — 面向未來學習
這一篇文章,如果你是一名iOS開發正好也處於開發晉升瓶頸迷茫期,不妨停下你的腳步,花五分鐘看看,興許有你需要的!文章結尾有彩蛋
群里常見的唱哀
- iOS現在到底怎麼了?不行了麽?
- 許多年開發經驗了在金九銀十拿不到幾個面試邀請,`offer`也困難
- 現在要不要轉行,感覺現在是`大前端時代`.
- 現在年紀大了,是不是不太合適繼續做程式員!
到處都充滿了對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 的崗位招聘要求
③:縱觀 BOSS直聘 分析得出以下幾點
- A: 現在iOS市場招聘需求落在 `20-30K`
- B: 工作年限要求 `3-5年`
- C: 公司規模落在 `100-499-1000`
- D: 能力刷選條件
- 底層原理幾乎成為必備能力
- 相反UI能力慢慢在招聘要求裡面沒有直接板書了
- 性能優化以及架構能力相對比之前要求還是持平
- 數據結構演算法能力占比也比較大
- 跨平臺能力也占有比較高
二、分析自己的現狀
分析基本信息
- 這個小伙伴非計科出生,專科學歷。
- 乾過幾年業務銷售,後面轉行開始IT學習
- 學習iOS之後去了一家外包公司開發3年,跳槽了另一家小公司開發兩年,倒閉了!
- 5年開發經驗,30左右,現在北京奮鬥!
- 公司倒閉之後,金九銀十開始找工作,拿到了7個面試邀請,暫時沒有合適的offer!
分析專業技能
下麵是一份普通的簡歷中的技能情況,大家也可以對比一下你的簡歷
總結:這份簡歷專業技能寫的還是比較中規中舉的!但是很顯然沒有達到一個要求 20-30K - 5年 開發需要的能力!
- 太過多涉及基礎內容:單利、代理、Block通訊、iOS自動佈局,OC和JS交互能力
- 掌握的東西錶面看來都是只知道熟練使用,並沒有涉及底層原理
- 專業技能沒有太多對口我們上面的分析的內容:性能優化、架構設計、底層原理
- 沒有比較顯眼的加分項!
分析項目經驗
我這裡因為考慮到個人的隱私(儘管已經授權)這裡就沒有貼出公司相關信息
這一項只是簡單介紹了工作,並且都是落地業務層,這樣的項目經驗還是不夠的,至少沒有看到一個成熟的開發者的身影!
一個資深iOS開發到底應該掌握什麼
現在2019年,iOS開發的確面臨很多問題:
- 有很多開始轉行了(我這裡就不分析轉行的利弊,大家自行定奪);
- 還有很多現在還在迷茫;
- 當然也有很多守得雲開見日出!
下麵跟那些還願意留在iOS行業想拼搏一把的小伙伴,分析一下一個資深iOS開發到底應該掌握什麼
1:底層探索能力
很多人會諷刺:面試造航母,上班擰螺絲! 其實不然,面試的高要求對於一家優秀的iOS需求單位來說是必須的!
- iOS開發實現的確有很多的方式,但是一個真正懂得原理的開發人員在日後的開發工作中是非常重要。我見過一些開發人員:遇到BUG都是直接面向百度,不知道為什麼直接 `command + c`/`command + V` OK,解決了,打版走人,下次又遇到了還是要面向百度,其中浪費的時間和小伙伴之間的溝通成本可想而知!
- 底層原理只是你在工作開發中偷懶而逃避選擇使用而已(或者全然不太瞭解)
- 技術不斷更新,底層原理是永恆根基
- 底層原理是非常重要的,只有真正掌握原理才能迎接未來無限可能。
下麵是我推薦大家學習的內容:
OC 底層探索篇也是大家熟悉而又陌生的地方,平時處處用,就是不知道為什麼!
2:性能優化以及架構能力
只要你面試要求 20-30K 必然要求性能優化能力!
- 怎麼優化啟動速度,應用包的瘦身!
- 界面優化(卡頓檢測以及分析解決)
- 記憶體管理方面也是面試以及平時開發的重災區!
- 架構並不屬於性能優化,但是我要求每一個 3年以上開發 都要有一定的架構思維!
3:數據結構演算法
數據結構演算法應該是每一個程式員必備的根據。
一個程式員需要兩樣東西:智商和勤奮
- 英文能力襯托你的勤奮度
- 數據結構演算法反饋你的智商等級
數據結構與演算法並不只是抽象的概念,掌握好的話可以寫出更高效、運行得更快的代碼,這對於如今盛行的網頁和移動應用開發來說尤為重要。如果你最近一次使用演算法是在大學課堂上或求職面試時,那你應該還沒見識到它的真正威力!
這個主題的大多數資料都有一種通病——晦澀難懂。滿紙的數學術語,我覺得一種有趣的學習方式也是非常重要的!
4:跨平臺能力
跨平臺的方案有很多:
如上表所示, RN 、 Weex 採用的技術方案大體相同,它們都使用 JavaScript 作為編程語言,然後通過中間層轉換為原生的組件後再利用 Native 渲染引擎執行渲染操作。而 Flutter 直接使用 skia 來渲染視圖,而 Flutter Widget 則使用現代響應式框架來構建,和平臺沒有直接的關係。
從性能方面來說, Flutter 的性能理論上是最好的, RN 和 Weex 次之,並且都好於傳統的 WebView方案
而從社群和社區的活躍來看,RN和Flutter無疑是最活躍的
總結:針對現在的行情比較我個人推薦大家學習:Flutter
- 同時現在很多人也開始著手學習了
- 如何襯托你的優勢,我個人還要推薦在平時入門到項目的過程,不妨花點時間探索了一下背後的原理:渲染的流程,`Flutter`和原生的共存通訊優化
- 下麵這張思維導圖大家可以參考學習
5:技術儲備以及加分項
現在的iOS開發為什麼會遇到瓶頸是因為 前面儲備過少,坐吃山空!技術不斷更新的時代,我希望你沉下心來與時俱進,不斷儲備技能為自己加分
這裡我推薦學習:視覺方向! 無論直播還是小視頻,圖形圖像處理成為必然的技能,在即將到來的5G時代里,這一塊技術必將成為你與其他開發人員差距的賽點!
同時也推薦大家學習:應用安全攻防方向 逆向安全這些年越來越被我們熟知並且需要!一個高質量安全的應用程式必將是你薪酬翻番的談資!
綜合總結
在現在這個群雄逐鹿的iOS市場,我希望你守住自己的浮躁,扛著壓力向前沖!學習的路上必然艱難,但是請你記住下麵這段話。
一個優秀的人從不拒絕知識,更何況是一個優秀開發者!!!
你要想站穩自己,未來崗位、薪酬待遇持續增長,我希望你保持學習,無論是:iOS底層、數據結構演算法、Flutter、架構性能優化、視覺與逆向安全攻防 學就完事了!
彩蛋
有一個iOS開發交流QQ群:1012951431,選擇加入一起交流,一起學習,共用學習資料。期待你的加入!(進群可領取學習禮包)