2019年移動開發,我的求變之路

wingjay發表於2019-04-07

2019年移動開發,我的求變之路

上次釋出了《Android 技術的下半場》後,很多讀者反饋對這一觀點的認同。文中提到,移動開發並沒有變涼,更沒有很多人唱衰的“羅曼蒂克消亡史”那麼慘烈,它只是和網際網路行業一樣,泡沫逐步散去,開始進入了理性的下半場。

這裡我想和讀者分享一下,在移動技術的下半場,我們要如何去找尋自己的技術方向,如何培養自己的差異化個人競爭力。

先看幾張圖

下面是我在某招聘網站隨手找的幾個近幾天更新的 Android 工程師崗位招聘:

2019年移動開發,我的求變之路
2019年移動開發,我的求變之路
2019年移動開發,我的求變之路
2019年移動開發,我的求變之路

這裡想說明的是,很多人在說裁員潮恐慌,擔憂自己被裁,實際上是過度焦慮了。目前市場上還是有非常多好公司在招聘的,而且開的薪水基本能達到20K~50K,平均有14~16個月。

因此,我希望至少我的讀者能夠理性地去看待目前行業的發展,一方面不要無視行業正在發生的技術更迭,但是,更加不要一味地跟風唱衰。否則的話,就像毫無原則的 A 股散戶,盲目跟著大 V 去頻繁買入賣出,最終利息虧掉、甚至本金受損的,還是你自己。

有一句話說的好:總有大部分人在跟風焦慮,只有少部分人在默默牛逼。我們希望做的是那小部分人,能夠理性看待趨勢變化,同時保持客觀冷靜地自我成長。

那麼,2019年的移動開發,要如何去摸索自己的前進方向呢?

2019的移動技術

談到技術方向,很多作者會去大談特談一些完全空洞的未來十年的行業趨勢;也有的會一味地鼓勵大家轉技術方向,轉大前端、轉後端、轉AI;更有些人直接慫恿讀者拋棄技術方向,轉產品、運營,甚至離開網際網路行業。在我看來,這些想法多少有些不負責任,並沒有設身處地地考慮大家的實際情況。

下面闡述一下我的看法。

1. 不要輕易離開網際網路行業

很簡單,多數人來工作是為了掙錢的。而相比很多傳統行業而言,網際網路領域的薪資依然有著絕對的領先地位,而且,天花板也相對高很多,30歲左右,拿個阿里的P7、P8左右級別,或者去牛逼點的中型企業做技術管理,年薪一兩百萬問題不大,足夠你應對個人及家庭的各種經濟壓力。相比之下,其他行業很難能保證這樣的待遇。

另外,如果你覺得錢攢夠了,還可以選擇網際網路創業,網際網路技術的顛覆性決定了他有非常大的創新空間,而且這些年計算機技術不斷髮展,物聯網、5G、AI、大資料等技術不斷成熟並逐步落地,對於想創業的朋友有非常大的想象空間。

2. 不要輕易離開技術方向

有些讀者技術做久了,遇到了瓶頸,就會考慮離開技術去做產品、運營。當然我並非否定這種選擇,我本身是支援技術人去學習產品思維、使用者思維。但是如果說直接拋棄技術去轉產品,可能風險會很大。這意味著你要拋棄自己多年的技術積累,在一個新的方向從零做起,以後如果再想轉回技術,可能已經要被淘汰了。

當然,也有成功的大佬轉型成功,拼多多的黃錚就是技術出身,然後轉產品,最後創業。如果你未來也打算創業,那確實可以考慮這樣的一條路線。

3. 不要輕易更換技術方向

這一點就是最近幾年移動開發領域一直在討論的。有的想轉大前端,覺得大前端要一統使用者終端開發;有的想轉後端,覺得後端有高併發高效能,感覺很有技術深度;有的想轉演算法、AI,覺得這是未來的趨勢,一定要把握住。 這種思維就是我之前提的“散戶思維”:看到哪個火就去買哪個,追漲殺跌。瞭解股票的朋友知道,這種往往不會有多好的結局。而我比較推崇的是“價值投資”:不要受短期波動影響,如果你看好某隻股票,相信它內在的成長價值,就要長期持有,最終收益一定會高於大多數人。

不要覺得大前端、後端、演算法這種就一定高大上,每個領域都是為業務服務的,他們也要寫很多的業務程式碼,並不是天天都在忙著處理高併發、高可用之類看起來金光閃閃的問題。至於選大前端還是選原生,只不過是一種UI展示形式,最終做的都是業務開發,為你的簡歷帶來不了多大的閃光點。

而移動端這支“股票”,我還是看好的。

