1. 程式人生 > >移動互聯網寒冬

移動互聯網寒冬

也有 好的 資料 探索 疑惑 而是 競爭力 模糊 目的

移動互聯網寒冬

關於 Android 市場需求,其實從前年開始 Android 就處於寒冬的境地,最直觀的標誌就是,工作不那麽好找了。因為前幾年移動互聯網開始流行,很多創業公司都是想抓住這個風口,所以就開始招 Android 和 iOS 工程師來開發 App。而且很多培訓機構也大量地培訓 Android 工程師,等到這一兩年需求慢慢飽和了,移動互聯網這一塊其實已經被 BAT 和其他的一些巨頭公司瓜分了,所以很多創業公司都倒閉了,導致很多 Android 工程師失業了,這是市場需求不高、移動互聯網寒冬一個很重要的原因。

如何在技術瞬息萬變中不被淘汰

最近 Python 最近很火,人工智能很火,區塊鏈更火,其實每一個時期都有比較火的技術,就像 Android 在 5 – 10 年前也是很火一樣,這是非常正常的,技術變化很快是互聯網行業一個很大的特點,作為一個搞 IT 的,其實在很早就應該認清這種局勢。互聯網是變化的最快的行業(沒有之一),互聯網本來就匯聚了世界上大部分的腦力精英,特別是矽谷的那些人,創新的能力不是我們能想象的。而且世界上排名前十的大公司,如:蘋果、微軟、Google、FaceBook、騰訊、阿裏 清一色都是 IT 公司,他們有著巨大的資金讓他們去研究新技術,技術變化不快才怪呢。

我們要做的只能是提高自己的實力,以及適當的緊跟趨勢,這裏說的實力主要有兩方面

軟實力(溝通、合作、創新、思考、情商)

內功(數據結構、算法、計算機網絡、操作系統等)

軟實力不用說,這是每一個行業都需要具備的東西,內功的話,我這裏說的都是拋開具體的實際應用(Android、前端、後臺)的計算機知識,因為技術總在變,但是這些根本的東西,其實是不變的,我們真正要掌握的其實就是這些不變的東西。

只要你這些基礎的東西都學得很好,管他技術怎麽變,其實都是底層知識在某些方面的具體應用而已,或者說這麽難的底層知識都學會了,你還怕學不會那些應用層的東西嗎?

理論結合實際

Android Training 是 Android 官方推出的,面向 Android 開發者的教程,一開始看 Training 可能會發現很多沒用過的知識,這很正常。因為這一份資料雖然是面向 Android 的。但 Android 裏面有很多方向,除了常見的手機應用開發(App)之外,還有 Android TV、Android Watch、Android 平板、甚至車載系統,Android 音箱其實都是 Android 的應用,我們現在很多人也只是學 Android App 開發而已。

所以在學習 Training 的過程中,其實那些有關 TV、ChromeOS 的內容,可以不用去管他,只要看跟 Android App 有關的就行了,但是這些有關的內容必須過一遍,即使你看了就忘,但是至少你在實際開發的過程中,遇到某個開發點,然後會回想起我好像在 Training 裏面看過,然後重新找回來看,這樣就夠了。

所以關於 Android Training 以及 Github 上某些框架(如:www.feifanyule.cn okhttp、Matisse、GreenDao等)的 wiki,我的建議是:先通讀一遍,然後在實際開發中去熟悉它的用法,等開發結束後,再回來重新看一遍 wiki,因為你在開發中其實會遇到很多疑問的,這時候帶著問題來看 wiki,你其實會發現之前第一遍看的時候沒發現的很多東西。這時候你才會對這個知識點、這個框架有了一個更好的把握。當然,如果想去更深一層的把握,就只能通讀它的源碼,這個過程很辛苦,但是真正啃下來,收獲真的很大,而且這也是內功的積累,也是所謂的核心競爭力。我自從擼了 Volley、Matisse 的源碼之後,就感覺現在看源碼的速度比以前快了很多,但之前看這些框架真的累的要死。

順便講一下我對一些技術書籍的看法,像《Android 開發藝術探索》,這本書寫的非常好,但是呢,它對於剛入門不久的新手來說很難,或者說並不是當前等級應該刷的關,說實話,裏面我也有很多不懂的地方,這本書本來就是面向高級工程師的。但閱讀技術書籍的話,我的建議跟看 Training 和 wiki 的看法是一樣,先通讀一遍,讓自己有個印象,等你實際開發中真的遇到了相應的問題,再回來看一遍,你就會有一種豁然開朗的感覺。所以,有的時候學技術,不要太拘泥於細節,如果真的啃不下,就先放下,可能等過段時候再回頭看看就會覺得特別簡單。就像現在去寫「天氣預報 App」一個道理,相信現在手擼個「天氣預報」是分分鐘的事,但是在剛入門那時候,相信「天氣預報」也折騰了我們不少精力,現在回頭看看是不是覺得很簡單了。

所以如果真的想做一個比較好的工程師,所謂的核心競爭力其實就是我在上面提到的「軟實力」和「內功」。這些不變的東西,才是我們最需要花時間去提升的東西。但是呢,這些所謂的內功又比較「虛」,為什麽這麽說呢,就比如我現在讓剛入門的新手把計算機網絡這本書給讀了,可能就屁顛屁顛看完,就這麽過去了,然後就好像什麽都沒發生過一樣。就像現在很多大學的課程一樣,其實都存在一個很大的問題,就是老師只給你講理論的知識,卻很少給你講理論在實際中的應用。或者他們也確實不會,現在很多老師都是一畢業就來學校教書,其實大部分已經跟實際的開發脫軌了,最常見的例子,現在大部分教 Android 的老師,都是用 Eclipse www.thd178.com 來上課。

上面我講的例子,主要是為了說明這些學這些所謂的內功的一些常見困惑,但很多時候其實不是我們不想學,而是不知道學了有什麽用而不想學,這時候「項目開發」的作用其實就出來了,理論和實際是真真正正需要結合才能發揮它最大的用處。就像在還沒怎麽開發過項目的情況下,讓新手去學計算法網絡、設計模式,其實效果是很差的,因為此時對網絡的理解其實很模糊,但是經過一定時間的項目開發,我們有了一定的代碼積累,也在調接口的過程中,遇到了一些有關網絡的問題,所以這時候再去看計算機網絡,就比較有用了,這時候其實我們會在看書的過程中找到自己遇到的問題本質的理論基礎,然後理論結合實際,你就會理解的更加深刻。

所以,想成為一個比較優秀的工程師,具體要怎麽走呢?相信我上面的例子,也能看出我的一些想法,我的建議是:在前進的路上,偶爾停停。什麽意思呢?在新手這個階段還是以項目驅動為主,慢慢積累自己的代碼量,然後在有疑惑的時候就用搜索引擎,找問題的答案。在項目沒什麽需求的時候,就可以靜下心來學我提到的數據結構和算法、設計模式、計算機網絡這些東西,在這些基礎的東西中,找到自己在項目開發過程中,遇到問題的本質,這樣才能對知識掌握的更好。

任何一個行業都是不容易的,唯有持續的「有效」努力,才能走得更遠。


640.jpeg

作者:developerHaoz

https://www.www.wendinyule.cn /p/9e1ee29bc60d

移動互聯網寒冬