WEB前端研發工程師,在國內算是一個朝陽職業,這個領域沒有學校的正規教育,大多數人都是靠自己自學成才。正所謂說:“師傅領進門,修行靠個人”;再好的老師,自己不認真研究也只能原地踏步;
下面我們聊聊學習web前端的幾個階段:
一、 剛開始就是有一定的基礎(比如最常見的HTML標簽及其屬性、事件、方法;最常見的CSS屬性;基礎的JavaScript編程能力),能夠完成一些簡單的WEB前端需求。
入門”階段是每個程序員的必經之路,只要”入門”,你就上路了。所謂”師傅領進門,修行靠個人”,有了這個”入門”的基礎,自己就可以摸索著前進了。將javascript、html、css之類的編碼方法/屬性都練習幾遍!只有將基礎打好,以后的路才能走的順暢。參考這些幫助文檔,力爭寫出無瑕疵的代碼。
二、能夠正確地解決問題。不管你是通過搜索網絡,或者通過改造某些成品代碼(jquery/dojo/ext/yui)案例,只要能夠無錯地完成需求。
僅僅解決問題對于”登堂”階段來說已經不是問題,這個級別所給出方案不能是漏洞百出;對比”入門級”的代碼,不管是從代碼量、代碼效率、代碼優美性、代碼思路來說,”登堂”級的這個日期處理代碼都要優秀很多。這個階段雖然能夠給出正確的解題方案,但是不一定是最優秀的方案。如何才能得到最優秀的方案呢?首先就是積累各種能夠解決需求的方案,然后再驗證每個方案,在這些方案中選擇最好的一種。因此該階段的進階之路就是”行萬里路,看萬卷書”,積累各個需求的各個解決方案。
三、知道所有能夠解決需求的各種方案,能夠選擇使用最優秀的方案滿足需求。這個級別基本上產品開發編程中的代碼主力。給出的一招一式,招招都是絕招。
從web前端編程來說,通過2年左右的努力,很多人能夠達到這個水平,但是,很大一部分人的編程能力也就止步于此。或限于產品的需求單一性,或限于需求開發的時間緊迫性,或限于人的惰性,能夠完美地解決當前的需求就夠了。
由于長期處于技術平臺期,技術上得不到提高,通常這個級別的工程師會比較燥。技術上小有所成;或追求個人的突破;或追求產品差異性帶來的新鮮感;或者只是想換個心情;因此很多此級別的工程師會經常換公司。
四、能夠走在需求的前面,將當前需求里有的、沒有直接提出來的、現在暫時沒有但將來可能有的等等,及前端編程潛規則等各個方方面面都綜合考慮,給出最優方案。以一招勝萬招。這個階段已經不再追求一招一式,對你來說不是使用什么創新絕招解決需求,而是給出成熟穩重的方案,從根上解決問題。針對某個當前需求你的代碼可能不是最優,但是針對此類的需求你的代碼卻是最優秀的代碼。
很多web前端研發工程師在做了3-4年之后就會進入一個瓶頸期:產品開發需求是小菜一碟,沒有新鮮的可以挑戰的東西;代碼開發中的稀奇的解題方法都已經嘗試過。沒有了可挑戰的難題,失去了探索的激情,也就沒有了再上升的動力,好不容易走過”入室”級別的人又會有八九成止步于此。或轉做技術領導人,或轉到其它的領域,或換公司;
最后切勿心浮氣躁;你不再被需求牽著走,而是你牽著需求走。注重細節,注意那些當前需求里沒有明文給出的細節:代碼性能的差異、運行平臺(瀏覽器)的差異、需求的隱性擴展、代碼的向后兼容等等。
關注匯仁智杰,關注你的成長!