0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android工程師面臨著什么樣的難題

工程師人生 ? 來源:工程師吳畏 ? 2019-03-08 14:01 ? 次閱讀

寒冬真的來了嗎?可能是吧,因為最近幾年每年都說是寒冬,說的真的叫人焦慮。不過互聯(lián)網(wǎng)的整體環(huán)境確實不如前幾年,即使不說我想大家也能隱約的感受到了。作為曾經(jīng)炙手可熱的Android工程師,現(xiàn)在面臨著以下的問題:

互聯(lián)網(wǎng)整體環(huán)境不樂觀

Android開發(fā)人員眾多但崗位減少,導致要求越來越苛刻

大前端趨勢、跨平臺方案頻出、小程序肆虐,Android不再是應(yīng)用開發(fā)唯一的方案

人工智能、大數(shù)據(jù)、區(qū)塊鏈等技術(shù)炒的火熱,培訓機構(gòu)傾巢出動,學校學生瘋狂學習,而培訓Android出來就失業(yè),大學學Android出來基本也失業(yè)。

從上面幾點來看,說Android工程師是四面楚歌真的不為過,本篇文章會從以下幾個方面來進行分析,請輕拍。

解除對Android的誤解

是否要轉(zhuǎn)行

如何提升競爭力

1. 解除對Android的誤解

無論是Android同行還是其他技術(shù)領(lǐng)域,明顯都對Android有些誤解。作為Android開發(fā)來說,如果對Android有誤解可能會影響到后續(xù)的發(fā)展和決定,我有必要來消除這個誤解。

1.1 Android系統(tǒng)的未來

Android系統(tǒng)是根,沒了它Android工程師也不存在了。在我的記憶中,早在2011年就有言論說Android系統(tǒng)要完蛋,時過7年后,Android系統(tǒng)仍舊堅挺。目前對它唯一有威脅的是谷歌的Fuchsia,谷歌的真正用意可能是做個備選而不是替代,因為替代的難度太大了,現(xiàn)在Android已經(jīng)廣泛的應(yīng)用在手機、平板、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)、智能電視等等領(lǐng)域,是名副其實的終端霸主。我們不說手機,就說相對小眾智能電視和智能投影機,這些早已普遍應(yīng)用于各個家庭,新弄一個系統(tǒng),就想讓開發(fā)人員重新開發(fā)這些定制系統(tǒng)和應(yīng)用嗎?真的不會賣賬,更別說手機了。Android不是塞班,豈是想替代就能替代的,這難度好比重新開發(fā)個PC操作系統(tǒng)替代windows一般。所以Android系統(tǒng)還會存活很長的時間,具體多久不好預測,應(yīng)該比大部分人的程序員生涯要長。

最近谷歌在開發(fā)者大會上很少提及Android,很多媒體大肆宣揚谷歌不再重視Android,這是因為谷歌有很多新的產(chǎn)品要推廣,而作為谷歌大兒子的Android早已深入人心,無需過多的推廣,并不意味著谷歌不再重視Android,Android系統(tǒng)還會持續(xù)的完善。

1.2 Android的未來就業(yè)趨勢

雖然現(xiàn)在Android的就業(yè)形勢不大好,但是其他技術(shù)領(lǐng)域的就業(yè)趨勢也不樂觀,這是因為現(xiàn)在高校和培訓機構(gòu)大量的培養(yǎng)人員涌入。我05年上大學時,軟件工程專業(yè)不是很火爆,學一些常規(guī)的技術(shù),比如算法與數(shù)據(jù)結(jié)構(gòu)、c++程序設(shè)計、面向?qū)ο蠓椒俺绦蛟O(shè)計等等,畢業(yè)了也就是搞搞C++,做做Java Web和.NET等等。而放眼現(xiàn)在,IT相關(guān)的專業(yè)簡直就是火爆,大家都覺得這行有發(fā)展賺錢多,因此越來越多的學生報考了相關(guān)專業(yè),很多大學都有移動互聯(lián)應(yīng)用技術(shù)專業(yè),還有人工智能學院,每年都有大量的大學畢業(yè)生和培訓機構(gòu)出來的涌入市場,而中國的互聯(lián)網(wǎng)企業(yè)顯然不需要這么多的人才,最終的結(jié)果可想而知還是狼多肉少。