換句話說,除非哪天使用者都不用手機了,或者出現了比手機更牛逼的終端了,那時候才需要去擔心自己的飯碗。但我覺得更有可能的是,就算到時終端迭代,手機淘汰,我認為新終端裡面執行的作業系統,依然叫做 Android

我的個人2019技術規劃

下面結合下 2019 年的一些不錯的移動開發方向,來談一下個人今年的技術規劃作為參考。

1. 動態化

目前移動開發領域,動態化方案主要分成三類:

  • 增強 H5 容器,基於 WebView,這種方案應用最廣,成本相對最低;再加上國內自研的 WebView 核心如 UC 核心、X5 核心,可以實現較高穩定性和較低的平臺差異化;近兩年火熱的微信/支付寶小程式目前也是採用這種方案;
  • 基於 JsCore 進行 JS 與 Native 通訊,進而實現動態化;以 React Native、Weex 為代表。它和 WebView 方案的區別是:前者使用 Native View 作渲染層,而後者通過 WebCore 解析 Html、Css 來實現渲染,前者的效能更優;
  • Flutter 方案,它拋棄了 Js,由於它和 Native 頻繁的通訊導致效能下降,而是採用支援 AOT(提前編譯)的 Dart,後者在執行時速度更快,而 JS 是 JIT,即執行時才編譯;另外 Flutter 直接採用 Skia 渲染引擎,跳過了 JS 和 Native View 的頻繁互動,直接用 Dart 進行渲染,效能好很多。

動態化一直是移動應用追求的熱點,無論何時推出新的動態化方案,都會是大家熱議的話題,這也充分說明了這項技術對於各種業務型別的重要價值,值得大家長期投入時間進行研究學習。

2. 移動端架構

我知道大多數同學的日常開發還是集中在業務開發上面,更多的是要麼是開發 UI 頁面或自定義 View,要麼是封裝一些第三方框架如 OkHttp 來做一些輕度定製。可惜的是,這樣的開發經歷算不上太多的亮點,尤其當你工作了三年甚至更長,這些反而會成為你的缺陷:純業務開發、缺乏技術深度。

因此,我一直鼓勵讀者去深入學習移動端架構,不僅能夠擴大你的知識面,更能夠培養你的技術深度、思維的密度,能夠考慮一套穩定的架構能夠在各種各樣複雜的場景下都要能夠執行。而且,在移動端架構方面,很多大廠有數年的積累,我們可以通過去深入研究他們開源的技術框架和體系進行學習,有了這些研究,未來如果想進大廠就職,一定會是水到渠成的事情。

這裡列一下架構的點供參考,後續可做相關研究學習:

  • 跨平臺閘道器係統:例如微信的Mars,採用C++實現,內部封裝長連線、弱網優化、加密驗籤、流量管理等通用化技術,產出的程式碼可以同時應用於多端,包括移動端、PC端等;
  • 高效能日誌採集系統:能夠在不佔用過多CPU、IO等資源的前提下,儘可能多地將執行日誌儲存落盤,即時系統發生崩潰也要保證資料的完整性、安全性等,最後要能夠對資料進行壓縮甚至分片上報,或者通過長連線手動撈取;

限於篇幅這裡不列舉太多,感興趣的讀者可以檢視本人的小專欄《億級 Android 架構》,分析當前大廠如阿里、騰訊、美團等內部研發演進的 Android 框架,此不贅述。

3. 端智慧(移動端+AI)

這個可能有的讀者瞭解不太多,這個領域是近兩年開始逐步火起來的。基本的思路就是將 AI 演算法的執行直接從擁有龐大計算能力的服務叢集裡,直接搬到 CPU 等資源有限的移動端,從而實現更高的實時性,促成演算法實時落地生效。

基本流程就是在服務端進行大資料訓練,計算出一套可執行數學模型,壓縮下發到移動端;移動端實時採集當前使用者的資料,輸入到該數學模型裡經過運算,立即獲取結果。

端智慧和常規 AI 相比的好處有:

  • 實時性:無需將資料上傳至後端再等結果返回,如前幾年的 Prisma App,將照片變成油畫的過程是漫長的,如果它能實現端智慧,那就算沒有網路都能快速轉換照片;
  • 個性化:這幾年的推薦演算法都是希望實現高度個性化,如果有了端智慧的技術,就無需把你的瀏覽記錄上傳到後端去分析,而是可以在你一邊看,一邊本地就能立即計算出你的喜好,併為你快速排序、選擇你感興趣的內容;
  • 資料隱私:很多App會大量採集使用者資料上報到後臺進行使用者畫像分析,但在端智慧下,完全可以對使用者資料進行實時計算,提取特徵,再把特徵資料上報即可,無需上傳使用者真實資料。

