Android:職業飽和停滯不前的程序員該如何逆勢而上?想穩定最後還是得拼實力!

隨着國內移動互聯網的高速發展,各類應用軟件(app)如雨後春筍般湧現,許多應用程序甚至成爲超級app,一些活躍用戶過億的應用程序成爲國民app,這些app的興起與程序員這個羣體密不可分。

快速發展的行業、互聯網巨頭的光環、國民級的應用程序帶來的成就感、遠超出普通行業的薪水,每年都在吸引着大量的程序員。

然而,在吸引湧入的同時,競爭也變得越來越激烈,程序員的35歲門檻已一度成爲社交媒體熱議的話題,中年焦慮成爲了我們程序員心中無法打開的心結。

那麼,作爲Android程序員,我們應該如何自救?建立起什麼樣的競爭力才能讓使自己擺脫焦慮並在漫長的職場道路上不掉隊呢?

此刻身處風暴中心的的程序員們又該如何逆勢而上?

唯有不斷學習,不斷更新自己的知識和技能,在一家公司找到自己獨特的價值,讓自己擁有不可替代性,永遠居於前位,不被末位淘汰。

即使被清退,也有過硬的本領迅速找到更合適的工作。

而對於一些不愛學習的半吊子程序員來說,被清退可能就意味着災難,技術水平低,簡歷也單薄的可憐,投出去多少都很難收到面試機會。

接下來我們先來看看程序員學習需要注意的幾個點以及:

Android移動開發晉級的三個“相對條件”

第一:興趣

這事不展開說了,每個程序員都知道,做碼農,如果不能樂在其中,是很痛苦的一件事,因此,入行需謹慎

第二:靜氣

如果你新入行,菜鳥級,你的工作主要是改bug,不停的接受改bug的任務,總之,都是小事,這時,也許你會焦慮,我的對策是:馬上定一個目標學習計劃,主動學習,因爲大學裏的知識體系基本無用,Android不難,三個月會有小成。

第三:平臺

自行車再快,也沒有寶馬快。努力固然重要,平臺也很關鍵,因爲那裏有很多大牛人可以迅速帶你成長,如果你現在還沒有一個好的平臺,你就泡一些大牛出沒的論壇,看幾本好書,找機會換到寶馬平臺上去。提示:換平臺的時機很重要,您至少得有大衆的實力,寶馬平臺才考慮接收你吧。

Android技術發展路線

晉升軌跡:Android初級開發程序員---中級---高級--軟件架構師--系統架構師--項目經理--首席技術官

這裏放上一張不程序員的薪資情況:(如下圖所示)

各階段對於技能要素的要求:

入門初級階段:

掌握Java基本知識(或任何其他面嚮對象語言),需要掌握Android SDK軟件開發工具包,多看Android相關的文檔,IDE (例如Eclipse),這些是必不可少的。順便學習一下JavaScript腳本基礎。掌握這些基本上已經可以算是入門了。

晉升中級階段:

想晉升爲到高級Android工程師至系統架構師的職位,很重要的一點就是學習研究源代碼,直接查閱Android的源代碼(這是看李寧老師的書得到的啓發),源代碼很容易從網上獲得。同時,Android很大程度上是基於Linux內核的,所以學習 Linux的相應API以及各種操作也是十分必要的。還有,常用混合移動開發框架(例如:AppCan)。編譯原理,高併發網站架構設計等技能。

高級發展階段:

再往上想發展到項目經理,還需要掌握Android 軟件安全分析技術、軟件開發常用測試、界面交互式系統設計,同時要補充些項目管理方面的知識,比如:軟件項目風險管理常用團隊協作開發工具需求分析設計設計模式。

要做到公司首席技術官的位子,更多的是從架構考慮,包括:數據庫系統優化、Windows Server服務器架設管理、網絡安全技術與解決方案(Cisco)、海量數據庫解決方案、大型服務器負載均衡優化技術等等。這是個需要絕對實力的職位。也是我的終極目標。

面試門檻越來越高

