如何在Android開發者的寒冬中破冰而出?

碼個蛋發表於2017-09-18

前言

在這個行業,每隔一段時間都會出現新的技術,好焦慮呀,到底該學什麼?14年移動開發出現了大量的泡沫,隨便一個培訓機構培訓幾個月出來的在北上廣都是8k起,現在感覺移動開發工程師供應需求方都要飽和了。招聘公司每天簡歷都要收到上百封,很多移動開發面試都接不到電話。該怎麼辦?要學習RN嗎?要學習後臺嗎?在校的準程式設計師們學習android還合適嗎?現在移動端不景氣,是不是要學習新的語言,逃離移動端技術?

應該關注哪些技術?

這些問題,每天都會有人在群裡議論,也會有人經常在群裡求工作職位坑。那麼我的看法是不要糾結學什麼,先學了再說,與其抓住變數(新的技術手段)還不如好好學習,我特別喜歡《暗時間》的一段重視知識的本質:對於程式設計師來說這一點尤其重要,程式設計師行業的知識蕪雜海量,而且總是在增長變化。很多人感嘆跟不上新技術。應對這個問題的辦法只能是:抓住不變數。

底層知識永遠都不過時。演算法資料結構永遠都不過時。基本的程式設計理論永遠都不過時。良好的編碼習慣永遠都不過時。分析問題和解決問題的能力永遠都不過時。強大的學習能力和旺盛的求知慾永遠都不過時。你大腦的思維方式永遠都不過時。

我在剛入行時,一直在追逐最新最熱的技術,幾年過去了,才發現在,新的知識永遠在增長,感覺自己很無力,有一天無意間在網上看到Google的面試問題型別,我驚訝的是在面試題中沒有最新的技術,甚至不是在某一種語言下的知識,而是通用的知識,演算法資料結構,設計理論,編碼規範,那時我懂了,想起剛出來的時候去一些公司面試被問到演算法,一臉懵逼,並且還理直氣壯和麵試官說“開發用到演算法的地方不多呀,記不住也很正常。”,現在回想起來當初的想法真是給自己找藉口,因為演算法本身比呼叫API要難,你連難的東西都學好了,還學不會簡單的API呼叫嗎?本質上面試官是想看看你的學習能力和邏輯能力。

如果學好底層不變數,現在的大資料,雲端計算, AI 學習起來都是事半功倍,你以為你沒有基礎就能學好大資料,雲端計算,AI?我們不要拘泥於某一門語言而是先修煉好內功,你的在這門語言的造詣是否高深,最終還是由你的內功深厚程度來決定的。

應該如何學習?

我們知道該學習什麼了,那麼如何學習了?

在這個資訊爆炸時代,我們每天閱讀大量的資訊(微信公眾號、微博、簡書、知乎、CSDN、掘金 .....),閱讀過後總感覺自己學習到了很多新知,但是一週過後我們能說出來的收穫又有多少呢?

這不禁讓我想起塞內加的《論生命之短暫》中的一句話“如果一個人出海遇到狂風暴雨,被變換肆虐的風吹得團團轉,你可能會覺得他航行了很遠。其實航行得並不遠,只是浮沉動盪的時間長而已。”,沒錯如今的知識就像出海時遇到的狂風暴雨,我們只是被吹的原地團團轉而已,並沒有在知識的海洋航行很遠。

網際網路的強大足以讓我們查詢到我們想要學習的資料,但是太多垃圾資訊也摻雜在其中,如:大資料廣告,錯誤的資料,惡意的評論,吸引注意力的熱點資訊,這些東西無疑是對我們有百害而無一利的,那麼如何避免出現這些資訊呢?看本書吧,成體系,由淺入深,循序漸進,沒有我剛才所說的垃圾資訊,只需要支援幾十元的書籍費用,讓你的學習事半功倍。

現在網上的視訊也很多,牛人的收費課程也不少, 要不要去參與?

以通過閱讀書籍為主。市面上的視訊和收費課程,大多是內容都是來自書籍中的,太陽底下無新事。

以終為始先定一個目標,比如學完後寫一篇教程,然後去學習,這樣更加有動力,有意思的刻意練習,更為有效。知識經過整理,才更容易理解,容易理解的只是才更容易記憶。你想想所謂的高手是不是本質上就是在遇到對應問題場景的時候,能夠快速調起自己的腦海中的解決方案,並且成功的解決掉這個問題。

管理學中有個很不錯的模型,它非常適合用於學習,PDCA。

PDCA迴圈又叫質量環,是管理學中的一個通用模型,最早由休哈特於1930年構想,後來被美國質量管理專家戴明博士在1950年再度挖掘出來,並加以廣泛宣傳和運用於持續改善產品質量的過程。

PDCA是英語單詞Plan(計劃)、Do(執行)、Check(檢查)和Adjust(糾正)

P (plan) 計劃,包括方針和目標的確定,以及活動規劃的制定。

D (Do) 執行,根據已知的資訊,設計具體的方法、方案和計劃佈局;再根據設計和佈局,進行具體運作,實現計劃中的內容。

C (check) 檢查,總結執行計劃的結果,分清哪些對了,哪些錯了,明確效果,找出問題。

A (Adjust)糾正,對總結檢查的結果進行處理,對成功的經驗加以肯定,並予以標準化;對於失敗的教訓也要總結,引起重視。對於沒有解決的問題,應提交給下一個PDCA迴圈中去解決。

以上四個過程不是執行一次就結束,而是周而復始的進行。

總結:前期準備、中期執行、後期回顧

如何應用呢?

假設要學習設計模式。

step1 計劃:明確目標,分別把常用的23種設計模式列出來,一週學習一種。

step2 執行:按照計劃學習,學習完成之後寫一篇自己對設計模式的理解。

step3 檢查:寫完之後,請朋友閱讀,自己和別人的文章對比進行多維度的比較。

step4 糾正:現在大家都喜歡看寫的有趣的,可以改改自己的寫作風格迎合大眾的喜好。這個類圖畫的不錯,以後每篇都要畫類圖。

有人肯定會說了,我也知道學習很重要,但是我就是堅持不下來。

沒錯,我們人性天生懶惰,大部分的人都是半途而廢的專家,其實很多時候,不是我們比別人笨,而是別人比我們更堅持。高德納先生曾經說過“過早退出是一切失敗的根源。 興趣遍地都是,專注和持之以恆才是真正稀缺的。”,可見堅持的重要性那麼接下來我們就來說說如何更容易堅持。

怎麼樣更容易堅持?

《暗時間》中提到過這樣的一個方法給自己設立一個進度條。

如果你把任務分割了,你就有了進度條,你就知道,事情在不斷的進展,你總會完成任務或到達你的目標,你會有一個時間估計。反之如果沒有這個分割,整個的任務或目標對你來說就只有兩種狀態——“完成”和“未完成”,如果不幸是一個比較漫長的目標,那麼你會發現你的進度條總是“未完成”,一次又一次的等待未果會耗盡你的耐心,讓你下意識的產生“這事什麼時候才能完呢?”的疑惑,沒有分而治之,你就不知道未來還需要付出多少努力才能達到目的,這就會讓你心生怯意,不敢進一步投入時間,免得血本無歸。在這樣的心理下,不少人就會選擇保守策略——退出,以免到頭來花了時間還一事無成。

當你已經能夠堅持下來持續的學習了,那麼最後我建議你把你的學習成果分享給其他人,為什麼?請看下面。

為何分享?

我是一個喜歡分享的人,以下是我的分享經歷。

  • 14年寫部落格

  • 15年錄製教學視訊

  • 16年寫開源專案

  • 17年做直播、公眾號

從最開始的寫文章(只需要寫),到錄視訊(先寫好講稿,然後開始講,要注意聲音節奏),再到直播(直接面對聽眾)。通過不斷跳出自己的舒適區,使得自己快速的成長。

以下是我在分享得到的好處:

  • 沒寫文章的時候感覺自己很厲害啥都懂,但是寫的時候卻寫不出來,這其實就是對這個知識理解的不過透徹,從而可以認識自己的不足。

  • 每個人都是從不懂到懂,寫出好的文章可以幫助他人理解這個知識點,助人為樂。

  • 當你的文章得到曝光之後,會有更厲害的人指出你文章的錯誤,從而獲取反饋提升自己。

  • 一個人的能力邊界很小,認識更多人志同道合的朋友,可以組織齊心合力把分享做的更好。

  • 更多的面試機會,讓你的簡歷眾不同,上面說了每天簡歷這麼多,你要是有自己的部落格你就更容易被選出來。

  • 出版社編輯主動找上來,約你出書。

  • 各大相關平臺運營找你合作。

  • 你會被更多人知道。

總結

通過本篇文章我們知道了
1.關注哪些技術?
底層知識。
2.如何學習?
閱讀書籍結合PDCA學習方法。
3.怎麼樣堅持?
加強反饋,給自己設定一根進度條。
4.為何分享?
提升自己,幫助他人,構建個人影響力。

請注意以下2個重點:
1.請把注意力放在真正值得的事情上。
2.貴有恆何必三更眠五更起,最無益只怕一日曝十日寒。-- 毛澤東

最終達到在寒冬中破冰而出!

更多精彩內容持續更新在:碼個蛋

相關文章