18年阿里內部專門成立了一個端智慧團隊,致力於研究端上AI的業務落地,目前已有的兩大場景:

  • 視覺:這個在音視訊場景下應用廣泛,如抖音裡的人臉識別、支付寶的掃福、淘寶的拍立淘等都是這幾年大家都接觸過的端智慧技術;
  • 資料:這一塊就是在端上實時採集使用者使用資料,立即可以作出一些推薦決策,而無需把資料上傳後臺再去計算,省去這個漫長過程,實時的智慧推薦往往比常規的推薦會更有奇效。

4. 其他

除了上面三點,還有一些其他的方向可供參考:

  • 音視訊技術:這兩年抖音及一些陌生人社交產品,主打的都是音視訊實時體驗,吸引了非常多的年輕使用者,相信這個方向會持續很長時間,畢竟音視訊所能承載的內容和娛樂性遠比文字、圖片要多。因此,可以考慮將音視訊作為長期投入的技術點,當然,這種過度深入的技術點的壞處就是,因為過度專業化,在就業時可選擇範圍比較窄,只能選擇音視訊方向的企業;
  • VR & AR:隨著5G的逐步推進,相信 VR & AR 的大規模應用不會很遠了,感興趣的讀者可以提前佈局起來,研究研究 Apple 和 Google 推出的 AR 相關的開發工具,後面肯定會有一批公司成長起來;
  • 移動端區塊鏈:區塊鏈經歷過了前幾年狗血的劇情,現在也開始真正逐步落地,區塊鏈本質上是一項創新的技術,與移動端的結合也有非常大的想象空間。

寫作、閱讀、投資

2019年,除了技術的不斷探索,個人還會將業餘時間投入在三個方面:

1. 寫作

從入行以來,本人就一直熱愛寫作,文字的形式能夠存留時間最久,也能持續不斷被人所閱讀,產生價值。更重要的是,保持寫作不僅能讓自己反省所學習的知識,也能夠加深自己對某件事物的認知,畢竟很多東西只有在寫的時候才會發現自己思維的缺陷和漏洞。

2. 閱讀

想要不斷的輸出優質內容,就必須要不斷的自我輸入新知識。這不僅是對內容本身、對讀者的尊重,也是對自我成長的要求。

閱讀方面主要是以技術文章+書籍為主,會保持每週一定的閱讀量,未來會在公眾號「wingjay」裡,和大家分享我推薦的書單和一些閱讀心得。

當然可能有的人會問我時間不夠,其實我會在每天下班後,抽出兩到三個小時來進行閱讀、寫作,常常會持續到深夜甚至一兩點,不過這樣的學習並不會覺得累或者之類的,更多的是成長和踏實。

3. 投資

投資理財恐怕是很多年輕人缺乏的一項技能,因為從小他們灌輸的思想是省錢,把錢存銀行才安全,買定期才踏實。但實際上,中國從08年開始,為了應對金融危機而推出的 4 萬億大水漫溉計劃,已經讓人命幣貶值得非常嚴重。很多人抱怨房價上漲,但實際上,如果你具備投資理財的思維,在當時推出 4 萬億計劃時就應該想辦法把錢放入房地產來保值了。

當然,時機錯過了就是錯過了,不要覺得理財投資離你很遠,當你在頭疼房價高企時,你已深陷其中。

這裡做個小預言,去年底 A 股大跌,而今年又開始回升,有人認為這不過是短暫回暖,私認為,中國有可能要迎來真正的長牛,類似美國從80年開始持續到現在的超級大長牛市。坐等打臉~。

培養理財投資思維最好的是在十年前,其次是現在。而今年我會空出一定的時間來學習經濟、金融和理財,我一直相信,金融和網際網路是黃金搭檔,而一個既懂技術、又理解金融的人一定會有更廣闊的發展空間。

一個人的財富是他個人認知的體現。2019年,突破技術,提高認知。

適應、突破、逆風成長

時代在變化,技術也在不斷更迭。作為當今時代的一名技術人員,我們首先要學會適應變化,而不是被變化所淘汰。要不斷去關注變化,同時作出反應。要敢於跳脫自己的舒適圈,突破自己的瓶頸,不斷尋求新的技術成長點,在寒冬時期也保持學習、保持冷靜,逆風成長。

今年,也會在掘金、小專欄和公眾號「wingjay」持續輸出個人的學習心得和體會,前者以技術深度為主,後者以技術廣度和個人思考為主。

歡迎讀者和我一起,逆風向上?。

謝謝。

2019年移動開發,我的求變之路

相關文章