工作半年就迷茫,給你一盞明燈
大神,前端工作半年了,學的很迷茫,總感覺不知道怎麼去自學,看書吸收能力差,可以給迷茫的人一點您的寶貴意見嗎?
前幾天,小夥伴星星微信我說了上面這段話。
首先呢,糾正兩點,我不是大神,我真的不是,頂多是個大佬(皮一下);我對星星你沒有任何意見哦,要有的話,也只是一點點建議,僅供參考哈。
其次呢,說實話,工作半年,迷茫的有點早啊。就我所知,剛入職的年輕人都喜歡熱火朝天地幹,就像剛剛交往的戀人一樣,投入的很呢。難道說對工作不愛了?
01、先開一劑藥
針對前端來說,掘金是一個絕佳的學習網站,裡面的大牛每天都會推各種學習的路線。我特意花了一上午的時間找了幾個。
1)前端開發中79條不可忽視的知識點彙總,這篇文章截止到目前共獲得了 1494 個贊。
2)解密初、中、高階程式設計師的進化之路(前端),這篇文章截止到目前共獲得了 1406 個贊。
3)一個合格(優秀)的前端都應該閱讀這些文章,這篇文章截止到目前共獲得了 4854 個贊。
4)前端 100 問:能搞懂 80% 的請把簡歷給我,這篇文章截止到目前共獲得了 6006 個贊。
5)8年前端開發的知識點沉澱,這篇文章截止到目前共獲得了 1801 個贊。
6)一名【合格】前端工程師的自檢清單,這篇文章截止到目前共獲得了 4144 個贊。
還有很多,我就不再一一列舉了。這 6 篇文章包羅永珍,裡面的前端知識點足夠你學習一段時間了,再貪多就嚼不爛了。
02、再來點偏方
在我看來,自學最有效的方法就是照葫蘆畫瓢,別看不起啊。
在我初入職場的時候,本事真沒多少,唯一能拿得出手的就是抄。領導安排的任務,不會做,怎麼辦?面向搜尋引擎程式設計啊,找到解決方案就開始搬磚。
任務完成的空閒時間裡,怎麼有效地提升自己呢?就去各種程式設計網站上抄人家提供的例子。早年我就是照著程式設計入門網的 demo 一個個的敲,敲出一個聊天室(前端 Flex,後端 Java,Socket 通訊)都覺得無比的興奮。可惜時過境遷,這個網站已經不存在了。
別恥笑我這種沒有創意的做法,人丫的天生不都是模仿著長大嗎?從小學說話,照著大人的嘴跟讀就行了,發音不準確沒關係,隨著時間的推移,慢慢就好了。
學習也是這個道理,尤其是針對職場的新人來說,別怕丟人,就一心一意的模仿,照著 demo 抄。
和我當時一塊參加工作的新人有好幾個,其中一個叫惠惠的關係還不錯。但是他很看不慣我這種沒技術含量的做法,經常調侃我說,“你丫這樣照著抄有意思嗎?”
為了他能掛住點面子,我嘴上沒回他。心裡就默默地罵他了:“別特麼眼高手低了,行不,就你那點‘一瓶子不滿半瓶子晃盪’的水準,哪有資格來調侃我?”
總之,不為他的調侃煩惱,依然我行我素。你以為照抄很容易嗎?說句良心話,就算是照抄,也經常抄不出人家文章中的效果,不信我舉個例子給你看。
前端程式碼已經好久沒寫了,就舉個後端程式碼的例子吧。我之前在學習 Java 的 fail-fast 機制的時候,看到 Hollis 大神的一篇文章,裡面有這樣一段程式碼:
List<String> userNames = new ArrayList<String>() {{
add("Hollis");
add("hollis");
add("HollisChuang");
add("H");
}};
for (String userName : userNames) {
if (userName.equals("Hollis")) {
userNames.remove(userName);
}
}
System.out.println(userNames);
然後我就抄到我本地,稍微做了點改動:
List<String> list = new ArrayList<>();
list.add("沉默王二");
list.add("一個文章真特麼有趣的程式設計師");
for (String str : list) {
if ("沉默王二".equals(str)) {
list.remove(str);
}
}
System.out.println(list);
兩段程式碼差別不大吧!但是執行的結果卻完全不同,第一段程式碼會丟擲異常。
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at com.cmower.java_demo.str.Cmower7.main(Cmower7.java:16)
第二個程式碼就不會。當時我就納悶了,難道 Hollis 大神的文章寫錯了?我還準備在他文章底部留言提醒他一下呢,結果我翻看了原始碼以後明白了。
你看,照抄這麼簡單的程式碼都能出問題,還逼著我去研究了一番 ArrayList 的原始碼,還真的學到了很多之前不曾瞭解過的知識點。知道怎麼自學了吧!
03、再來點祕方
良心話,市面上很多技術書都特別枯燥無味,看這些書的時間,還真的不如玩一把俄羅斯方塊(wang zhe nong yao)。書名叫啥我就不方便透露了,給作者或者譯者留點面子。
那難道就無書可讀了,那難道就放棄讀書了,不是宋朝有句流行詩叫做:“書中自有黃金屋,書中自有顏如玉”嘛?
書當然要讀,但讀書要講究點方法,不然真的很難吸收啊。
1)看視訊
汲取知識的方法有很多種,看書只是其中的一種。記得我剛開始學習程式設計的時候,看書就看不進去,看一會就跑神。
當時學校圖書館有各種《21 天學會 XXX》的書,看起來真心痛苦,感覺就像在啃一塊發黴的石頭。那時候也沒有前輩列一些優質的書單,或者說列了我不知道。
但是呢,那時候馬士兵老師和李興華老師的課程很流行,大傢伙都看這個,我也跟著看。我尤其鍾愛李興華老師,講課講得風生水起,比聽易中天品三國都帶勁。李興華老師還有一個特色,就是打字竟然用的是智慧 ABC,但是,打字那叫一個迅速、流暢,作為觀眾的我由衷的佩服。
為了向偶像致敬,我甚至解除安裝了最愛的谷歌拼音輸入法,也改成智慧 ABC,硬生生撐了兩個月,最後......沒撐下去,換回了谷歌拼音輸入法。
看視訊學習有什麼好處呢,就是注意力可以高度集中,用一個專業的成語形容一下——聚精會神。
那去哪裡找這些優質的、緊跟時代的高清教學視訊呢?
好朋友“江南一點雨”給了我一份,價值連城啊,這一套視訊包羅永珍(大前端的有“HTML5 新特性”、“AngularJS 視訊教程”、“NodeJS 視訊教程”、“React 視訊教程”、“Vue 專案實戰視訊”、“JavaScript140 集”),已經分門別類好,大家可以根據索引按需下載(關注公眾號後,回覆“免費視訊”即可檢視索引)。
2)正確的讀書方法
去年的時候,我讀了這樣一套書,系列名叫做《大師帶你學語文》,裡面提到的幾種讀書方法,我覺得非常有用,再次推薦給大家。
①、泛讀
泛讀可不是指泛泛而讀,而是要博眾家之長,開拓思路,廣泛涉獵各方面的書。比如說,一名前端程式設計師最好也要讀一讀《軟技能》、《程式碼大全》、《程式碼整潔之道》這類書。
②、精讀
有些知識是要反覆琢磨、反覆研究的,務求明白透徹,瞭解於心,以便吸取精華。比如一些演算法、設計模式方面的書。我讀過的《趣學演算法》、《設計模式之禪》。
③、跳讀
這是一種跳躍式的讀書方法。可以把書中無關緊要的內容放在一邊,抓住書的筋骨脈絡閱讀。有時候遇到反覆思考不得其解的內容時,可以跳過去,等後面的讀完了再回頭讀,說不定就前後貫通了。如果整本書都跳過了,說明這本書就要先束之高閣了。
④、寫讀
俗話說得好,“好記性不如爛筆頭”。讀書的時候能把重要的知識摘選出來,然後寫心得,這樣不僅能積累大量的材料,而且能有效地提高寫作水平,更重要的是能夠提高讀書的吸收能力。
老讀者可能比較清楚,我很多文章的寫作靈感都來源於讀書。我在讀書的時候,其實就是在尋找一個寫作題材,或者說找到命題作文的題目,然後準備素材,最後文章寫完後,發現自己把所有的知識點都掌握了。
04、最後的銀彈
我敢賭一塊錢,所有的人都會經歷迷茫期。處在迷茫期的人最需要什麼呢?
絕不是劈頭蓋臉的批評和嘲諷,比如說,你咋這麼不上進呢?你竟然還有時間迷茫,真了不起。
迷茫的人需要一盞明燈,或者說需要一位亦師亦友的朋友。我非常期待能夠成為你的朋友。
以上就是我給星星的一點點建議,僅供參考哈。
謝謝大家的閱讀,原創不易,喜歡就隨手點個贊,這將是我最強的寫作動力。如果你覺得文章對你有所幫助,也蠻有趣的,就關注一下我的微信公眾號「沉默王二」,拜謝。