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