普通Android碼農,該如何逆襲月薪 5W 的移動端架構師?(Android架構師詳細學習資源)
作為一名普通安卓碼農,我相信大家都有一個成為移動端架構師的夢。
畢竟,安卓行業越來越內卷,這都是一個老生常談的話題了。如今會寫xml和Activity的程式設計師一抓一大把,如果你只是一名普通的安卓碼農,那面臨的求職壓力將是非常巨大的。
並且就算已經有了一份不錯的工作,但是作為一個普通碼農,由於不具備很強的不可替代性,你也將面臨著35歲被裁員的危機。
但如果你能成功轉型移動端架構師,那情況就有所不同。
事實上,陷入內卷的只是那些初中級的安卓程式設計師。 而像移動端架構師這種偏高階的人才在市場上依然供不應求。
拿我那些做移動端架構師的朋友們舉例,他們的月薪平均在5W左右,個別優秀的朋友,他們的月薪更是沒有上限,前段時間安卓圈還有傳聞,某大廠為招聘優秀的移動端架構師,開出百萬年薪。
因此,現在安卓開發人員感受到的行業已經是冰火兩重天的環境了。一方面那些停留在中低技術水平的安卓開發,仍在辛辛苦苦寫程式碼,為了一年漲2千塊錢的工資,瘋狂加班,還要時刻擔心被裁員;
而另一方面,中高階開發卻是企業青睞的物件,工資越來越高,同時也出現了中低端開發人員多人競爭一個崗位,而中高階開發人員一人被多個崗位競爭的現狀。
怎麼進階移動架構師?
大家先思考個問題:
幾乎每個程式設計師都想成為架構師,但到頭來95%以上碼農肝了好幾年、甚至十幾年,還是成不了架構師,問題究竟是出在了哪?
我認為根本原因還是在於: 絕大多數程式設計師的技能進階,都被侷限在業務層面上了,日常工作就是簡單的實現功能,程式碼能用即可,根本沒有機會去深入接觸程式碼架構、設計模式這些更底層的技術。
接下來是從初級進階到資深的一個學習路線:
初級
我對初級研發攻城獅的定義是掌握基礎的android知識,能夠獨立完成一個功能。這個層級大部分人透過看一些資料書籍再經過專案練習很快可以達到。
需要的技能有:
1.掌握android 四大元件知識,深入瞭解相關生命週期;對於Application、Fragment、Intent也必須掌握。
2.掌握android 基本佈局和控制元件的屬性和使用,常用佈局有LinearLayout\RelativeLayout\ConstraintLayout等,控制元件有TextView\ImageView\RecyclerView\ScrollView等。
3.對android的資源訪問使用有基本瞭解,瞭解android針對不同國家、語言、螢幕、API的適配原理。
4.掌握android系統服務和工具類的使用,對網路訪問和資料庫操作有基本認知。
5.熟練掌握研發工具,如IDE、模擬器、網路代理、日誌等。
中級
而到達中級就需要付出一些努力了,需要了解更多知識,可以仿照開源庫去造輪子練習。中級工程師要能夠熟練完成功能研發。
需要的技能有:
1.熟悉SOLID基礎設計原則,掌握23種設計模式。
2.對於研發語言特性java/kotlin有深入理解,如反射、動態代理、apt等。
3.對android架構有基礎瞭解,對apk結構和打包原理有深入瞭解。
4.對於android各個版本特性有基本瞭解,如MD設計、許可權管理、doze模式等。
5.熟練掌握各種研發除錯工具,如git、gradle、mat、layout inspector等。
6.掌握Handler\AsyncTask原理,熟悉多執行緒開發。
7.對繪頁面制原理有初步理解,能夠實現一個複雜自定義控制元件。
8.能夠熟練掌握開源庫的使用,如圖片庫(Glide\Fresco)、網路庫(Volley\okhttp\Retrofit)、工具(Dagger\RxJava\EventBus)等。
9.熟悉圖片最佳化常用方法,避免編寫記憶體洩漏的程式碼。
高階
如果到達中級,那麼恭喜你已經可以應付大部分情況了。但要能更進一步,就需要深入理解android系統的執行原理,達到融會貫通,可以作為android端上的架構師。
需要的技能有:
1.掌握java高階特性,如JUC、執行緒池、NIO\BIO等;掌握jvm虛擬機器知識,如記憶體模型、GC原理、類載入機制、執行緒模型等。
2.對android執行環境有深入理解,理解android沙盒機制,掌握AIDL原理及Binder通訊原理,瞭解app和activity啟動原理。
3.掌握熱修復原理,各大廠商方案的優缺點。
4.對於android事件分發有深入理解,重點掌握觸控事件機制。
5.深入理解android繪製原理,理解VSYNC和surface機制和視窗原理。
6.深入理解android動畫原理,包括補間動畫和屬性動畫。
7對於android安全機制有基本認知,理解android安全原理。
8.深入理解端上設計正規化思想,如mvc\mvp\mvvm\clean-arch等。
9.理解架構演進,有良好的分層和拆分思路,掌握模組化、外掛化、動態部署等。
10.對新技術敏感,理解掌握下一代架構dynamic feature等。
至此,android端研發你已經爐火純青,能夠面對各種情況,達到泰山崩於前而色不變的境界。如果還想繼續前進,就需要突破技術棧,從更高架構層次考慮問題。
資深
而到了資深層次,技術棧已經不再是阻礙。能夠從更高層面看待問題,理解整個系統的設計,作為系統架構師的角色存在。
- 理解微服務、SOA思想,對於後端開發有一定涉獵。
- 瞭解前端研發工具和思想,知道vue react等研發框架。
- 深入理解跨端技術,如phonegap、weex/RN flutter、小程式快應用等。
最後
對於很多初級Android工程師而言,想要提升技能,往往是自己摸索成長,不成體系的學習效果低效漫長且無助。整理的這些架構技術希望對Android開發的朋友們有所參考以及少走彎路,本文的重點是你有沒有收穫與成長,其餘的都不重要,希望讀者們能謹記這一點。
這裡是完整的移動端架構師成長路線圖,每一位程式設計師向架構師進階指明方向。(完整路線圖尺寸較大,文章無法完整顯示,如果想要領取完整的移動端架構師成長路線圖,請關注 【我的主頁】掃描二維碼獲取。)
最後想要拿高薪實現技術提升薪水得到質的飛躍。最快捷的方式,就是有人可以帶著你一起分析,這樣學習起來最為高效,所以為了大家能夠順利進階中高階、架構師,我特地為大家準備了 一套高手學習的原始碼和框架影片等精品Android架構師資源,保證你學了以後保證薪資上升一個臺階。
《Android開發七大模組核心知識筆記》
《960全網最全Android開發筆記》
《379頁Android開發面試寶典》
歷時半年,我們整理了這份市面上最全面的安卓面試題解析大全
包含了騰訊、百度、小米、阿里、樂視、美團、58、360、新浪、搜狐等一線網際網路公司面試被問到的題目。熟悉本文中列出的知識點會大大增加透過前兩輪技術面試的機率。
如何使用它?
1.可以透過目錄索引直接翻看需要的知識點,查漏補缺。
2.五角星數表示面試問到的頻率,代表重要推薦指數
《507頁Android開發相關原始碼解析》
只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。
真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。
資料太多,全部展示會影響篇幅,暫時就先列舉這些部分截圖,以上資源均免費分享,以上內容均放在了開源專案: 【 github 】 中已收錄,大家可以自行獲取(或者關注主頁掃描加微信獲取)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2726555/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 移動端架構師_Android架構師成長體系課程架構Android
- Facebook移動架構:Android Flux架構詳解架構AndroidUX
- Java架構師如何學習?Java架構
- 書單:移動架構師的學習先行軍架構
- 架構師之路:從Java碼農到年薪八十萬的架構師架構Java
- 月薪3000元的碼農到首席架構師的經歷架構
- 10年資深架構師分享 | 普通程式設計師向架構師進階之路架構程式設計師
- Google工程師多圖詳解Android架構Go工程師Android架構
- 架構學習筆記系列四——架構師軟文架構筆記
- 看阿里P9架構師如何向你定義架構及架構師阿里架構
- 如何面對JAVA架構師,和學習方法。Java架構
- 架構師修煉之道(二)——架構?設計?架構師?架構
- Android架構師必備的Java圖譜Android架構Java
- 十幾位資深架構師,整理了最新架構師學習體系,分享給大家!架構
- 架構師架構
- 學習Java架構師的路線分享Java架構
- 架構師都該懂的 CAP 定理架構
- 前端架構之移動端混合架構(hybrid)前端架構
- 架構師如何做出架構決策? – IasaGlobal架構
- 好資源分享 奈學教育《大資料架構師》大資料架構
- Android 學習筆記架構篇Android筆記架構
- 系統架構設計師學習(二)系統架構設計師緒論架構
- 企業架構師、解決方案架構師和技術架構師的異同 - Briqi架構
- 阿里架構師耗時一個月整理的《java架構師學習路線》太全了阿里架構Java
- 軟體架構與架構師架構
- 唯品會架構師是如何實現架構重構的架構
- 看資深架構師是怎樣學習RHCA的?架構
- 大資料架構師大資料架構
- 為什麼大部分碼農做不了架構師?架構
- 從菜鳥碼農到Java架構師——成長指南Java架構
- 架構師眼中的高併發架構架構
- 架構師的工作架構
- 架構師之路架構
- 架構師之系統安全(一)----------------如何防止百度移動轉碼架構
- 移動端架構的幾點思考架構
- 我對移動端架構的思考架構
- iOS 移動端架構的那些事iOS架構
- iOS移動端架構的那些事iOS架構