寫給在迷茫中前行的前端學習/工作者
我從今年的2月份開始在知乎上連續回答前端開發相關的問題,至今已有將近三個月,回顧寫過的一百多條回答,不少是給迷茫的前端工作者的建議。也有不少私信和值乎上向我提問,大多也都是關於學習方向的一些疑惑。今天我把我的思考提煉整理成文,希望能給予在迷茫中前行中的前端學習/工作者一些有用的建議。
關於前端學習的問題主要可以分三種:
-
【小白入門型】我想轉行學前端,靠譜麼?
-
【懷疑市場型】前端市場是不是飽和了?為啥我還是找不到工作?
-
【提高受阻型】JavaScript學了又忘,記不住怎麼辦?學了HTML、CSS、JS,接下來該學習什麼?
“我自己是一名從事了5年web前端開發的老程式設計師,辭職目前在做前端老師(我的微信:web_kc,加我好友時備註:CSDN,給你贈送一套web前端入門教程),每晚都會開直播講前端公開課(從零基礎到大牛),想聽課或者正在學習前端的可以加下我,給你永久免費聽課許可權,也可以加QQ群:465611429,今年年初我花了一個月整理了一份最適合2018年學習的web前端乾貨,從最基礎的HTML+CSS+JS到移動端HTML5都有整理,送給每一位前端小夥伴,這裡是前端學習者聚集地,歡迎初學和進階中的小夥伴。
小白入門型
我想轉行前端,我的情況是……,靠譜麼?
對準備入行的新人,我有五個建議:
-
擺正心態;不要想著三個月就月薪十幾k,人家一定沒告訴你那個三個月就月薪十幾k的同學轉前端之前有三年JavaWeb經驗吧。打破你心中的幻想,戒驕戒躁,踏踏實實地一步步學。
-
找個好老師:新手很可能在方向上迷茫和迷失,有個引路人會少走很多彎路。
-
自學能力:能把自己的問題總結出來,利用網路查閱資料自學和自行解決問題的能力。
-
勤動手:軟體工程屬於工科,要動手寫程式碼的,“手懶癌”晚期患者要尤其注意了!
-
Keep learning: 前端技術更新很快,一定要對新技術保有熱情,不斷嘗試學習新的技術,才能讓自己不被淘汰,進而尋求晉升。
懷疑市場型
為啥聽說XX很缺前端,我還是找不到工作?現在前端市場是不是已經飽和了?
談論這個問題之前,首先要說一下前端學習曲線。前端學習曲線是典型的S型學習曲線,先平緩再陡峭再平緩,可以劃分為“菜鳥”階段、提高階段、高手階段。前端入門比較容易,這也成為很多人轉行開發首選前端的原因,但很多人在學習曲線變陡峭的提高階段,卡在那裡得不到突破,而公司要的是經歷陡峭之後的那些人,於是便有了:一堆初級前端找不到工作,一對公司招不到好前端的尷尬局面。所以知乎一堆只會切圖和用JQuery的自稱前端工程師叫囂著找不到工作,其實一點也不奇怪。以前的前端只是切切圖,jQuery下AJAX一下就差不多了,但如今前端已經完全演變成各種js框架/技術的天下,很多公司加價招人,是想15-20k招一個靠譜的vue或者angular工程師而非只會用切圖加jQuery的“前端工程師”,這其中的轉變需要你花費很大的精力。
所以,不要懷疑市場飽和,前端不缺菜鳥和初級,缺的是高階和高手。
提高受阻型
JavaScript學了又忘,記不住怎麼辦?學了HTML、CSS、JS ,接下來該學習什麼?
類似的問題出來基本說明你處在學習平緩區等待提升,也就是你還處在“菜鳥”階段,但是沒關係你已經有要突破的想法了,只是沒找到清晰的路子。
JavaScript學了又忘,要不是沒有動手寫程式碼,要不是沒有深入理解JavaScript的思想。前者戒掉“手懶”,後者多看幾遍《JavaScript高階程式設計》並寫demo。
-
學了HTML、CSS、JS ,接下來還應該學:
-
javascript(閉包,原型鏈,繼承等要會,最好學點es6/7)
-
跨域,ajax(算是javascript的基本應用吧)
-
ES6/7語法
-
Node.Js要懂點
-
Web compontent(Angular或vue或react)
-
一定的工程化工具和思想(什麼你說你git不會?瀑布模型不瞭解?Webpack要學一下)
-
一些前端中的邊角問題(瀏覽器相容,移動端適配,響應式佈局等)
學習某某框架過程中,不知道寫點兒什麼東西好?
可以從個人部落格入手。找一款自己喜歡的UI模仿,防止在設計上浪費時間;連帶後端一起開發的話要學一點兒Node.Js 和資料庫如mongodb,mysql等。功能從文章的增刪改查到文章分類、標籤、分頁、評論等,完成就算入門了。後面可以嘗試參加實際專案,也可以在GitHub上找些好玩的專案模仿;如果後面能參與開源專案就更好,去github上提提issue,發發pull request,能力自然就提升了。