我們大概可以預測到未來Android開發(fā)的人數(shù)會增長緩慢,考慮到企業(yè)未來的職位,Android未來的就業(yè)趨勢會緩中有升,但其他的技術(shù)領(lǐng)域就不好說了,畢竟什么領(lǐng)域也抗不住涌入的人巨多啊。

Android工程師面臨著什么樣的難題

1.3 Android開發(fā)的天花板

很多人會覺得Android技術(shù)深度不深,技術(shù)棧不龐大,Android職業(yè)發(fā)展有限,這個真是大大的誤解。

先說技術(shù)上,Android的技術(shù)棧隨著時間的推移變得越來越龐大,細分領(lǐng)域也越來越多,主要有Android應(yīng)用開發(fā)、逆向安全、音視頻、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)、手機開發(fā)和SDK開發(fā)等等,每個細分領(lǐng)域都有很多技術(shù)棧組成,深度都足夠精深,就拿所有細分領(lǐng)域通用的Android系統(tǒng)底層源碼來說,就會叫你學起來生不如死。

再說職業(yè)上,確實Android應(yīng)用開發(fā)很難升任CTO,一般的CTO主要是后端,這主要是兩個原因:

后端的技術(shù)棧很早就成熟了,我8年前轉(zhuǎn)做Android開發(fā)時,那幫30多歲的Java開發(fā)就已經(jīng)很厲害了,隨著時間的推移,后端技術(shù)大牛遠比Android大牛的人數(shù)要多,也更厲害,他們做技術(shù)經(jīng)理時,我們都還在搬磚。

后端確實可以統(tǒng)籌全局,在公司業(yè)務(wù)上屬于重要地位。

不過我們忽略了最重要的一點,如果我們是做后端的,一定能做到CTO嗎?我想也是很難的,所以不要眼睛只盯著高處,先想想自己能達到什么程度,站在半山腰就說山下面的風景不開闊本身也不合理啊。

2.是否要轉(zhuǎn)行

Android不熱門了,很多Android開發(fā)已經(jīng)轉(zhuǎn)行了,有的正走在轉(zhuǎn)行的路上,還有的遲疑不決,到底要不要轉(zhuǎn)呢?我們來分析下。

2.1 轉(zhuǎn)什么最好

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

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

2.轉(zhuǎn)后端,后端這個就是完全的轉(zhuǎn)行了,看似Java大家都會,但是后端的技術(shù)??刹皇侵挥蠮ava,各種框架絕對叫你頭大,很多人強調(diào)后端技術(shù)深,各種處理高并發(fā)看似十分有技術(shù)含量,不過這只是為數(shù)不多的公司在做。如果想要穩(wěn)定的可以轉(zhuǎn)后端試試。

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

2.2 不要輕易轉(zhuǎn)行,要轉(zhuǎn)就盡早轉(zhuǎn)

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

從圖中可以看出,大部分人在35歲前是在加速期,35歲后是上升或者衰落期。以Android開發(fā)轉(zhuǎn)前端來說,假設(shè)一個Android高級A同學轉(zhuǎn)行前端會變?yōu)榍岸顺跫?,這時從事前端的人都在加速提高,A同學要想趕超前面的擁有同樣加速度的人是不可能辦到的,這就導致他在轉(zhuǎn)行前期極為被動,A同學還要保證在35歲前成為前端專家或者Leader才有可能在35歲后不進入衰落期,當然這時A同學的Android基本也就荒廢了,很難成為專家。如果還想要在技術(shù)領(lǐng)域走的更遠,就不要輕易的進行轉(zhuǎn)行,如果想要轉(zhuǎn)越早越好,越快越好,因為其他的競爭者都在加速提高,沒人會停下等你的。

2.3 轉(zhuǎn)行大部分都不是質(zhì)變

