本文翻錄自網易前端技術專家蔡劍飛個人分享。適看人群:前端開發者/計算機專業學生。
蔡劍飛,高級前端技術專家,畢業於浙江大學軟件學院,十年網易前端開發經驗。網易杭州研究院前端框架工具、流程規范工程化方向的技術負責人。參與網易郵箱、網易博客、網易相冊、網易雲音樂 等產品的研發。網易前端開發框架(NEJ)作者,前端打包發布工具(Toolkit)作者。
今天我結合自身多年前端工作的經歷,和大家聊一聊我作為前端開發工程師的職業發展和感悟。
新人剛接觸前端,你可能會問:→ 零基礎能學前端課程嗎?→ 要如何開始學習前端呢?
如果你是前端工作者,你可能會問:→ 我要怎樣讓自己變得更優秀?→ 前端天花板低發展,真的遇到瓶頸了嗎?
接下來,我會從學習、實踐、進階三個方面來回答這些問題,分享我的前端成長經歷。
學習篇 建議大家打好基礎。這里的 基礎分為兩大類 計算機基礎和專業基礎
有些人可能會認為即使沒有這些基礎也能做前端,這也是我們之前說門檻低的原因,但是對這些方面的掌握情況和理解程度決定了我們可以走多遠。
這部分的學習是一個循序漸進的過程,不可能一蹴而就。

那如何學習這些基礎知識呢?
我建議從書籍、代碼、標准三方面入手。
【書籍】當需要了解某個知識點時,可以多看幾本相關書籍,看不同作者對這個問題的不同闡述,加深自己的理解。對比着看效果更好。
【代碼】檢驗我們是否已經掌握知識的好辦法就是閱讀代碼。它不僅幫助我們加深對知識的理解,還可以查漏補缺,讓我們得到一些新的啟示。有哪些源碼值得我們去讀呢?
a.書籍里的代碼
b.前輩們留下來的代碼
c.論壇里的經驗
d.某個網站的代碼
e.很多開源代碼都可以作為我們的參考來源
f. 歸納總結自己以前寫的代碼,你會得到不一樣的驚喜
【標准】當我們平時遇到問題時,需要追本溯源。而查閱標准就是關鍵。互聯網技術更新迭代太快,而且網絡上的資源良莠不齊。所以我們甄別的重要方法之一就是查閱標准。前端相關的標准主要分為兩方面,即行業標准和廠商標准。
制定行業標准的組織主要包括:ecma組織/IETF組織/W3C組織

制定廠商標准的平台主要包括:IE/Chrome/火狐等
實踐篇
實踐階段對於遇到瓶頸的同學十分重要,因為不管以什么樣的方式去學習,最終目的就是為了解決實際問題。圍繞着實踐中的問題,
實際上可以分為:發現問題、分析問題、解決問題、沉淀問題四個方面。發現問題的途徑有很多,包括產品的功能需求、開發的非功能要求以及疑問、建議、抱怨等。更多的時候需要前端工程師進行思考和歸納,這也是我們面臨的挑戰。

當我們發現問題時,不要急於上手解決,要分析問題的本質,確定產生問題的因素,和多方溝通,提出多種解決方案,分析各自利弊,再對照實際情況做出取舍最后解決問題。
最后對問題進行沉淀,加深理解,進而將簡單問題的解決方式應用於復雜問題情況下,這也是提升的方式。
進階篇 個人的能力:深度和廣度
到了一定程度之后,個人能力很難再提升,遇到了瓶頸。此時,需要先從個人角度出發,了解是否觸及天花板,另可以從團隊角度出發,尋找突破點。

個人能力可以從深度和廣度方面進行分析。深度分為三個階段:表象、原理以及實現。表象就是之前提到的基礎階段。下一個階段就是能了解其中原理,對知識點能夠把握和識別。實現階段就是能夠充分利用已有的知識體系,進行運用。

再從廣度角度出發,可以分為專業技能和領域范圍兩部分。專業技能可以從知識體系的覆蓋面和了解度出發。也就是覆蓋面夠不夠廣,以及對常見解決方案的了解程度。而領域范圍的拓展就需要對其他產品進行了解,比如移動端、桌面端等的了解。

以上方面如果都很優秀的話,就是一個很優秀的前端工程師了。但是僅僅個人優秀還不夠,我們還需要團隊優秀。
團隊:流程/效率/協作
團隊方面的突破,可以從流程、效率和協作來考慮。這是網易目前實踐的一套協作體系的全貌,可供大家借鑒。
