今天騰訊的前端工程大牛從自己的5年的職業生涯中總結了一些思考,大致分為3個階段,從畢業新手到前端大牛,都有小小心得與同學們分享,想走前端這路的同學,可以來參考下 >>>
在敲下這個標題的時候,心裡好虛。話說我一直不太喜歡發表這些看上去很假大空的文字,每個人的職業規劃都是獨有的,不具有太大的可復制性,把自己的經歷放出去,容易誤人子弟。只是最近很多師弟們(別問我為什麼都是師弟,我想靜靜……也不要問我靜靜是誰!)問起這個,也就根據自己的經歷發表一下對前端工程師的看法吧,“我說的都是錯的”,僅供參考。
從我接收第一份前端需求開始,到現在也有五個年頭了。自己也從一個愣頭青變成一個快到而立之年的大叔,時間真的是嘩啦嘩啦的快。這五年裡,其實可以分成三部分:1~2,3~4,5。
1~2 吸吸吸,瘋狂的吸取知識
剛畢業時滿腔熱情,一門心思只往前端事業發展。剛從學校出來,看到什麼都是新鮮十足,什麼都想學。不斷的買書看書墊枕頭,最瘋狂的時候一個禮拜晚上看完整本犀牛書+做筆記,後來再也達不到這種速度了。很幸運我能加入到AlloyTeam,依靠WebQQ,使得我的編碼能力、項目經驗duang duang duang的上去了。同時也搞了很多奇形怪狀的業余項目,基本上無論遇到什麼跟JS相關的“新”技術(新是對於我自己來說的),我都想去嘗一嘗。
對於剛畢業的初學者來說,頭兩年真的真的是非常重要,學習的激情、速度以及熬夜的能力可以發揮的淋漓盡致。在這個階段,通過大量的編碼提升JS能力,同時嘗試各種JS框架和庫,尋找適合自己的框架,甚至自己也寫了一個JS庫和構建工具。“不要重復的造輪子”這句話,初學者都應該無視。你不造輪子,怎麼知道別的輪子好不好用?怎麼知道造一個輪子有多難?怎麼知道如何改進輪子?我不認為一個新手去看jQuery的源碼能看懂,反正我當時就暈暈乎乎的。
在這個時間點裡,其實還沒怎麼考慮以後的發展,而且也僅認為前端工程師,學好JS/CSS/HTML就夠了,其他的沒興趣也沒意願去學。
3~4 大大大,擴展知識面
在JS/CSS/HTML裡探索了2年後,突然發現越學越不懂了。出了HTML5,看了WebSocket,想學會,結果要看網絡協議、要看HTTP/TCP,還要學Server開發等。頓時感覺分身10個也不一定能學好。為了跟上潮流,也得硬著頭皮上。好不容易Server、網絡、前端、浏覽器各種知識都多少了解的時候,移動潮流來了!OMG,Android、iOS還有WP……生命不止,學習不休。
其實到了這個階段,多少也算是個有經驗的攻城師了。開發一般需求不在話下,偶爾還能承擔個架構設計。在提升JS能力的同時,開始要往多方面發展。前端工程師遠遠不僅是JS而已。制作一個性能高、交互好、視覺美的頁面,需要從前端框架選型、架構設計、構建工具,到後端通信機制、設計與交互、網絡和浏覽器優化等各方面的知識。一專多長才是前端工程師的終極目標。有個人說得對:一專是指你不可替代,多長標示你可以替代別人。這樣你在團隊在公司的地位才更加牢固,公司也會給你提供更多的資源。
同時還要開始提升自己的名氣,可以通過發表技術博客,提交和參與開源項目,做部門級公司級還有業界分享,參加業界會議等等。在這個信息瞬息萬變的互聯網時代,保持交流才會讓自己不落伍。同時名氣大了,能找到更多志同道合的人一起研究技術(探討生命的起源也不是不可能的),甚至想跳槽,也是放個屁的事兒(意思是簡單-_-|| 這都什麼比喻)。
5 摸摸摸,摸清前方的路
這個時候,如無意外,你也應該成為高級工程師了。編碼在工作中比例已經不算太高,更多的工作是承擔技術評審、架構設計和項目管理等事情。工作中除了完成自己的事情,可能還需要指導新人,做新人培訓,帶領新人完成項目。同時還會有一個抉擇擺在眼前:繼續深入研究技術 or 往管理方向進發。
技術 or 管理,這裡沒有對錯之分,只有合不合適。有的人就不善於交流,同時喜歡專研,可以繼續走技術的路,發展成專家;有的人則可能有比較強的領導力,可以帶領一群人完成項目,那可以轉向管理,成為Team Leader等。
不管選哪個方向,你都已經是個優秀的人,而且應該把這種優秀傳承下去。成為導師,使新人變得優秀;成為面試官,挖掘優秀的人;成為講師,讓更多人學習到優秀,等等。
總的來說,頭兩年一定要打好基礎,找准自己的G點,深攻下去;高潮之後,往廣度發展,掌握其他相關和不相關的配套知識(這不是矛盾麼?Σ( ° △ °|||)︴);然後摸到自己的目標,發售大膽的愛愛(老了,手抖打多了)吧。不僅自己愛(前端),也要讓更多人一起愛(前端)哦。