一個開發(fā)的質(zhì)變可以理解為在一個領(lǐng)域的大幅提升,或者是不相關(guān)領(lǐng)域的跨界,舉個例子:可以在Android領(lǐng)域由高級質(zhì)變?yōu)榱藢<?,或者是由一個高級開發(fā)升到了Leader,再或者跨界開始做了一些技術(shù)相關(guān)的培訓、演講、出書等等而被人所熟知。

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

3. 如何提升競爭力

看到這里,如果你還是想轉(zhuǎn)行的話就不要看下去了,我們來說下Android如何提升競爭力。

3.1 選擇一個細分領(lǐng)域

Android現(xiàn)在細分的領(lǐng)域非常多,前面說到的有應(yīng)用開發(fā)、逆向安全、音視頻、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)、手機開發(fā)、SDK開發(fā)和智能電視盒子開發(fā)等等,在這些領(lǐng)域中選擇一個并不斷深入。比如音視頻,在8年前我剛?cè)腴TAndroid時,音視頻就是悶聲發(fā)大財了(PC端),工資高的令人乍舌,現(xiàn)在在移動端,音視頻更是青出于藍,是一個非常好的選擇,如果想要入門可以看看何俊林《Android音視頻開發(fā)》。

3.2 盡量學習半衰期長的知識

知識半衰期指的是:隨著知識更新周期變短,知識裂變速度加快,一個知識落伍的周期。知識半衰期長的職業(yè)都是越老越值錢的,比如英語老師和外科醫(yī)生,知識更新慢并且?guī)缀醪粫湮?。這一點我們程序員是絕對比不了的,我們的大部分知識半衰期是比較短的,一個框架短短幾年可能就會被淘汰,這也導致程序員需要不斷的學習新知識,而我們每個人的時間和精力是有限的,那么根據(jù)知識半衰期,有策略的進行學習就變得尤為重要。

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

3.3 做減法,盡量專精一門技術(shù)

現(xiàn)在的社會,技術(shù)分工越來越細,越細就意味著大部分企業(yè)(小作坊除外)需要專精的人才(最好是精通一門通多門)。你會發(fā)現(xiàn)身邊脫穎而出的技術(shù)人大多都是靠一門技術(shù),卻很少看到會一堆技術(shù)卻都不精通的冒出來。好比在武俠的世界,高手對決都在同一個時間段拿出看家武學,如果看家武學都不精,分分鐘被虐,剩下的武學也無需拿出來獻丑了。聯(lián)想到現(xiàn)實版本就是去大公司面試Android,結(jié)果Android技術(shù)了解不深,被各種虐,剩下的前端技術(shù)、后端技術(shù)、python什么的,面試官也沒興趣了解了。

所以并不是你會的技術(shù)越多越好,一定要做好減法,先專精一門,然后再去學別的技術(shù)。

3.4 說說最近Android火熱的技術(shù)

Android相關(guān)的火熱技術(shù)最近幾年也是頻出,沒事就在刷屏,我來說說對這些火熱技術(shù)的看法。

Kotlin,從知識的半衰期來看,這門語言非常值得學習,不過想要普及還是非常難,因為Kotlin還沒有表現(xiàn)出非用它不可的競爭力,另外很多企業(yè)使用的成本比較高,大多數(shù)領(lǐng)導都是不求有功但求無過,不會下力氣推廣。

Flutter,從知識的半衰期來看,這個框架存在的時間相對不會長,目前也就一些有技術(shù)儲備的公司去試驗去嘗試,如果自己公司技術(shù)儲備不夠,就貿(mào)然當小白鼠顯然不是很明智。

這兩個技術(shù)都建議大家來學習,但不要指望它們會給你增加什么太大競爭力,李四1周能學會,張三同樣也能。

3.5 到底要深入學什么?

根據(jù)知識的半衰期,作為Android應(yīng)用開發(fā)最應(yīng)該學習的就是Java、App開發(fā)相關(guān)技術(shù)、Android系統(tǒng)底層源碼、數(shù)據(jù)結(jié)構(gòu)、設(shè)計模式、網(wǎng)絡(luò)相關(guān)等等。

