目前雖然招前端的地方的很多,很多互聯網公司在前端領域都非常缺人,但也怕招到不靠譜的人來創造負價值。如何讓公司覺得是一個靠譜的前端工程師呢?可能需要以下幾個方面:
1. 懂得現代前端的一些新技術
比如:
前端自動化工具(Gulp/Grunt等)
模塊化(CommonJS,AMD/CMD模塊加載器,各種Bundler,ES2015 Modules等)
前端 MV* 框架(Backbone,Angular等)
編譯到 CSS 和 JS 的一些語言(Less/Sass/CoffeeScript等)
前端自動化測試工具(Karma,Mocha,Web Driver等)
其他
2. 懂得Web 標準和瀏覽器開發維護的流程,并且關注新發布的標準和主流瀏覽器新實現的特性
在回答兼容性或Web標準這類問題上,最好清楚:
HTML、CSS、DOM,ECMAScript 和一些泛 HTML5 的標準是如何制定的
W3C 和 WHATWG 的區別
各種標準的不同版本和提交狀態
標準和實現的差別
ECMAScript 和 JavaScript 的區別
瀏覽器的一些常見做法(比如給 CSS 特性加前綴)的緣由
3. 多看書,多關注技術資訊
技術資訊的來源包括RSS、郵件訂閱、比較重要的郵件列表、或者follow Twitter和微博上一些比較有影響力的開發者。
4. 不僅懂得如何寫,更要懂得如何不要這么寫
Web 標準大多不是嚴格向后兼容的,很多幾年前常用的寫法,現在已經不被建議這么做了。有很多特性也隨著時間的流逝被打上了 deprecated 的標簽,如果不幸拿著一本比較老的書籍試圖入門,那么很有可能就會被誤導。類似的問題還有:
JavaScript 里數量眾多的的過時的hack
一些在經驗豐富的前端看來屬于常識的東西(比如:為什么 CSS 大多放在 head,JavaScript 多放在 body 底端?)
劃分各種模塊、文件,添加模板的正確方式
解決一些老問題的新的best/better practice
5. 不依賴某個特定的框架或者庫
比如離開了jQuery就不會寫前端的人。如果高度依賴某個框架或者某個庫的話,通常意味著更換一個框架/庫的學習成本會比深刻理解前端原理的人高,因為這通常還是對前端不入門的表現。
6. 了解一些設計的知識
懂得基礎的視覺傳達/色彩構成/平面構成的知識。畢竟前端是和設計師聯系比較密切的,雖然前端要做的事不僅僅包括 UI/UX,但是 UI/UX 卻都主要依賴前端來實現。
7. 懂得一些后端的知識
前端工程師肯定要了解一些計算機網絡和 HTTP 等協議的知識,有了這些知識去學一些后端知識是水到渠成的事情。即使只想專注于前端,但前端有一些領域(比如 JS 跨域,WebSocket,SSE,WebGL 的素材獲取)都需要懂得架設簡單的后端才能去實踐。
8. 在前端上投入足夠的時間
最后,還需要投入足夠多的時間才能取得一些成果,不然就很可能就是紙上談兵了,最后也達不到期望的結果。如果不是真的對前端感興趣并且投入足夠多的時間,與其僅僅為了“好找工作”或“找個薪水高的工作”而投前端,不如換一個自己從心底里喜歡的方向。