Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

Android開發已經涼了嗎?

這兩年有很多人有這方面的疑惑,在大方向講,任何一個行業都有有一個成長週期,Android經歷了2011-13年的野蠻生長後,已經進入了成熟期,這個階段絕大部分企業對Android崗位的需求迴歸“理性”,不是懂一點Android基礎就能找到工作的年代,這時候再從0起步可能比較晚,但Android市場卻普遍缺乏高級人才

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

目前Android市場上初中級的工資6K到18K不等,高級大概在20K-35K,很多朋友初中級開發者卡在20K這個門檻始終邁不過去,想要學習又不知道該怎麼着手,大多從做上層應用開始,到做 Framework 層就淺嘗輒止。

這裏我找來一則高級Android開發的招聘要求

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

Android開發人員的發展方向

這是小米在拉勾上的招聘要求,相當於p5到p6級別,除開學歷的要求外,我們可以看到它在Android基礎要求之外,把JNI/NDK/Framework,甚至JS、Server端開發也作爲了提升點,是全棧方向的雛形。我覺得大家可以經常在招聘網站裏看看現在的企業需要什麼技術,當然也不能把企業要求的都學了。我這裏大致總結了一下。

第一,橫向提升。

基於全棧發展的趨勢,在自己擅長領域深入專研的同時橫向擴展,不要關起門來閉門造車。而這裏說的橫向提升就是向大前端轉型,在除了要在APP會hybrid開發(Flutter、web、native、前端交互、硬件交互)之外,還要會web開發,微信小程序,H5。

比如服務端開發,我們做Android開發很多時候,要依賴於服務端接口返回數據,可以自己試着搭建一下,至少要對服務端的結構理論、服務與服務之間通信、聚合是什麼樣的流程也是需要有所耳聞。

第二,縱向重塑。

一直以來,做Android開發有這麼兩個說法,如果是做應用開發,往應用架構方向發展比較合適,如果是做系統層開發,往往底層驅動比較合適。這裏我是比較贊同的,那具體應該學習什麼呢?

  • 移動架構

架構展示層: MVC、MVP、MVVM、Clean、Flux、Android Architecture Components;架構層:模塊化->組件化->插件化->沙盒/雙開技術,比如可以雙開微信,類似Docker, 每個頁面都是插件,類似Vue.js中每個頁面都是組件。

  • 基礎進階

這個方向可能比較多,比如VIEW、Android動畫機制、四大組件工作原理、多媒體技術等等。我們平常在工作中碰到的View滑動衝突問題、其實通過掌握View工作機制和Android觸摸事件體系就能輕易解決掉。還有對於需要開發絢麗的動畫效果,那麼對於視圖動畫和屬性動畫一些特性必須有一定的瞭解。Android 中的四大組件工作機制其實底層應用的是Binder機制,我們不妨從 AIDL 這個接口來了解 Binder。

JNI 和 NDK 開發也是比較常見,特別對於一些做 SDK 項目爲主的,這一塊開發流程也是需要掌握,NDK開發(含JNI)也是用人單位區分應聘者的手段之一,企業不一定要用到,但是可以通過是否掌握NDK來篩選人才。

  • 語言學習開發語言

這裏我要糾正一下學習語言不是跨行業,比如Kotlin可以說是Android世界的頭等公民了。再有時下比較火的Python和GO,另外做底層C/C++是必不可少的。

  • 源碼

要求能看懂並且熟悉源碼(自己選幾個第三方庫的也可以),要做到熟悉源碼及其實現原理。並且要做到能自己二次封裝(或自己貢獻三方庫)三方庫。這樣一來,你就會在維護中慢慢成爲這個技術塊的專家了。我覺得輸出倒逼輸入是一個不錯的學習方式。

其實學習的方向還有很多,這裏就不給大家一一羅列了,因爲不同行業不同項目需要學習進階的技能都不一樣,可以說360度發展。接下來直接給大家介紹一下,我的自身情況和學習的歷程。我的故事可能有點枯燥,但是希望大家可以做個參考,給自己積累一點學習之外的經驗也好。

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

我的心歷路程

13年,我從一個二本學院的化學專業畢業。許多同學畢業後都是在製藥工廠上班,朝九晚六,拿着微薄的工資。那個時候的自己很迷茫,總覺得未來不該如此淡然無味。一波波的招聘信息裏面,最熱門也最誘人的是互聯網/IT領域。

順勢而爲勇者勝。當機立斷,我決定轉戰互聯網行業。

不過,那時的我僅僅會一些C語言,投了幾十份簡歷都石沉大海——就我這專業,就我這經驗,想要很好的offer應該有點天方夜譚吧,現實也的確給了我響亮的一巴掌。

不服輸,我賭上了所有的勇氣立志從頭開始全面學習IT互聯網相關的知識。