但是大部分實際開發(fā)中,算法是最不常用的,經(jīng)常是為了面試去學的,那么剩下的內(nèi)容都是需要深入學習的。

我也是遵循這個想法,在2017年出版了《Android進階之光》,里面介紹了設(shè)計模式、網(wǎng)絡(luò)相關(guān)、Java、App開發(fā)相關(guān)技術(shù)。這顯然還不夠,因為還有一個最重要的知識沒有講,那就是Android系統(tǒng)底層源碼,這是知識半衰期長并且通用的知識,不論你從事Android哪個細分領(lǐng)域,Android系統(tǒng)底層源碼都是你需要掌握的,并且它會讓你擁有較強的競爭力,這是因為較長的時間也只能掌握皮毛。

為此,我在今年出版了Android進階二部曲第二部《Android進階解密》,這是一本為應(yīng)用開發(fā)寫的源碼分析書,會將系統(tǒng)源碼和應(yīng)用開發(fā)結(jié)合講解,幫助讀者融會貫通。

好了,就說到這里,本文可能還是有一些不成熟的觀點,大家請輕拍。另外,最好不要拿一些特例說事,有的人運氣好,他怎么折騰都成,而大部分人其實運氣很一般。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3903

    瀏覽量

    126606
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1561

    瀏覽量

    68304
收藏 人收藏

    評論

    相關(guān)推薦

    【直播預告】ADI & WT·世健MCU痛點問題探索季:MCU應(yīng)用難題全力擊破!

    面臨著諸多挑戰(zhàn)與痛點,這些問題不僅關(guān)乎系統(tǒng)的性能與可靠性,更直接影響著整個系統(tǒng)的穩(wěn)定性與用戶體驗。為了深入剖析這些難題,WT文曄科技聯(lián)合ADI在行業(yè)媒體eeworld論壇發(fā)起了"
    的頭像 發(fā)表于 09-19 08:05 ?84次閱讀
    【直播預告】ADI &amp;amp; WT·世健MCU痛點問題探索季:MCU應(yīng)用<b class='flag-5'>難題</b>全力擊破!

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    用二創(chuàng),1:1復刻工程師的職場現(xiàn)狀

    工程師
    揚興科技
    發(fā)布于 :2024年07月19日 18:30:07

    液態(tài)金屬鎵的罐裝與包裝過程正面臨著從傳統(tǒng)向智能化轉(zhuǎn)型

    在工業(yè)自動化迅猛發(fā)展的今天,液態(tài)金屬鎵的罐裝與包裝過程正面臨著從傳統(tǒng)向智能化轉(zhuǎn)型的迫切需求。富唯智能AMR復合機器人憑借其前沿技術(shù)的應(yīng)用和精準控制的能力,為液態(tài)金屬鎵的生產(chǎn)線帶來了革命性的變化。
    的頭像 發(fā)表于 07-02 15:08 ?204次閱讀
    液態(tài)金屬鎵的罐裝與包裝過程正<b class='flag-5'>面臨著</b>從傳統(tǒng)向智能化轉(zhuǎn)型

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的一種專業(yè)工程師,他們主要負責設(shè)計和開發(fā)嵌入式軟件,
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    一位硬件工程師的歷練之路:從入門學習理論到... #搞笑 #硬件工程師 #電子工程師 #揚興科技

    硬件工程師揚興科技
    揚興科技
    發(fā)布于 :2024年03月13日 17:50:21

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    如何搞崩一個硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49

    鴻蒙Harmony是如何影響Android工程師的呢?

    迅猛,目前已經(jīng)有包括社交、金融、影音、游戲、資訊、食品等多個領(lǐng)域的企業(yè)以及開發(fā)者加入到鴻蒙的生態(tài)建設(shè)中,可以說是從日常工作生活的各個領(lǐng)域全面展開。 為什么會影響Android開發(fā)工程師? 因為自從華為
    發(fā)表于 01-14 22:14