Android開發要達到阿里P7水平,很難嗎?憑什麼人家能進大廠?

南方吳彥祖_藍斯發表於2020-11-12

寫在前面;

Android開發前幾年火爆一時,市場飽和後Android程式設計師每一名程式設計師都想進階,甚至成為架構師,但這期間,需要付出的辛苦和努力遠超過我們的想象。

就我這幾年對所接觸的Android工程師調研:97% 的Android開發 技術人都會面臨這些困境(可能也是你的困惑)

主要困境:

外包公司/小型團隊技術閉塞:如果你長期在小型軟體公司或外包公司工作,是很難有機會經歷完整且大型專案的開發,整個技術視野會比較窄,導致薪資長期處於停滯不前;

重複同樣的編碼工作:長期重複同樣的編碼工作,專案對你的技術要求就是那些,不會讓你按照自己的期望去發展,導致很長時間自己的能力都無法突破,企業更是難以接受新技術;

自控力差,沒時間學習:白天工作,晚上加班,只能依靠碎片化的時間學習,如果自控力比較差,基本就三天打魚兩天曬網,無法系統性學習,無法沉澱成技術實力;

目前的簡歷,難進大廠:現有的技術能力、專案經驗,無法透過大廠簡歷初篩,更別說拿到大廠的高薪 Offer。

這些問題,將會成為你職業發展的絆腳石,不想辦法解決這些,焦慮可能會像一塊巨石,壓在你身上。很多 求職者的能力體系企業用人需求有很大出入。

相信大多數從事Android開發的小夥伴一開始肯定不是抱著改變世界的宏偉目標,說白了就是賺錢的多,以後技術牛逼了,年薪百萬,走上人生巔峰,迎娶白富美~

但工作過一年後你會發現,自己的工作重點就是 將找各種各樣的元件、框架,拖拖拽拽,改改樣式。在極端情況下出現了問題後(比如部分機型上崩潰,載入圖片慢),也不知道該如何解決!

造成這種局面的原因:自己的意識不夠,格局受限,在向上提升方面也沒有 完整的規劃

一,職業發展規劃

從自身規劃的角度講,技術上的進階分如下幾個階段:

1.做好業務需求的功能。這個是初級程式設計師就應該有的能力。

2.解決極端情況下的技術問題,比如效能最佳化,OOM等。

稍有點規模的公司,肯定都會遇到這種問題,比如上文中說的App在部分機型上崩潰、頁面載入不出來等。只是大部分程式設計師會覺得難以復現,或者是因為小機率事件而忽略了。 在忽略這些問題的過程中,也放棄了進一步提升的可能性。還有一部分程式設計師是看到了這些問題,但一直不知道怎麼解決,因為這些問題的產生基本都是要往底層框架去找原因,而平時只關注上層的業務邏輯程式碼,因而沒有深入研究底層的原理,導致心有餘而力不足。

3.在開發框架和效率上做文章。

舉個例子,很多程式設計師說自己的精力都在和產品的撕逼中浪費了,但有沒有想過,能夠透過技術手段將自己從繁雜的無技術含量的工作中解救出來?比如是否能夠做到只編寫一次程式碼,或者改個配置引數就能夠做到在不同平臺上執行。更高的要求是,能否將這些方案做成通用框架或產品。

其實沒轉行的Android程式設計師,大多都是希望能在這方面繼續學習提升的。而上面列舉的幾個階段,首先要從思考方式上去逼迫自己不斷地逼迫自己,不要偷懶。其次,要想按照上述階段發展,還需要落在實處,在具體的技術體系中不斷的學習。

舉個例子:

對於OOM,需要知道有哪些最佳化工具可以使用(Lint、MAT等),如何檢測OOM,以及垃圾回收機制等深層次的原理。對於 效能最佳化來說,如何減少apk體積、資源動態載入等都是必會的。以下是效能最佳化相關思維導圖。

Android開發要達到阿里P7水平,很難嗎?憑什麼人家能進大廠?

具體怎麼做?

如果你現在已經是一個 Android 工程師,但是經驗積累的還不夠,那這個階段就是你成長極快的時候。前提是,你認同我之前經常說那句話:

從你入行那一刻起,你就要不停地學習。

對於 Android 工程師來說,想在業務能力上更進一步、讓自己更值錢,最大的捷徑就是用正確的方法來學習,好的方法能讓你事半功倍,下面就是我在學習中總結的兩個“捷徑”:

第一,用企業的技術要求來訓練自己。

作為一個程式設計師,你的知識體系,和企業的用人需求,是不一樣的。 Android 工程師尤其是。

我也見過一些讀者朋友,覺得自己的 Android 技術過關,但是一到面試就被 pass 了,問題就出在這,無法將 Android 技術應用到實際開發中。

這裡我建議 Android 經驗 1-3 年的讀者,可以對標阿里 P7 的標準。文章後面,我會給大家分享阿里 P7 的技術水平,和如何達到這樣的水平。

第二,制定一份至少 6 個月的學習計劃,目標儘可能明確。

我之前分享過一個觀點:學一個新東西,如果你能堅持 6 個月,已經躋身這些學習者的 25%。能夠堅持一年的人,不超過 5%。如果你竟然堅持學習了 5 年,就可以輕鬆打敗那 99% 的人,進入 1% 的行列。

我自己就是最好的例子,剛工作那會,我每天至少編碼 3 小時,一直堅持了 3 年。

我建議你現在給自己制定一個學習計劃,最好以 6 個月為一個週期,至於達到什麼程度,要根據自己的實際水平,可參考上面兩條。

