很多前端都想找一個學習計劃,然後認真學,成為一個大牛;他們迫切的想知道自己該學什麼,然後看什麼書,有什麼資源可以用!
我今天要告訴你的是,你不要看什麼書,不要做什麼事!因為如果你再不恰當的階段,看了那些看起來“很正確的”金科玉律一般的書籍,除了打消你學習的興趣,浪費你的時間,增加你放棄的機率之外,並不會有什麼益處。
而這些書籍和事情恰恰是很多“水牛”,他們自己並不一定幹過,也做不到,甚至他們不知道初學者做不到,因為告訴“萌新”一些菜鳥做不到的事情來彰顯自己的厲害,是很多“水牛”慣用的作案手法。學習有成本,投入需謹慎。
首先,你不需要看這些書。
Top1
《JavaScript權威指南(第六版)》
淘寶前端團隊翻譯的,看譯者列表都是一堆大神。這本書又叫犀牛書,號稱“javascript開發者的聖經”。網上對此書評價很多。
《JavaScript權威指南(第六版)》是JavaScript文件手冊,沒有完整看過一遍此書的都不能算是一名合格的前端工程師。
這是網上的評價,很多人看到那句,“沒有完整看過一遍此書的都不能算是一名合格的前端工程師”,十分興奮,於是挑燈夜戰,決定跟它同歸於盡,然後沒堅持一週,就放棄了。
我想說,這本書非常權威、非常好,內容非常翔實,頁數高達1004頁,是一本扔到鐵軌上能夠讓火車出軌;扔到你家裡,如果你整天學它走火入魔的話,……
它確實是前端必備的書,每次我靠著床頭看的時候,都嘖嘖稱讚,然後不一會就進入了夢香。實屬居家旅行安眠的良藥。但是最好不要放在床頭,因為萬一掉下來比磚頭還厚,可能砸懵你。
結論:
作為萌新,千萬不要看它。為什麼?一句話就明白了,如果你是一個沒學過漢字的小學生,你要想寫一篇作文,你要做的第一件事是去翻字典嗎?
Top2
《JavaScript高階程式設計(第三版)》
第二本推薦的就是經典!中的!經典!我感覺所有做前端開發的朋友們都應該有這本書,不要以為書名寫著高階,就很難,就不適合新手。只要你掌握讀書的方法,這本書就可以帶你從入門到進階。
這是網上的評價,我只想用一個字兒評價,“No”。
我想說可不可以 - 認真 - 看看書再出來評論,人家作者都明確的說了不是給“萌新”看的書,書評人比作者都牛,作者做不到的、說不適合的,書評人都敢說適合。客觀的是說《高程三》或者“紅寶書”是好書,也能夠帶你從入門到進階,但是前提是你能夠 - 入門。你連門都沒入它怎麼帶你?
前面說適合新手,後面說是入門到進階的書,我就想問一句,不矛盾嗎?誰帶你入這個門?明確的說,紅寶書做不到!你愣要說,“我就是看完字典然後,覺得學寫文章,特別輕鬆”,我也不想說什麼,畢竟“人各有志”。
結論:
跟第一本一樣,如果你是想入門,你是“24K純小白”,就別聽那些水牛忽悠,別看這本書。
Top3
《JavaScript DOM程式設計藝術》
《JavaScript高階程式設計》可以說是ES5語言層面的經典之作,那《JavaScript DOM程式設計藝術》就是新手入門DOM的經典之作。大家可以看到上一本書中我們跳過了10、11、12章,這3章講的就是DOM,我們可以從《JavaScript DOM程式設計藝術》這本書中,用更舒適的學習曲線和更優雅的程式碼來學習DOM的相關知識。
這本書使用者評價還是挺可觀的,為什麼?
因為有人負面評價,不像前兩個一邊倒。
有網友評價說內容太膚淺,“大失所望,感覺象是喝了碗稀粥,一點實在貨都沒有”。
結論:
相比前兩本書,這本走了另一個極端,太入門了,重複、羅嗦的太多,一丁點東西能講好幾百頁,還是省省時間吧!
Top4
《JavaScript語言精粹》
本書通過對JavaScript語言的分析,甄別出好的和壞的特性,從而提取出相對這門語言的整體而言具有更好的可靠性、可讀性和可維護性的JavaScript的子集,以便你能用它建立真正可擴充套件的和高效的程式碼。
雅虎資深JavaScript架構師 - Douglas Crockford,傾力之作。向讀者介紹,如何運用JavaScript建立真正可擴充套件的和高效的程式碼。
結論:
萌新連功能都實現不了,考慮效率和擴充套件性意義不大。
Top5
《你不知道的JavaScript》
作者學識淵博(事實如此,非貶義),知道很多一般程式設計師不知道的東西。
結論:
我不知道的就不用知道了,我只想先入門。
總結:
以上五本書是0基礎小白一定要避開的書,但是注意,它們是必備的書,它們都是經典中的經典的好書,只是不建議最開始讀,等入門以後一定要反覆研讀上面的書。
理由:
- 你不要老把自己當成初級程式設計師
- 入門和工作是兩碼事
第2個理由大家都清楚,態度、意願。
重點跟大家聊一下,為什麼不要把自己定位為菜鳥?
1.你把自己定位為菜鳥,那麼就會告訴自己,我是一個菜鳥,我要多學些東西。但是你不要忘了,你的職業不是學生,而是程式設計師,你要做的是工作不是學習,學習一個技能和為工作而學習技能的心態和所學的東西是不一樣的,結果自然也不一樣。
2.如果你把自己定位為菜鳥,HR也會發現,你沒法獨立工作,需要找人帶他,半年內的話應該出活有問題,另外既然能力不行,那麼工資是不是低點!!!那麼,你的工作的內容就是重複性低價值的內容,工資就會很低,成長就會很慢,這是一個惡性迴圈。
你需要一年甚至幾年的時間,才能改變公司對你的第一印象。評語頂多是你來公司的成長很快,從初級變成了中級。記住公司是讓你去掙錢的,不是讓你從初級成長成中級的。
3.如果你把自己定位為一個熟手(中級程式設計師),那麼HR想的是,把你放在什麼位置合適,怎麼和其他人配合達到成果最大化,你更有可能接觸到更優秀的團隊,參與更核心的專案,成長也更快,公司對你的評價也會是,你是一個能獨擋一面的人。
Ok,等等,我知道你在想什麼?
你在想,可是我就是初級程式設計師啊!我不具備熟手的能力啊!另外我不能騙HR啊!那不露餡了?我不能先進入一家公司攢點經驗嗎?
1.先回答最後一個問題,我見過太多的程式設計師,工作一年多,除了時間上敢理直氣壯的寫工作經驗一年之外,技術沒有一點提升,切了一兩年的圖,跟培訓班才出去的水平沒有任何差別(此處無貶義,只是說明無工作經驗和所謂工作經驗沒有差別)。
重點是面試官即使看到你工作經驗1-2年,水平非常一般跟培訓出去完全沒有經驗的人差不多,同樣會pass掉你。你是再耗費自己的生命不是再攢工作經驗,你攢的那點行業經驗,也許培訓班一個星期就能達到了,以初學者的身份進入公司,迅速成長為中級程式設計師的概率太小了。
2.不要騙HR!不要騙HR!不要騙HR!
首先你騙不過HR和技術大牛!
其次就算是通過欺騙入職也留不下來,還會在你的職業生涯上有一筆非常糟糕的印記,重點是人品問題這個很嚴重,況且我們完全可以誠信的找到好工作,我們不該為了錢不擇手段。
說的挺好的,可是我能怎麼辦?我怎麼變成一個熟手?
其實熟手的東西並不複雜,很多知識知道與否的問題,並且工作經驗是可以通過學習獲得的。
就像曾經我招一個程式設計師,他跟我說他沒有工作過,但是他一直再學習、實踐接私活,github star數量也很高。我依然給了他offer,而且工作遠比那些“先入職攢經驗的人”表現更好,事實上他也只是學習了一年而已。
1.Focus 專注
Follow One Course Untile Success.
注意不!要!屯!課!那沒啥用,你要做的是不斷的練習。如果看視訊能夠成為高手,那每一個球迷都應該是梅西。
現在網際網路上的教程和資料非常多,認真研究和學習一門技術,堅持做出工業級產品,會有公司給offer的。初學者最怕的不是學不會,而是東學學,西學學,最後什麼都淺嘗輒止,面試官都不知道招你能幹什麼。
2.找到一個能指導你的導師
注意:程式碼是學出來的,不是交出來的,你需要的是一個能在關鍵點指導對你的老師,不是找一個託兒所阿姨,把遇到的問題和自己工作的希望託管給他,讓他解決。找工作就像減肥,教練能給你科學的指導,但是能不能減肥還要看你自己,但是沒有教練指導,你可能方向不對,越努力越窘迫。
3.克服心理障礙
前端的飛速發展,不僅僅是初學者,哪怕熟手都會焦慮感覺很多東西都不會。但是你覺得,別人會的比自己很多,有時候是假象。你不是去做奧運會的第一名,你要做的是把領導分配給你的任務妥善的完成,這就夠了。
很多12~15k的學習者找我做諮詢,最後找到的工作是20K,他們說我太厲害了,我跟他們說,我沒那麼大本事,是你們本來就值那麼多錢,你們不知道市場行情,也不瞭解自己能力,你都不敢要,難道HR主動給?
學習前端很簡單
STEP1:興趣
想想吧,你如果不喜歡一個職業,而你一半的生命都浪費在上面是多麼恐怖的事情
STEP2 :正確的方法
方向不對,努力白費。錯誤的學習方法你再勤奮也沒有用,我曾經有學生每天都手寫程式碼,背誦程式碼,再加上不喜歡,結果自然是放棄了。
STEP3 :勤奮
前端是公認的入門最簡單的行業,但是如果你依然做不好,如果不是前兩個原因,那就一個字兒,“懶”。
優秀的程式設計師=興趣+正確的方法+勤奮