Android開發2個月還沒找到工作,要不要考慮轉行?


Android開發2個月還沒找到工作,要不要考慮轉行?


寫在前面;

今年春天疫情這盆冷水澆下來,對於Android開發者來說,甚至超過了之前所謂的寒冬。大批人找不到工作或者被優化,甚至公司整個部門撤掉的。

但是從側面看,這個狀態真的不失為一件好事;首先周圍的人終於不再像以前那樣抱怨環境了,接受了Android行業紅利期已經過去了的事實。更多人開始從抱怨外部的環境,轉移到審視自身的能力,認真修煉內功上來了。可以預見這樣下去,Android中高級或許會有一波小爆發,只要給足夠的時間,會多出一批資深移動開發架構師來。

這兩年也有很多Android開發已經轉行了,有的正走在轉行的路上。還有的遲疑不決,靜下來審視不想盲目跟風,而是希望找到自己適合的方向。

到底要不要轉呢?我們來分析下;

Android開發2個月還沒找到工作,要不要考慮轉行?

1. 如果轉行,轉什麼好?

每個人的自身情況不同,轉的方向也會有所區別,轉人工智能相關開發肯定是最好的,畢竟風口上的豬也能飛,跟著風口無可厚非。只可惜人工智能相關對學歷和算法要求很高,最起碼得是個碩士吧,而且這只是低配。那麼大多數Android開發可以轉的方向主要有前端、後端和python等等。我大概說一下:

1.轉前端,這個是我認為最好轉的一個方向,前端的理念很多都和Android類似,也可以作為Android的延伸,向大前端發展,如果對界面感興趣的可以轉前端試試。

2.轉後端,後端這個就是完全的轉行了,看似Java大家都會,但是後端的技術棧可不是隻有Java,各種框架絕對叫你頭大,很多人強調後端技術深,各種處理高併發看似十分有技術含量,不過這只是為數不多的公司在做。如果想要穩定的可以轉後端試試。

3.轉python,python最近真是很火,因為他跟人工智能發生了關聯,其實大部分學python的沒有搞什麼人工智能相關,基本都是在搞爬蟲。追求浪潮的可以轉python試試。

2. 不要輕易轉行,要轉就儘早轉!

轉行有兩種我認為是正常的,一種是行業消失或者沒落了,個人無法施展才華。另一種是興趣不在本行,因此轉一個自己感興趣的。而現在大部分轉行純屬是為了跟風,為了那點錢,而忽略了長期的發展。我們來看看下面的圖。

Android開發2個月還沒找到工作,要不要考慮轉行?

從圖中可以看出,大部分人在35歲前是在加速期,35歲後是上升或者衰落期。以Android開發轉前端來說,假設一個Android高級A同學轉行前端會變為前端初級,這時從事前端的人都在加速提高,A同學要想趕超前面的擁有同樣加速度的人是不可能辦到的,這就導致他在轉行前期極為被動,A同學還要保證在35歲前成為前端專家或者Leader才有可能在35歲後不進入衰落期,當然這時A同學的Android基本也就荒廢了,很難成為專家。

如果還想要在技術領域走的更遠,就不要輕易的進行轉行,如果想要轉越早越好,越快越好,因為其他的競爭者都在加速提高,沒人會停下等你的。

3 . 轉行大部分都不是質變!

一個開發的質變可以理解為在一個領域的大幅提升,或者是不相關領域的跨界,舉個例子:可以在Android領域由高級質變為了專家,或者是由一個高級開發升到了Leader,再或者跨界開始做了一些技術相關的培訓、演講、出書等等而被人所熟知。

凡是能幫助35歲後進入上升期的都可以看做是一次質變,而轉行很少是質變,更多的是倒退回到原點重新出發,形象點來說,就是換了個不同的磚頭接著搬磚而已(高技術含量的除外)。因此我們更應該去追求質變,而不是平行或者倒退,一次倒退可以承受,多次倒退就很難在35歲後進入上升期。

4.Android系統的未來

看到這裡,如果你還是想轉行的話,建議不用看下去了。我們來說下Android工程師的發展方向

.Android系統是根,沒了它Android工程師也不存在了。在我的記憶中,早在2011年就有言論說Android系統要完蛋,時過9年後,Android系統仍舊堅挺。目前對還沒看到可替代的系統出來,因為替代的難度太大了,現在Android已經廣泛的應用在手機、平板、車聯網、物聯網、智能電視等等領域,是名副其實的終端霸主。

我們不說手機,就說相對小眾智能電視和智能投影機,這些早已普遍應用於各個家庭,新弄一個系統,就想讓開發人員重新開發這些定製系統和應用嗎?真的不會賣賬,更別說手機了。Android不是塞班,豈是想替代就能替代的,這難度好比重新開發個PC操作系統替代windows一般。所以Android系統還會存活很長的時間,具體多久不好預測,應該比大部分人的程序員生涯要長。

4.1 .選擇一個細分領域

Android現在細分的領域非常多,有應用開發、逆向安全、音視頻、車聯網、物聯網、手機開發、SDK開發和智能電視盒子開發等等,在這些領域中選擇一個並不斷深入。比如音視頻,在8年前我剛入門Android時,音視頻就是悶聲發大財了(PC端),工資高的令人乍舌,現在在移動端,音視頻更是青出於藍,是一個非常好的選擇

4. 2. 儘量學習半衰期長的知識

