前言
在這個行業,每隔一段時間都會出現新的技術,好焦慮呀,到底該學什麼?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.貴有恆何必三更眠五更起,最無益只怕一日曝十日寒。-- 毛澤東
最終達到在寒冬中破冰而出!
更多精彩內容持續更新在:碼個蛋