你是否有過這麼一段經歷,一直做着OA,CRM管理系統等傳統項目,簡歷技能開頭第一行,基本都是“熟悉Android四大組件”,然後下面接着就是熟悉XXX。然後不斷列名詞,舉例一下:

  • Android基礎紮實
  • 熟悉四大組件…
  • 熟悉OKhttp…
  • 熟悉RXJava…

這個,是否就是你的簡歷套路???

但是你發現,這樣的簡歷,沒有絲毫亮點,收到的面試機會更是少得可憐,而且還是低質量的外包居多。

於是,你就看了一些書和網上搜一堆面試題答案,加上了一些高大上的名詞來修飾,比如dalvik內存調優、熱修復、MVP/MVVM、人臉識別、響應式框架等。

這樣一來面試是有了,可是面試官一上來,就一頓連環問!!!

你說你有做過dalvik內存調優,那你說下大圖加載時爲什麼有的圖片有1M都不會OOM,有的圖片只有200K就報OOM了?也完全沒有超過網上所說的16M、32M的限制啊。你們是怎麼解決大圖加載的呢?

你說你們用了熱修復,在哪個業務場景用的?裏面的原理是怎麼樣的?分析下tinker和andfix的區別?你用過sophix嗎?可以猜下它的實現原理嗎?(這是讓我造航母嗎?深深地慶幸自己擰螺絲擰了好幾年沒下崗)

什麼是響應式編程?(響應式編程是一種面向數據流和變化傳播的編程範式~~就問你這種高逼格架構師專業術語懵不懵逼)RXJava是如何實現鏈式調度、線程切換的?

Jetpack用過嗎?jetpack裏面有些什麼(納尼?) 面試官:我們是大公司,很少用第三方庫,我們都自己手寫,你手寫過Retrofit這樣的框架嗎?(尼瑪…)

當然,最後面試還是失敗了...

從這裏可以看出,現在面試越來越難,已經不是簡簡單單看看書,掌握點簡單的理論就能通過了,更多的是考察一些開放性的問題,比如“有沒有遇到一些坑”之類的。

也許你會說,要遇到坑,也要有實戰場景,你不讓我通過面試,進公司實戰,哪來的實戰經驗。話雖如此,但是實際情況我們也要接受!

技術晉升路線參考

道理其實大家都知道,但是實施起來就遇到了問題,所以這裏我推薦最簡單的方式:

這裏先給大家一完整的Android晉升路線,話不多說,直接上乾貨:

從架構基礎開始,分了8個模塊來逐步從基礎進階到架構師的環節。

架構師築基語言基礎

Java語言進階與Android相關技術內核

學習路線推薦:

學習資源分享:

Android框架體系架構

學習路線推薦:

學習資源分享:

Android 360°全方位性能調優

學習路線推薦:

學習資源分享:

設計思想解讀開源框架

學習路線推薦:

學習資源分享:

NDK模塊開發(音視頻開發系列)

學習路線推薦:

學習資源分享:

微信小程序

學習路線推薦:

學習資源分享:

Hybrid 開發與Flutter

學習路線推薦:

學習資源分享:

最後乾貨分享

對於程序員來說,要學習的知識內容、技術有太多太多,要想不被環境淘汰就只有不斷提升自己,從來都是我們去適應環境,而不是環境來適應我們!

要想面試通過率高,除了提升技術平時刷面試題也是必不可少的,面試前做好準備是對面試的一種尊重。

最後再分享一些面試相關的乾貨:

Android相關源碼解讀

“編程語言是程序員的表達的方式,而架構是程序員對世界的認知”。所以,程序員要想快速認知並學習架構,讀源碼是必不可少的。閱讀源碼,是解決問題 + 理解事物,更重要的:看到源碼背後的想法;程序員說:讀萬行源碼,行萬種實踐。

主要內含微信 MMKV 源碼、AsyncTask 源碼、Volley 源碼、Retrofit源碼、OkHttp 源碼等等。

Android BAT高級開發面試題及答案解析

面試的前一週時間內,就可以開始刷題衝刺了。請記住,刷題的時候,技術的優先,算法的看些基本的,比如排序等即可,而智力題,除非是校招,否則一般不怎麼會問。

以上內容均免費分享給大家,需要完整版的朋友,點這裏可以看到全部內容。或者關注主頁掃描加 【微信】 獲取。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章