寫慣了技術類的文章,這種總結和嘮嗑型的我基本也就在年底纔來一篇。說實話,這種輕鬆類的文章每每比技術類的要受歡迎的多,由於其受衆更廣,看起來也不燒腦。javascript
說來愧疚,這一年其實產出有點低,大體就寫了不到二十篇技術隨筆,特別下半年入職騰訊後就更少有時間動筆了。前端
但再忙也沒打算摒棄寫文章的習慣,一來是爲了本身沉澱,二來也是但願本身能爲國內的前端分享出點貢獻——這想法雖然有些滑稽,卻也是我本人確切真實的想法。有時會想着本身能給這個社會帶來、留下些什麼,若是沒有揭露相對論的能力,那麼寫點文章我仍是得以勝任的。java
就我我的而言,今年發生了蠻多事情,但今天不討論私事,純粹做爲一名前端er來侃侃前端這塊的一些趣事兒,或者說個人一些拙見。node
前端的大環境webpack
自從09年 Node 出來後,前端的內容越來越豐富,各類技術突飛猛進迭代起來樂此不疲。git
若是你想學習Node,可能會入手《Node.js實戰》一書,而後試着搗弄 Express。卻不知如今有不少人已經玩上了 KoaJS,嘲笑着還在使用 Express 的民工,緊接着是用上 thinkJS 的人翻着白眼談笑風生。程序員
前端自動化工具也是撕逼的厲害,從 Grunt 到 Gulp,從 Bower 到 jspm 和 webpack,彷彿一晚上間 Grunt 上那上萬個插件包就都通通過氣。github
哦對了,謝謝谷歌和臉書,ng拉起了五花八門的前端 mv* 框架潮,React的組件化概念也顛覆了常規web開發的理念。web
還有新面世的ES2015,讓我想到個可笑的事情——babel迭代到6的時候,各大前端技術羣裏風聲鶴唳的,由於相比舊版本,babel6的配置變得太多了,又缺少(中文)文檔,致使一堆手賤升級又不懂配置的碼農哭暈在地板上。面試
另外 Phonegap、React Native、Fuse 等的出現也讓前端日漸滲透進了移動應用端,噢別忘了如今經過 node 還能開發桌面級應用呢。
有人說這是前端最好的時代。
我以爲對前端er來講,這或許也是個挺操蛋的時代——要去了解的東西實在太多了。
前段時間 Aaron 在羣裏吐槽,表示近些日子前端的變化讓他都要崩潰了(固然是句玩笑話,真正會讓他崩潰的應該是他當日的豬肉沒賣完)。
有個朋友不久前告訴我,說他買了好幾本小說在看,我當時的表情是這樣的:
緣由很簡單——我已經好久好久好久沒有涉獵過非技術類的書籍了,要知道個人書架上天天都有幾本厚厚的技術書對着我說:「還沒把我看完啊?啥時候看我啊?今晚上我好嗎?」。。。我又哪有閒暇時光去看其它的小說。
因此若是如今有張白紙(當年剛畢業的時候,個人第一位上級是這麼形容個人)說他要從事前端的工做,我會笑着摸摸TA的頭溫柔地說道:「請你吃點屎冷靜下好嗎」。
武器或內功
前段時間成立了個分享小組NZOO,大熊在裏頭揮着旗幟帶大夥搞Node,原生的Node。而後北川君站起來了,說他以爲更但願帶動小組直接分享一些現有的主流框架,而非把學習成本花費在原生Node上,緣由很簡單——來錢快。
北川君在公司是個領導級的人物,因此很好定位他的思惟——一切以開發效率爲主、以錢爲主。
這並不是只是一個平常觀點小碰撞,我以爲有必要好好思考思考,本身如今在學的是什麼、想學的是什麼。
我在上家公司的時候,給他們部署了gulp前端自動化工程,帶起了sass、avalon 等一些他們沒應用過的、開發快也更好維護的新技術,效果是,顯得你很牛逼 —— 若是你擅長使用一些新穎好用的新工具,那麼經常能很直觀地給項目帶來利益(效率或性能上),那麼這會成爲你職場上的一個助力。事實上對於許多中小型企業而言,他們更注重于敏捷開發,那麼懂得「班門弄斧」會是一件重要的事情。
對於大公司而言就不必定了,像我如今所處的部門基於歷史緣由基本都還在使用 Grunt,有時業務需求一負責你是找不到對應的 Grunt 插件的,會考究你的原生代碼書寫能力——本身寫出一個插件來做爲解決方案,而不是去 npm 上搬個擦屁股的救兵。
做爲一名老前端,確定會用過許多主流的工具,好比 jQuery 及其各式插件,好比 Vue 好比 React,但不少時候咱們就是那麼習慣性地用着,可能沒想過了解下它的源碼、實現方式——這在我後期想起來是種略爲不寒而慄的事情。
若是說把各優秀的前端工具/框架看成一把鋒利的兵器,那麼閱讀源碼、瞭解它們的實現方案即是內力的培養。
不少人可能工做了不短期,但技術不見增加,一個較大的緣由仍是「懶」——啥功能都懶得本身寫,直接拿起插件生搬硬套,搞的頁面性能差不說,本身也不懂擴展和維護,不知其中一二。
其實說白了,武器的練習跟內功的培養其實也不衝突,你能夠一手抓,只是每每罩杯較大可能無法一手掌握,會比較吃力,那麼仍是建議你審視下本身的職業規劃,是兵器能帶給你更多的利益,仍是內功能讓你更強大,而後作出權衡。
如何學習
關於本人「兩年前還在羣裏問js對象裏的冒號是什麼意思」的經典範例經常會被羣裏的人拿出來作談資笑料,北川這死不要臉的還說他給下屬洗腦的時候還把我當例子了。
今天下午也有個孩紙私聊我問我是怎麼學習的,才能從小白變V神(雖然我牆裂以爲後面加個「經」字才合適)。
雖然離「大神」還有挺長的摸索距離,但。。。咳咳。。。稍微吹下牛我仍是能夠的。若是涎皮賴臉地總結下個人學習經驗,我大體會概括爲這麼幾點:
1. 拒絕插件
不要遇到一個交互效果就想着扒個插件來用,想一想它會怎麼實現而後試着去寫出來。遇到困難了不着急,參考下別人的插件是怎麼實現的。
我的以爲「寫插件」是每一個前端小白要初步進階所必須試着去作的一件事,它對你的提高能夠是很大的,不只僅是有助於你在技術點上的認知,也有利於提高你的JS語感。
2. 加入一個氛圍好的技術羣/團隊
若是你身邊沒有這麼一羣喜好技術的小夥伴,那麼找個氛圍好的羣加進去吧,讓大神帶帶你或者跟小夥伴一塊兒同步交流,學習起來天然也不孤單,還有人不斷激勵你前行,何樂而不爲呢?
3. 多利用時間
「多看書多看好文章」這種廢話我就不說了,但請你不要天天把精力花在看肥皂劇上而後又埋怨沒時間學習。
時間老是能夠擠出來的,你能夠在你上廁所的時候想一想Ajax原生請求怎麼寫,或者像我以前像個傻逼同樣把Node API打印出來拿在路上邊走邊看。
固然也不要把時間都花費在學習上,有時間多陪陪妹子多出去走走聚聚,程序員的日子不該該太壓抑。
不過我也反省一下,上週有三天時間沉迷於我廠新遊怪物獵人OL上(臥槽我真的不是打廣告),結果第三天玩着玩着,向來討厭浪費時間的我忽然以爲本身是否是神經病了(反正就這個念頭),接着立馬把遊戲卸載了。。。
4. 學!英!語!
不久前不少話題討論說,英語是最不必掌握的課程,建議教育部革除其做爲三大主課程之一的身份。對於這批可愛的網友,我建議他們能夠去敘利亞好好地旅遊放鬆下。
起碼就IT行業而言,英語是很是重要的技能,特別當許多新技術出來的時候,基本只有查閱英文文獻才能找到解決方案(babel6就是個好示例)。
因此若是你的英語能力不夠好,努力地去提高它吧,裝個有道詞典劃詞來看文章,爭取能看懂外文的大部分意思。
總之這點不是開玩笑,閱讀英文文獻對於碼農來講是很是受益的事情,另外遇到問題你也得以去 github 提個issue來解決。
5. 多沉澱
試着開個博客吧,認真地記錄下那些你在項目中遇到的問題和解決方案,或者用心地去查找、梳理你感興趣的技術點而後記錄下來。
它會耗費你一些時間精力,但也能催動你更深刻地去了解、探討某個知識點,鞏固你對它的記憶。也能夠做爲未來反過來查詢的工具書。
6. 幹掉讓本身焦慮的那些東西
在職業生涯初期,做爲小白總會有許多未接觸過的技術盲點,有時候工做來了或者前往面試,都會由衷地擔憂起來,爲本身知識的欠缺、勝任與否而焦慮。
我我的及其討厭這種「焦慮」甚至「懼怕」的感受,一旦你感到這塊的壓力,必定要大膽地把它挖掘出來,而後一個個幹掉它。
什麼意思呢?好比當你以爲「我好像不會寫原生的Ajax」、「跨域的方法我貌似無法都答上來」的時候,就儘早去找資料學習和了解,一步步幹掉知識盲點,這樣你只會越來越自信。
要記住只有你纔是最瞭解本身弱點的那我的,只有你纔是能拯救你本身的那我的(臥槽你拍電影啊)
有必要進大公司嗎?
我以爲,做爲一名搞IT的碼農,沒進過BAT總會有些遺憾(我也常常拿這個激將Aaron來深圳),因此若是有能力仍是試着來這邊鍍鍍金,或者說鍍個經歷。
他會讓你瞭解一個大公司是怎樣運做的,會讓你視野變得很廣闊,這裏也有不少前人的知識沉澱或課程分享,身邊也都是優秀的小夥伴能夠交流和碰撞idea。
也會讓你走上加班不歸路(哼我設爲斜體字了大家確定看不到這一行)
可是若是你是應屆生,我建議是先別急着進大公司。
緣由很簡單,大公司分工太細了,常規招你進來只作專才,你會在某個領域逐步精通,但放開整個前端面而言,會很欠缺實踐。
說實話,我以爲大企業細分工做的形式,會讓部分一直待着的員工,即便他們很優秀,跳槽去一家中小型企業的話,可能也無法很好地勝任前端一職。由於不少中小企業要求前端得是全能的——切的了圖寫的了樣式編的了腳本,今天讓你寫個手勢插件,明天讓你搞個跨域通信,後天讓你負責個走spa的hybird。
有能力進大企業的應屆生,每每都能在中小型企業裏逐漸成爲技術主導,會負責各類各樣的工做,遇到各類各樣的問題,本身手動編寫各類各樣的模塊,這能給你帶來很是豐富的從業經驗(固然也會有所壓力)。
在大企業的話,所能主導的部分天然會變少,由於有許多大牛早已幫你寫好了各類業務模塊,項目也早已肯定好了相應的技術選型,而咱們更多的是在上面作二次開發。
因此總的來講,能在外面有個幾年實踐和磨練再進大公司,會是我我的以爲的比較合適的選擇。
年度書籍推薦
不吹不黑,我廠AlloyTeam成員曾探先生在今年發行的《javascript設計模式與開發實踐》一書,是我我的認爲的今年最佳的前端書籍之一。
本書結合了大量的業務實踐來娓娓道來js各大設計模式的原理和應用,能讓你更好地瞭解、掌握這些思想。
另外本書的語言組織能力也很是出色,用了許多生動形象的例子來幫讀者瞭解一些生澀的概念,相比之下,如今世面上某本譯做簡直是disaster(那本書被我扔在上家公司都懶得收回了)。
這本書比較適合中等級別的前端朋友來涉獵,能讓你收穫不少意想不到的知識或解決方案。
弱弱地說下,這本書是打從內心的推薦,在羣裏也有很好的口碑,俺的推廣可收不到曾探先生的推廣費(曾探先生在看我文章麼?下面有我二維碼哦)
今晚就嘮嗑這些,若是說了一些不中聽的大話,諸位看官笑一笑就能夠了~
願後續新的一年能繼續奮力前行,共勉~