生活總是會眷顧有準備的人,不久我還是拿到了一個offer,雖然公司不大,但總算也是對自己努力的回報。

對基礎原理不斷挖掘

進入公司,我的職位是Linux應用開發工程師,做App網絡傳輸模塊,本質上就是把本地的數據通過socket傳輸到服務端。用到的技術是C語言,網絡編程,多線程編程。

那時是最痛苦的幾個月,因爲非計算機出生,很多東西都不會,經常程序段錯誤,都不能定位到問題代碼。

當時處於試用期間,秉承着不成功則成仁的心態開始惡補相關的基礎知識以及代碼規範。那時網絡上沒有現成的視頻資料,艱難地把計算機專業的書籍自學了一遍。例如,數據結構與算法,計算機網絡,操作系統原理,計算機體系結構……

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

熬過了試用期,產品也上線了,第一次體會到成就感爆棚的感覺。

現在回頭看,經驗就5個字:原理很重要。很多看起來沒用的原理,其實是重要基礎。比如:

你能講清楚函數的調用過程嗎?是怎麼調用的?怎麼返回的?參數是怎麼傳遞的?函數的內存佈局是怎麼樣的?

如果瞭解這些原理,就可以快速使用各種開源庫。可以更快地熟悉各種中間件sdk的使用方法。剛入行技術不求多,熟練掌握一項技術,能把原理講清楚,拿得出手纔有基本競爭力。

專注方向

瞭解技術全貌,做合格架構師

基礎僅僅是開始,技術要有應用場景,轉化爲產品才能最大化地產出價值。

後來,我自學了Android開發,比如UI開發,網絡開發。當時也是夜郎自大得以爲UI開發就是Android的全部。投遞了很多大廠的Android崗位,卻沒有收到面試邀請。回過頭來再做分析崗位需求時,才發現自己技術棧背景確實不匹配,就算進了面試,好多問題也都答不上。比如:

1. 動態化混合渲染技術架構是怎麼樣?怎麼提高開發效能?

2. 產品的DAU有多少,如何保證穩定性高且可用的?

3. 如何跟蹤用戶行爲,利用大數據完善產品功能,降低運營成本?

這些問題讓我意識到,語言、UI和原理只是程序員的基本技能而已。

想要進一步發展,不光只考慮個人技術,必須在整個產品生命週期、開發、運維、能效上有合理的架構,進而滿足行業的發展需求。你不光需要考慮業務需求如何實現,更多的重心需要關注開發提效,大團隊並行開發協作,大流量穩定性保障。

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

學習Weex技術,Rn技術後,顛覆了我對移動APP開發的認識。如果寫native頁面,可能一天一個頁面,Android iOS就需要2個人日,Weex是跨平臺渲染,一份代碼可以在Android iOS兩個平臺使用。那開發一個頁面就只需要原來一半的資源。通過新技術合理架構提升研發效能,動態化技術提升發佈成本。

無論程序多麼完美,Bug永遠存在。對於線上故障,如果不能提前預防以及快速解決,損失可能不堪設想。所以線上運維,異常監控,性能監控,數據埋點是優秀架構師的必備技能。

自學的過程是痛苦的,移動端的技術日新月異,很多前沿的技術還沒有體系化的書籍,只能在論壇,博客等看零碎的文章,學習效率比較慢。要想高效的學習一線技術,網絡課程是一種新的選擇。有老司機指導方向,避免走彎路,事半功倍。

沉澱經驗

適應發展,做技術的領頭羊

有良好的技術基礎,學會了行業流行的框架,可能只是獲得了進入大廠的敲門磚。多少人努力進入大廠,最終默默無聞地進去,悄無聲息地出來。沒錯,平臺很重要,但更重要的是你能在這個平臺上發展到什麼程度。

能夠決定你在這個平臺發展多遠的東西,往往很實在,那就是你的技術水平。

我本人也是Android開發工程師,從業已經有七年多了,這裏分享一份我這麼多年以來收集的一些Android進階資料,包括現在一些BAT大廠提升進階所需的知識圖譜,和Android小白——Android高級架構師 所需的進階視頻、全套學習PDF文件、面試文檔、源碼筆記。

  • Android小白——Android高級架構師 所需的進階視頻

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

  • 全套學習PDF文件

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

  • 精選Android面試文檔

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

如果你有需要的話,可以私信我【進階】領取

或者直接點擊下面鏈接,即可領取

Android學習PDF+架構視頻+面試文檔+源碼筆記

Android開發進階之路,你需要掌握這些關鍵技術!40萬年薪不是夢

這個日異月新的時代,不光需要Follow一線技術,更重要的是要引領時代,才能在技術快速發展的階段不被淘汰,才能在下一次技術革命中抓住機會。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章