知識半衰期指的是:隨著知識更新週期變短,知識裂變速度加快,一個知識落伍的週期。知識半衰期長的職業都是越老越值錢的,比如英語老師和外科醫生,知識更新慢並且幾乎不會落伍。這一點我們程序員是絕對比不了的,我們的大部分知識半衰期是比較短的,一個框架短短几年可能就會被淘汰,這也導致程序員需要不斷的學習新知識,而我們每個人的時間和精力是有限的,那麼

根據知識半衰期,有策略的進行學習就變得尤為重要。

Android開發2個月還沒找到工作,要不要考慮轉行?

上面的半衰期圖不完全準確,但是卻值得參考,如果你是其他的技術領域也可以參考這個半衰期圖。這個圖不是告訴我們不要去學RN和小程序,而是結合自身工作儘量學習半衰期長的知識。

5.到底應該深入學哪些方面?

根據知識的半衰期,作為Android應用開發最應該學習的就是Java、App開發相關技術、Android系統底層源碼、數據結構、設計模式等等。注意是深入學習。你要通過項目實戰理解這些技術的原理內核。知其然更要知其然。不然不管你做多久開發,依舊只是一個搬運工!

像我認識的還在做技術開發的,基本上都是35k以上,他們只會經常反思自己哪方面技術不夠深入,哪些重要的新技術還沒去學習。而不是人云亦云抱怨行業不好混不下去了轉哪一行比較合適這些問題。

Android開發者該如何提升自己?說說我的兩點建議:

1、橫向發展:(適合有自己專精技術的人)

在自己擅長領域深入鑽研的同時,會Hybrid開發(Flutter,RN,H5)之外,會web開發、微信小程序等,再過5年你也完全不用擔心找工作。但是,這確實比較難,全棧容易發展成全菜,就是啥都知道,啥都不精!

2、縱向發展:(適合大多數人)

如果做應用開發,就往應用架構方向發展;如果做系統層開發,就鑽研底層驅動。

可以從以下這些方面進行學習:

學習開發語言:

比如Kotlin,而做底層,DNK開發等C/C++是必不可少的,還有一個最容易忽略的也是最重要的 Java語言本身的高級面向對象思想

基礎進階:

比如高級自定義View、Android Framework層原理, App 管理機制等等;

JNI 和 NDK 開發也是比較常見,5G來了,招聘單位都在給自己公司規劃小視頻功能,然而我們卻連NDK都不懂;

源碼:

看懂並且熟悉源碼,熟悉其實現原理,爭取做到能自己二次封裝三方庫。

移動架構

架構展示層:MVC、MVP、MVVM、Android Architecture Components;

架構層:模塊化->組件化->插件化->沙盒/雙開技術;

Android開發2個月還沒找到工作,要不要考慮轉行?


學習方向很容易規劃,但是如果只通過碎片化的學習,對自己的提升是很慢的。

如何體系化深入學習Android?

我搜集整理過這幾年阿里,以及騰訊,字節跳動,華為,小米等公司的面試題,把面試的要求和技術點梳理成一份大而全的“ Android架構師”面試 Xmind(實際上比預期多花了不少精力),包含知識脈絡 + 分支細節

Android開發2個月還沒找到工作,要不要考慮轉行?

Java語言與原理;


Android開發2個月還沒找到工作,要不要考慮轉行?


高級UI;


Android開發2個月還沒找到工作,要不要考慮轉行?


性能調優;性能調優看似簡單,實際上要求極高。沒有一手好的代碼質量和設計思維,光靠修改調優作用有限。所以對於設計模式,數據結構算法這些基本功不能不精通!


Android開發2個月還沒找到工作,要不要考慮轉行?


NDK開發;


Android開發2個月還沒找到工作,要不要考慮轉行?


前沿技術;


Android開發2個月還沒找到工作,要不要考慮轉行?


從我搜集整理中瞭解的信息,這些技術熟練掌握的開發者,國內任何一個大城市到手薪資都在40W以上。

而對於在職阿里,騰訊這種巨頭公司,如果技術過關,同時還具備管理能力並且職稱不低的(比如阿里P7),年薪更是在百萬以上!所以何不給自己定一個高瞻遠矚的目標呢?

搭建知識框架很重要

我們在學技術的時候,如果沒有注重搭建知識框架的話,學到後期的話你就會遇到一個問題,就是會感覺到自己之前學習的知識很亂,不成系統,再加上行業技術更新很快,越往後自己學習的知識會越來越多,而之前的學習又是零散的自己沒有整理的,你就會感覺自己所掌握的這些知識是散亂的。

就好像很多點,線可能已經連接成了,但是就是組不成一個面。當我們做一個大一點的項目,需要熟練用到很多相關技術面,甚至會用到組件化技術。如果你長期只使用一些常用的技術點,那麼你可能還有很長一段時間要待在小公司搬運代碼了。

網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。建議大家先制定學習計劃,根據學習計劃把知識點關聯起來,形成一個系統化的知識體系。

我在搭建這些技術框架的時候,也整理了系統的高級進階教程,會比自己碎片化學習效果強太多,石墨文檔可免費分享;

《Android架構視頻+學習筆記》


Android開發2個月還沒找到工作,要不要考慮轉行?

免費分享;

後臺私信我關鍵詞【視頻教程】,自動回覆石墨文檔。


最後,借用小學語文課上學到的一句話;

學如逆水行舟,不進則退。

以前我一直懷疑這句話。終究是古人誠不我欺,從事開發這行之後自然就相信了。



分享到:


相關文章: