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