寫給那些轉行做前端的人們

前端是一個相對比較新的行業。但在這幾年期間,隨着W3C標準的不斷更新以及node.js的興起,基於node.js一系列的工具和諸多前端框架都參差不齊的浮出水面。大多數不瞭解前端的人轉行前端,第一點原因是前端極其低的門檻,在培訓機構培訓3個月即可速成。第二點是他們對前端的理解,普遍停留在毫無計算含量的網頁佈局以及和美工一樣的樣式設計。計算機專業的人選擇前端,是因爲他們認爲前端不需要過多的邏輯思維計算,他們討厭編程。非計算機專業的人選擇前端,他們看到了前端的前景,以及不需要計算機的知識就可以快速上手。   我想對第一類人說,你們走入了一個巨坑。前端最最基本的三個核心技能:`HTML`、`JS`、`CSS`,其中最能代表前端的就是Javascript了。
前端核心

如圖,是2015年github上最受歡迎的語言排行榜:

語言流行趨勢

如圖,是github2016年1月至2016年7月倉庫排行榜TOP10:

語言流行趨勢

其中基於JavaScript語言的倉庫就有3個,可見如今的github社區已經變成了前端的社區。
  JavaScript身爲一種動態的弱語言,在實際項目中設計最合適的模型高效率解決現實問題本身就很有挑戰。作爲一種典型的新生代編程語言JavaScript 特性豐富,使用靈活,性能優良。面向對象、函數式編程、各種設計模式、MVC 和 MVVM,這些本身就有足夠的吸引力。隨着更多的程序員轉入JavaScript,它的標準也在不斷規範,一些其他語言的特性也不斷的融入其語法當中。或許不久的將來,JavaScript會和TypeScript一樣擁有靜態類型檢查的功能。如此重要的核心語言又怎麼能離的開編程呢。前端是一個發展速度迅速的行業,從以前的傳統網站到如今HTML5的發展,以及Node.js的出現,相關Node.js 工具也紛紛出來。CommonJS、AMD、CMD、UMD 等模塊式的開發思想也誕生出了像SeaJS、RequireJS 等模塊化工具。MV* 庫鋪卷而來,vue/angular/react,前端框架相互競爭,2014年的angular到15年的react。作爲一個前端工程師,我們每時每刻都應該跟上技術的潮流,不斷學習,所以我會勸那些因爲厭惡編程而轉入前端的程序員們,你們走錯了方向。
  我想對非計算機專業想轉行前端的人說,請你們慎重考慮。前端工程師首先是軟件工程師,基礎是最重要的,如果基礎不紮實,一切應用技能就都是“浮雲”。前端的基礎是什麼?HTML、CSS、JavaScript基本功,數學、算法、數據結構、操作系統、編譯原理基本功。不要覺得自己做了幾個唯美的動畫網頁就覺得接近前端了。前端的大牛,通常是一個各種領域都精通的全棧,那些爲前端開源代碼做貢獻的人,哪個在做項目的時候不是編寫大量單元測試,文檔的說明註釋,說到頭來就回到了javascript,編程基礎。就是這樣,周圍還是會有人誤認爲前端就是一個沒有技術含量的靜態網頁編寫的職位。這裏只送一句話:You will be abandoned in this era
  最近2個季度我們Team一直在招前端,在這長達兩個多月面試中,我始終都沒有聘到合適的前端,他們的簡歷通常都是如下這樣的:

1、與UI設計師合作,快速開發符合W3C標準的網站前端頁面;
2、配合產品人員完成網頁頁面的交互/效果/用戶體驗的實現;
3、配合後臺工程師一起實現功能和性能需求,進行應用及系統整合;
4、優化頁面及樣式層結構,提高頁面響應速度和用戶體驗;
5、保證主流瀏覽器的兼容性。
6、靜態html頁面的製作、js交互的實現
7、用jquery,bootstrap製作網頁

對於這樣的簡歷,我很難做一個準確的評估,首先這種簡歷無法評判出前端的水平,太過普通。其次,我不能說jquery,bootstrap過時了,而是在當今的前端開發中,毫無模式的直接操作DOM並不是一個明智之舉。在面試當中,我更看中的是應聘者對前端流露出的喜愛之情,對知識的求知慾,對基礎知識的紮實(例如:js裏事件的冒泡與捕獲,閉包,原型鏈機制,佈局當中的BFC,垂直居中等一系列實踐的問題)。對於那些簡歷裏寫到掌握最新前端技術的應聘者(例如:babel,webpack,es6,react等),我會問一些react的優化,模塊加載的方式,nodejs原理性基礎等一些問題。在面試中我發現,有一大部分人,只盲目的學習了這部分工具、框架的用法,卻在基礎知識方面存在非常多的漏洞。

  最後我想分析一下轉行到前端的人,你應該具備的哪些素質:
- 如果web的任何一個元素(web界面,靈活的編程風格等)有一點吸引了你,讓你着實着迷,恭喜你,有了一個完美的開始。確認一下自己是否喜歡和合適前端,而不是爲了一份看起來體面而且薪水不菲的工作。
- 不斷學習,每日的積累,關注前端動態,是你跟上前端潮流的主要途徑。前端的體系過於龐大,技術框架爭涌而出,如果你經常抱怨累死碼農的節奏,那就審視一下自己對前端的態度。
- 主抓基礎,避免盲目。前端領域知識點很多,值得學的東西也很多,聰明的人懂得花時間學習成體系的知識並且研究得足夠深入,而不是盲目的看到別人用什麼框架就去學什麼。只停留在實踐運用的階段,到頭來框架們都一個一個被淘汰,你仍在原地踏步。
- 整理總結,先模仿後創造。將每日的積累做好規整,記錄到博客也好,筆記也好。多看看牛人的源代碼,等你達到了一定的層次水準,自然會得心應手。
- 持有一顆造福前端社區的心。寫一些有意思的小工具、插件,推廣出去,
始終堅信,在從事前端的道路上You are not alone

原文鏈接http://blog.cyt-rain.cn/2016/08/01/life/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章