每一個程序員對技術的學習和理解都是一段故事。並且每一個人的學習過程和學習經歷也各不相同。和不少資深的同事和朋友也聊過他們本身的學習過程,發現你們都經歷過相同的階段,得到了相同的結果,只是你們每一個階段花費的時間長短不同而已。程序員
學習階段是學生走向職場第一個必經的階段。這個階段以爲本身過得特別充實。剛進入職場,一張白紙,反正啥也不會,對每一個技術點都特別感興趣,對個每一個高深的技術都特別暈逼。對技術牛逼的人特別的崇拜。對一些工做中比較難理解、比較的繞的東西老是雲裏霧裏。可是每一個新人都特別的努力,上下班地鐵看技術書,看電子書,記筆記,週末宅在家看書看視頻。以爲天天都進步好大,天天都學習和掌握了不少的技術,幾個月就掌握了不少工做的須要的技術點。後端
本身的經歷也是這樣的。記得我剛開始上班的時候,那時候智能手機還沒普及,天天上線班地鐵上看書,發現不會的特別的多,並且對每項技術都特別有興趣,我做爲一個後端開發者,那時候還常常會學習CSS 和JS的東西。領導說啥都感受一臉懵逼,開始階段還感受本身是學生的角色,臉皮薄,好面子,有的東西本身不知道,也很差意思打斷領導的說話,領導說完以後,再去網上查詢各類技術的用語。天天都很努力,天天都以爲本身很充實,天天都在進步,慢慢的從啥都不會,變得在工做中的開發愈來愈順暢。可是每次線上出事故,都是老油條們在處理,本身也沒有機會插手。網絡
這個階段的缺點:始終以爲內存啊IO啊跟本身不要緊,索引也只是須要的時候加上,也不知道加上沒加上有什麼本質的區別,進程和線程也可能只知道概念,CPU的調度也可能只是知道原理。始終沒以爲這些跟日常開發有啥關係。運維
和資深的同事朋友聊得時候,發現這個階段是每一個程序員最重要的階段,基本上是技術的分水嶺。可是每一個程序員從學習階段到頓悟階段花費的時間各不同,有的兩年,有的三年,有的四五年,我本身反應慢,比較笨,感受至少在三年以上。
學習階段比較漫長,有好多人比較迷茫,比較慌。學習了一段時間,至少幾年,感受沒啥可學了,會的已經會了,不會的一直不會,發現無論怎麼學都停滯不前了。這個階段也早不是學習和領悟的瘋狂階段了,心態上也會有所變化,從原來的以爲本身好聰明,這個昨天學會的,這個今天學會的,這些明天或者下個月就學會了。到如今的,怎麼特麼的能這麼笨呢,都特麼兩年還理解不了。
生產的出了問題也沒啥頭緒,不知道該從哪下手,最終仍是老油條解決了問題,並且碼農比較內向靦腆,你若是不問他大機率也不會告訴是什麼緣由,怎麼定位,怎麼解決的。
由於這個階段沒有解決線上問題的能力,工資也停滯不前,漲不上去了。
最關鍵的時刻到了,有那麼一刻時間,一會兒頓悟了,一會兒豁然開朗了。原來變量的內存是這麼分配的,原來CPU是這麼調度的,進程和線程是這麼工做的,原來索引是這樣引發查詢速度快的...總之,有那麼一瞬間以爲原來不懂不理解的東西,都理解了。這個精確的時間,陽光是辣麼的燦爛,辣麼的明媚,辣麼的充滿舒適,鳥兒們叫得是辣麼的歡勢和優美。總之,一切都特別好。工具
過了頓悟的一瞬間,慢慢的知識的鏈路就所有打通了,學習的知識也就所有串起來了。這個階段看到的學習過的知識圖譜,是一張所有知識的關係串聯圖。過了頓悟階段,實際上是愈來愈自信的,以爲本身已經具有了定位問題和解決問題的能力,內心已經這麼想了。缺的只是機會,每次出問題的時候,本身內心已經有了一個大概的處理方案,而後自已推演,獲得一個大概的結果,而後請教解決問題的人,是否跟本身的推演結果一致,發現大多時候是一致的。
有一天,線上出故障了,解決問題的人或請假了或離職了,而後本身或被迫站出來,或默默站出來,根據機器故障的現象,尋找線索,根據線索定位問題,最後解決問題。而後這樣的次數愈來愈多,領導愈來愈信任。嗯。好嗨呀,升值加薪,走上人生巔峯。本身又回到了剛開始自信的階段,咋能這麼聰明,這麼短的時間就能解決問題了。都有種不相信本身的感受。
而後慢慢的解決問題的經驗愈來愈豐富,慢慢帶新人,教別人解決問題...性能
每一個人的學習階段到頓悟階段的時間長短不一致,學習階段,不要迷茫,不要氣餒,不要灰心,不要放棄。不是由於笨,是由於每一個人都會經歷。要作的是努力學習,完善知識碎片,只有這樣,等頓悟的時候,看到的關係串聯圖才能足夠大,足夠廣。解決問題的都能用得上,由於定位問題須要方方面面的知識,網絡知識,運維知識,CPU內存IO等等,還有各類工具的使用。
加油吧,碼農。學習
------------------------------------end
一塊兒關注高性能WEB後端技術,關注公衆號
線程