最近,在微博上面看到了寒冬大神的一篇文章,甚是認同,因此寫下本身以爲有用的地方:前端
我認爲,前端開發主要在兩個方面,一部分是」能力」,一部分是」知識」。我我的的觀點,能力佔百分之八十,知識佔百分之二十。webpack
最新出來的Angular、React、ES2015,其實都在知識裏面,知識又分紅兩部分,一部分我把它叫作標準,它是相對而言比較穩定的,不多會出現一個標準被推翻的事情。另外一部分則是技術,像jQ、React這些框架,像是MVC、FLUX這些架構的東西,這些東西是由各個公司主導的,變化就很是快,你看Grunt發展了沒多久,Gulp就來挑戰他了,而後又有browserify、webpack這些東西。git
而我認爲佔重點的能力,則是很是穩定的,我認爲能力是三大塊:編程能力、架構能力、工程能力。github
編程能力,就是用代碼解決問題的能力,你編程能力越強,就能解決越複雜的問題,細分又有調試、算法、數據結構、OS原理等這些的支撐,你才能解決各類麻煩的問題。web
架構能力,則是解決代碼規模的問題,當一個系統足夠複雜,你會寫每一塊,能解決每個問題,你能搞定整個系統,這就須要架構能力,架構能力包含了一些意識,好比解耦、接口隔離,也包含認識業務創建抽象模型,也有一些常見的模式,好比經典的MVC,還有設計層面,面向對象、設計模式等等。面試
最後工程能力,則是解決協做的問題,當系統規模更大,光靠一我的,是沒辦法完成的,如何保證幾個高手互相可以配合好?如何保證項目裏面水平最差的人不拖後腿?這個工程化建設,每每會跨越多個業務,以彙報關係上的團隊爲單位來作。包括先後端解耦,模塊化,質量保證,代碼風格,等等。算法
其實不難看出來,這三項,實際上是有順序的,低等級、小團隊,編程能力一項就能應付,越資深的前端,越大的公司和團隊,越是須要後面的技能。編程
下面咱們來具體講講,關於知識的學習。後端
對知識,我一直有個觀點,叫作寧缺毋濫,因此我對知識學習的目標,理解爲兩點,一:準確,二:全面。設計模式
學習的知識,若是你能作到這兩點,那你未來在業務上作技術決策的時候,你面對面試官技術問題的時候,信心跟你只看過皮毛是徹底不同的。
如何作到全面:創建本身的知識體系。
第一步,尋找線索。
你要了解一個知識,好比我想學Web平臺的API了,固然能夠先找一本書,看看別人都寫了什麼,可是我不喜歡這麼幹。
我大學裏,學前端,爲了找個id和name的區別,曾經要借十幾本書來,對比着看,那個時候,是真的沒人告訴我,什麼書比較好。因此我對別人總結好的知識,第一反應是質疑,不信。因此我比較推薦,找一些比較準確的。對Web平臺的API,我就用反射:
瀏覽器裏給出來的這個屬性列表是不會騙人的,用這個東西做爲線索,我就頗有信心。
一樣可能比較適合作資料的,還有一些標準文檔的附錄,和源代碼裏的結構定義。
第二步,是創建聯繫。
好比說,看下面幾個DOM屬性:
這裏,左邊一列是操做Node的,右邊一列是操做Element的,它就存在必定的對應關係。
第三步,是分類。
第四步,是追本溯源。
當我對一個知識體系的全貌,有了概念之後,須要確認它的準確性,不少知識,在社區,會有不少的爭議,該相信誰呢,這是個問題。而個人答案,就是追本溯源,去找它最初的討論和定義。
因此這個追溯的過程,可以幫咱們真正搞清楚對錯。
除了wiki-google學術搜索的組合,還有一些郵件列表和github提交歷史,也是很是適合去查證一些概念和技術的歷史的。
最後,我講的這個創建知識體系的過程,是不斷接受新知識,挑戰、質疑原有的體系,推翻再重建,每一次循環,你的知識體系都變得更加堅固,更增強大。
下面分享的一部分,是關於能力培養。
能力培養其實重要性很高,可是其實提及來,內容卻不多。只有兩點:教材、訓練。
對知識學習,我是主張創建本身的體系,不要去相信書,可是對能力培養,個人觀點就恰好相反,我以爲能力的體系,偏偏是難以本身創建的,須要教材去指導。這是由二者的複雜程度和變化速度決定的。
想培養能力,就要找經典的教材來學習,像算法導論,The C++ Programming Language這些經典,幾十年都沒有過期。
注意這裏我用了教材,而不是書。
教材和書最大的區別,就是有沒有習題。
在我看來,內容再難的書能夠一星期讀兩本,可是教材必定不行,教材必定得花幾個月的時間,一邊讀一邊作習題。
因而談到訓練。
其實有個事實是,工做之後,只有極少數人仍然可以作到訓練,好比我本身的編程能力,我自覺工做七、8年,幾乎沒有過進步。
訓練應該是系統的(須要教材)、主動的,這兩個特色不可或缺,有人會以爲,我真的工做很辛苦,天天都要加班,可是其實,任何被動的痛苦,都無法給人帶來進步,你的痛苦卻是可能給老闆帶來更多收入。
若是面臨困境,能夠選擇系統訓練來提高本身,可是對大部分人來講,可能更樂於選擇一個一個變通的辦法: 養成習慣,讓工做變得更有挑戰。
這個事情其實有很多理論,比較有名的是Noel Tichy提出的心理溫馨區、學習區和恐慌區。選擇一份對本身來講具備挑戰性的工做,正面解決問題。
技術圈裏流行一個笑話,說的是一我的,工做了三年,卻只有一年的經驗,由於後面兩年都在重複第一年的工做。
因此咱們要作的事,就是永遠不重複勞動,當你以爲如今的工做,愈來愈溫馨,愈來愈缺乏風險的時候,就應該引發警戒了。
而雖然訓練是個很困難的事情,其實你們也沒必要過於擔心,雖然處處都是「一萬小時訓練」的言論,如今各大公司的招聘門檻,在我看來應該都卡在幾百小時訓練的程度。因此我想說,一萬小時過久,只爭朝夕。但願看到你們成爲更好的前端,作更好的本身。
原地址:
http://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=416695997&idx=1&sn=f57f073bcb3a9559f0575d0a7584a246&scene=2&srcid=0322wNBBxRLm1j1TxpnSZmX2&location=35
講的很是好,好好學習