以上 2 條,是我親身實踐得出的結論,希望你們能用得上。

肯定會有讀者想說:我也經常制定學習計劃,但是從來沒堅持下來過。

對於這樣的讀者,我更建議你能找一個系統學習的路線,很多大佬整理的學習路線都很好,能讓絕大部分學員堅持下去。

二,體系化深入學習

在體系化的學習過程中,部落格、書籍、影片課程都是較好的學習手段。

鑑於Android也是基於java語言的,因此很多與java相關的基礎也是必須掌握的,比如《深入理解Java虛擬機器》、《Effective Java》等相關書籍也是必讀的。

Android相關的書籍包括《Android權威程式設計指南》、《Android開發藝術探索》等,進一步的還可以去閱讀Android相關原始碼,配合《Android原始碼設計模式解析與實戰》等書籍,對閱讀原始碼大有裨益。

如果你覺得自己看書太慢而且難以全部理解,部落格不夠系統,可以找一套進階影片學習。沒有的話我可以免費分享一套給你

關於作者

作者目前在深圳,13年java轉Android開發,在小廠待過,也去過華為,OPPO等,19四月份進了阿里一直到現在。等大廠待過也面試過很多人。深知大多數初中級Android工程師,想要提升技能,往往是自己摸索成長,不成體系的學習效果低效漫長且無助。

今年整理了一份阿里P7級別的Android架構師全套學習資料,特別適合有3-5年以上經驗的小夥伴深入學習提升。

主要包括騰訊,以及位元組跳動,華為,小米,等一線網際網路公司主流架構技術。如果你有需要,儘管拿走好了。

以下為我的整理,粉絲免費分享;

三、進階阿里P7

1、確定好方向,梳理成長路線圖

Android開發要達到阿里P7水平,很難嗎?憑什麼人家能進大廠?

知識梳理完之後,就需要進行查漏補缺,所以針對這些知識點,我手頭上也準備了不少的電子書和筆記,這些筆記將各個知識點進行了完美的總結。

高階UI

UI這塊知識是現今使用者最多的。當年火爆一時的Android入門培訓,學會這小塊知識就能隨便找到不錯的工作了。

不過很顯然現在遠遠不夠了,所以很多人會覺得大環境不好了安卓開發要涼了。

這些人如果能自身反省;企業要你們這些CV工程師的意義在哪呢?

你要自己親自去專案實戰,讀原始碼,研究原理的呀。

效能最佳化

如果我是老闆,我招你來是寫程式碼的,不是寫bug的。如果你的程式碼太爛,各種bug。我把你開了後重新招個人進來接手維護,甚至推到重新做,後面那個接盤的是不是要罵街?

如果你會效能調優,能解決專案中各種效能問題。那麼拿20K真的不過分。你得具備深厚的程式碼功底,深入學習原始碼原理以及使用工具進行測試和檢查調優。

NDK開發

音影片,人工智慧,這些是未來沒辦法阻擋的發展大趨勢。我在獵聘網上看那些招聘崗位,要求精通NDK的薪資都在30-60K。追求高薪崗位的小夥伴,NDK開發一定要掌握並且去深挖

Flutter

火了一年多了,你工作不一定要用到。但是你出去面試(初級很少要求會),肯定會問到的。

關於Flutter是不是未來,我沒法確定告訴你,我能確定的就是你要去面試高薪崗位,你得掌握這種主流的新技術(大廠最看重的除了基礎,技術水平外,就是你的學習能力。)

移動架構實戰專案

架構師不是天生的,是在專案中磨練起來的,所以,我們學了技術就需要結合專案進行實戰訓練,那麼在Android裡面最常用的架構無外乎 MVC,MVP,MVVM,但是這些思想如果和模組化,層次化,元件化混和在一起,那就不是一件那麼簡單的事了。

架構師尤其是移動開發,數量太少了。可能很多Android開發的小夥伴都沒見過移動架構師。架構師薪資是什麼樣的水平呢?

  • 阿里P6處於高階工程師,年薪四五十萬左右
  • 阿里P7處於資深高階,年薪百萬左右
  • 阿里P8屬於架構師了,年薪可達170萬以上

阿里的標準和薪資都是很高的,其它公司會有差距,但不會太大。

2、透過原始碼來系統性地學習

只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。

真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。

Android開發要達到阿里P7水平,很難嗎?憑什麼人家能進大廠?
《486頁超全面Android開發相關原始碼精編解析》

3、閱讀前輩的一些技術筆記

Android開發要達到阿里P7水平,很難嗎?憑什麼人家能進大廠?
《960全網最全Android開發筆記》

4、刷題備戰,直通大廠

歷時半年,我們整理了這份市面上最全面的安卓面試題解析大全
包含了騰訊、百度、小米、阿里、樂視、美團、58、360、新浪、搜狐等一線網際網路公司面試被問到的題目。熟悉本文中列出的知識點會大大增加透過前兩輪技術面試的機率。

如何使用它?

1.可以透過目錄索引直接翻看需要的知識點,查漏補缺。
2.五角星數表示面試問到的頻率,代表重要推薦指數

Android開發要達到阿里P7水平,很難嗎?憑什麼人家能進大廠?
《379頁Android開發面試寶典》

以上內容均放在了開源專案: github  中已收錄,大家可以自行獲取。

你有沒有敢去想過,自己以後能達到架構師水平,突破百萬年薪,實現財富自由呢?如果你覺得這對於你來說不可能,甚至很可笑,那麼你就真的遙不可及了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2733883/,如需轉載,請註明出處,否則將追究法律責任。

相關文章