工作半年就迷茫,給你一盞明燈

  • 2019 年 11 月 11 日
  • 筆記

大神,前端工作半年了,學的很迷茫,總感覺不知道怎麼去自學,看書吸收能力差,可以給迷茫的人一點您的寶貴意見嗎?

前幾天,小夥伴星星微信我說了上面這段話。

首先呢,糾正兩點,我不是大神,我真的不是,頂多是個大佬(皮一下);我對星星你沒有任何意見哦,要有的話,也只是一點點建議,僅供參考哈。

其次呢,說實話,工作半年,迷茫的有點早啊。就我所知,剛入職的年輕人都喜歡熱火朝天地干,就像剛剛交往的戀人一樣,投入的很呢。難道說對工作不愛了?

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,但是,打字那叫一個迅速、流暢,作為觀眾的我由衷的佩服。

為了向偶像致敬,我甚至卸載了最愛的Google拼音輸入法,也改成智慧 ABC,硬生生撐了兩個月,最後……沒撐下去,換回了Google拼音輸入法。

看影片學習有什麼好處呢,就是注意力可以高度集中,用一個專業的成語形容一下——聚精會神。

那去哪裡找這些優質的、緊跟時代的高清教學影片呢?

好朋友「江南一點雨」給了我一份,價值連城啊,這一套影片包羅萬象(大前端的有「HTML5 新特性」、「AngularJS 影片教程」、「NodeJS 影片教程」、「React 影片教程」、「Vue 項目實戰影片」、「JavaScript140 集」),已經分門別類好,大家可以根據索引按需下載(關注公眾號後,回復「免費影片」即可查看索引)。

2)正確的讀書方法

去年的時候,我讀了這樣一套書,系列名叫做《大師帶你學語文》,裡面提到的幾種讀書方法,我覺得非常有用,再次推薦給大家。

①、泛讀

泛讀可不是指泛泛而讀,而是要博眾家之長,開拓思路,廣泛涉獵各方面的書。比如說,一名前端程式設計師最好也要讀一讀《軟技能》、《程式碼大全》、《程式碼整潔之道》這類書。

②、精讀

有些知識是要反覆琢磨、反覆研究的,務求明白透徹,了解於心,以便吸取精華。比如一些演算法、設計模式方面的書。我讀過的《趣學演算法》、《設計模式之禪》。

③、跳讀

這是一種跳躍式的讀書方法。可以把書中無關緊要的內容放在一邊,抓住書的筋骨脈絡閱讀。有時候遇到反覆思考不得其解的內容時,可以跳過去,等後面的讀完了再回頭讀,說不定就前後貫通了。如果整本書都跳過了,說明這本書就要先束之高閣了。

④、寫讀

俗話說得好,「好記性不如爛筆頭」。讀書的時候能把重要的知識摘選出來,然後寫心得,這樣不僅能積累大量的材料,而且能有效地提高寫作水平,更重要的是能夠提高讀書的吸收能力。

老讀者可能比較清楚,我很多文章的寫作靈感都來源於讀書。我在讀書的時候,其實就是在尋找一個寫作題材,或者說找到命題作文的題目,然後準備素材,最後文章寫完後,發現自己把所有的知識點都掌握了。

04、最後的銀彈

我敢賭一塊錢,所有的人都會經歷迷茫期。處在迷茫期的人最需要什麼呢?

絕不是劈頭蓋臉的批評和嘲諷,比如說,你咋這麼不上進呢?你竟然還有時間迷茫,真了不起。

迷茫的人需要一盞明燈,或者說需要一位亦師亦友的朋友。我非常期待能夠成為你的朋友。

以上就是我給星星的一點點建議,僅供參考哈。


謝謝大家的閱讀,原創不易,喜歡就隨手點個贊,這將是我最強的寫作動力。如果你覺得文章對你有所幫助,也蠻有趣的,就關注一下我的微信公眾號「沉默王二」,拜謝。