總算是來(lái)到了這一年的末尾,上一次寫(xiě)年終總結(jié)還是在2012年 - A boring summary of 2012。
簡(jiǎn)略的總結(jié)一下逝去的2015。
工作
從實(shí)質(zhì)上來(lái)講,工作并沒(méi)有發(fā)生任何變化;但是細(xì)細(xì)想來(lái),卻已經(jīng)天翻地覆。
15年初時(shí),我從待了將近兩年的無(wú)線(xiàn)中心到了現(xiàn)在的渠道事業(yè)部。雖然「擁抱變化」是我司永恒的主題,但是過(guò)多的變化反而顯著的降低了各種人效,還有當(dāng)年無(wú)線(xiàn)團(tuán)隊(duì)一姐所說(shuō)的「團(tuán)隊(duì)歸屬感」。
但這一變動(dòng)帶來(lái)的技術(shù)變更卻是我最欣喜的。
簡(jiǎn)單來(lái)講,就是從一個(gè)純粹的前端工程師升級(jí)為了 Node.js+前端開(kāi)發(fā),甚至到快年末的時(shí)候著手用 ReactNative 編寫(xiě)我們部門(mén)的 iOS App。
下面稍微列舉一下今年所做的工作:
-
年初的時(shí)候在三周內(nèi)(沒(méi)記錯(cuò)的話(huà))使用 Express + MySQL 以及各種前端技術(shù)完成我司微店的第一期功能。
值得一提的是,當(dāng)時(shí)只有我和現(xiàn)在部門(mén)的研發(fā)經(jīng)理(人稱(chēng) XP)參與的開(kāi)發(fā) — 事實(shí)上還包括了需求文檔、原型圖(我用 Sketch 畫(huà)的)和開(kāi)發(fā)文檔的編寫(xiě)。
雖然微店后來(lái)由于種種原因擱淺在了沙灘上,但是這段時(shí)間真正有機(jī)會(huì)把 Node.js 實(shí)踐到了生產(chǎn)上,受益匪淺。
-
后來(lái)由于部門(mén)業(yè)務(wù)的轉(zhuǎn)型,接手了公司的分銷(xiāo)業(yè)務(wù)。
有了上次的經(jīng)驗(yàn),這次搭建的項(xiàng)目框架算是更為成熟了些,而且由于底層的業(yè)務(wù)都交給了后來(lái)的 Java 同事 — Node.js 就只做 Web 端的渲染和一些邏輯處理了。
我們?cè)诩夹g(shù)上是使用的 Express + EJS + jQuery + Webpack + Sass。最近的上的一次需求,我使用了一些 React ,先試試水。
從現(xiàn)在往回去看,除了一些流程上的問(wèn)題,比如 CDN 文件的發(fā)布、分支的管理等,程序還是比較健壯的。當(dāng)然,我們的項(xiàng)目還是欠缺了很多比較關(guān)鍵的內(nèi)容的。比如代碼規(guī)范、Review、Node 端的單測(cè),比如系統(tǒng)、接口的性能監(jiān)控等等。
-
iOS App 的開(kāi)發(fā)也是一個(gè) Rush 的過(guò)程??偟膩?lái)說(shuō)就是2個(gè) App 開(kāi)發(fā)人員+ 1個(gè)前端開(kāi)發(fā)人員在兩周內(nèi)完成了一個(gè)完整的 App。
技術(shù)上主要使用的就是 ReactNative,然后我自己封裝了一些諸如日歷,導(dǎo)航欄的組件,這可以參閱我前一篇文章RNComponents。當(dāng)然也有使用一些其他開(kāi)源的組件,比如下拉刷新、輪播圖等。隨著項(xiàng)目規(guī)模的變大,我覺(jué)得還是需要類(lèi)似 react-router 的項(xiàng)目組織 App 的路由, 當(dāng)然還有 Redux 之類(lèi)的庫(kù)。
一個(gè)題外話(huà),其實(shí)這個(gè)技術(shù)選型還是有很大風(fēng)險(xiǎn)的,因?yàn)閳F(tuán)隊(duì)里寫(xiě)過(guò) ReactNative 的可能只有我一個(gè) — 另一位同事雖然在真正開(kāi)發(fā)前調(diào)研了比較多的時(shí)間,但是可能對(duì)于一些 JavaScript 或者 NPM 的內(nèi)容都是一知半解。包括后來(lái)再來(lái)的同事也是一樣的情況,可能業(yè)務(wù)邏輯你能看著別人的代碼堆出來(lái),但是實(shí)際上并不理解真正應(yīng)該如何去編碼。在企業(yè)里使用 ReactNative 開(kāi)發(fā) App 最好的人選應(yīng)該是多個(gè)前端工程師 + 一兩個(gè) App 開(kāi)發(fā)者。
-
今年還做的比較多的一件事情是面試。
總感覺(jué)部門(mén)負(fù)責(zé)招聘的同學(xué)沒(méi)有好好篩選簡(jiǎn)歷 — 事實(shí)上51job, 前程無(wú)憂(yōu)這些亂七八糟的地方真的不適合招聘程序員。
且不說(shuō)很多都是在培訓(xùn)班里培訓(xùn)了一兩個(gè)月就出來(lái)找工作的,或者從別的行業(yè)轉(zhuǎn)行過(guò)來(lái)的(這一年我面試了土木、建筑、電子、機(jī)械各種專(zhuān)業(yè)的人)。
很多面試者確實(shí)基礎(chǔ)都很差(形象一點(diǎn)來(lái)講就是不如我還沒(méi)畢業(yè)的時(shí)候);或者就是眼高手低的那種,哪怕沒(méi)聽(tīng)說(shuō)過(guò) ES6,沒(méi)寫(xiě)過(guò) Node,不了解 CommonJS,甚至是數(shù)組的方法只知道
forEach的 — 都能用一句「這玩意雖然我不會(huì),沒(méi)聽(tīng)過(guò),但是學(xué)起來(lái)一定很快」來(lái)讓我無(wú)言以對(duì)。這樣說(shuō)來(lái),這一年確實(shí)沒(méi)有幾個(gè)面試者能讓我感覺(jué)眼前一亮的 — 這也導(dǎo)致了我們部門(mén)一直在招人,卻也一直找不到人。在此插播一個(gè)廣告,如果你對(duì)我們用的技術(shù)感興趣,請(qǐng)發(fā)簡(jiǎn)歷到 fantasyshao@icloud.com。
最后一點(diǎn)就是,雖然辛苦了一年,但是薪資并沒(méi)有得到相應(yīng)的回報(bào),這也是今年比較失望的一點(diǎn)吧。
技術(shù)與寫(xiě)作
這一年主要還是在折騰前端的技術(shù) — 也幾乎都應(yīng)用到了工作中,主要就是 Node.js, React 和 ReactNative。
在年初 Facebook 剛開(kāi)源的ReactNative的時(shí)候,寫(xiě)了一個(gè)非常簡(jiǎn)單的 CNode-React-Native 客戶(hù)端。這個(gè)項(xiàng)目至今為止是我在 Github 上收獲 Star 最多的,25 stars。
-
編寫(xiě)了一本小書(shū) - 《Node.js 實(shí)戰(zhàn)》 總共在 Github 收獲了 7 顆星星,在 Gitbook 收獲了 20 顆星星。
其他數(shù)據(jù):
創(chuàng)建了 RNComponent,現(xiàn)在維護(hù)了三個(gè)自己的 ReactNative 組件,收獲的 Star 都比較少。自然流量幾乎都是靠 react.parts 這個(gè)網(wǎng)站導(dǎo)過(guò)來(lái)的。
-
在自己的博客上寫(xiě)了7篇文章,沒(méi)有啥干貨 :-(
分享下博客的 GA 數(shù)據(jù):
-
今年的 Github,好多格子都空著,時(shí)間都去哪了:
其他
- 大學(xué)同學(xué)在清明自駕去日照、青島游玩了一圈,深夜喝酒暢聊很嗨
- 托公司的福,參加了7月份的在深圳舉辦的 JavaScript 開(kāi)發(fā)者大會(huì)
- 讀完了金庸先生的射雕三部曲
- 托家里的福,購(gòu)買(mǎi)了一輛白色的別克君威
- 托 X 總的福,認(rèn)識(shí)了一個(gè)叫吞吞的女孩紙
- 12月底,與同事去杭州參加了 D2 前端開(kāi)發(fā)者大會(huì)


