關(guān)于工作
成立事業(yè)部
七月份我們公司將直播業(yè)務(wù)獨(dú)立成事業(yè)部,我個(gè)人比較喜歡這種模塊化的小團(tuán)隊(duì)。獨(dú)立之后我負(fù)責(zé)了新產(chǎn)品 iPhone/iPad 客戶端的開發(fā)與迭代,還兼顧安卓端的一些指導(dǎo)與計(jì)劃性工作。
小團(tuán)隊(duì)的好處在于大家各司其職,溝通方便。同時(shí)在一些交流的過程中,我也更加敢于發(fā)表自己的意見。在工作中,我也確切的感受到了自己在團(tuán)隊(duì)中的重要性。
產(chǎn)品
產(chǎn)品今年一直處于研發(fā)期,還暫未進(jìn)入推廣期。在我們公司內(nèi)部的使用過程中反應(yīng)還是不錯(cuò)的。在市場(chǎng)方面,我們陸陸續(xù)續(xù)簽下了一些訂單和合作協(xié)議,新的一年也是市場(chǎng)部門大展拳腳的時(shí)候了。
在線教育的概念已經(jīng)在市場(chǎng)上存在了很多年,直播的技術(shù)也已發(fā)展兩三年有余,市場(chǎng)上已經(jīng)有不少同類型的軟件,但像是直播、完善的IM系統(tǒng)、PPT查看等關(guān)鍵技術(shù)還是由少數(shù)公司(騰訊、網(wǎng)易、七牛、環(huán)信等)掌握。業(yè)界的做法一般是選擇比較成熟的 PaaS 平臺(tái),接入平臺(tái)提供的付費(fèi)服務(wù),這也是我比較支持的方式。一般性的公司業(yè)務(wù)做完善已經(jīng)不錯(cuò),深挖關(guān)鍵技術(shù)一沒時(shí)間,二沒資金。
讓工作更高效
番茄工作法是我今年應(yīng)用比較多的工作方法,為此我還買了一本《番茄工作法圖解》。番茄工作法是一種簡(jiǎn)單易行的時(shí)間管理方法,它有五個(gè)基本步驟:
- 決定待完成的任務(wù)
- 設(shè)定番茄工作法定時(shí)器至 n 分鐘(通常為25分鐘)。
- 持續(xù)工作直至定時(shí)器提示,記下一個(gè) x。
- 短暫休息 3-5 分鐘。
- 每四個(gè) x,休息 15-30 分鐘。
在實(shí)際工作過程中,番茄工作法確實(shí)讓我的效率倍增,不至于悶頭做沒有確切目標(biāo)的工作。在每個(gè)番茄鐘中間我會(huì)做一些工作之外的事情,比如看看聊天消息,走動(dòng)走動(dòng)等。
番茄工作法還解決了長(zhǎng)時(shí)間久坐帶來的健康問題,并且在每個(gè)番茄鐘之間換換腦子,思路也會(huì)更開闊,很多問題隨之迎刃而解。對(duì)于我而言,每天5-6個(gè)番茄鐘足以解決一天的大部分問題,完成一天的工作任務(wù)。
持續(xù)集成(CI)是今年我提高效率的又一個(gè)途徑。今年的開發(fā)任務(wù)比較多,測(cè)試發(fā)布比較頻繁,為了解決每次發(fā)布的重復(fù)性操作,我實(shí)踐了一些提高效率,避免出錯(cuò)的持續(xù)集成方案。
Jenkins 是我最初的方案,但是考慮到后續(xù)團(tuán)隊(duì)其他同事需要配置 Java 環(huán)境、安裝,配置證書等代價(jià),我把 Jenkins 換成了更為輕量級(jí)的 fastlane 。
fastlane 的好處在于只需要簡(jiǎn)單的安裝,配置一個(gè) fastfile 文件即可完成基本的配置,而 fastfile 文件可以放在 svn/git 服務(wù)器共享使用。通過簡(jiǎn)單的命令行命令即可打包發(fā)布到不同渠道。
Jenkins 和 fastlane 并不沖突,可以說 Jenkins 是更全面、更廣泛,面向前后臺(tái),而 fastlane 專注于移動(dòng)端。Jenkins 完全可以以執(zhí)行腳本的形式和 fastlane 共同工作,但是一般的移動(dòng)端項(xiàng)目 fastlane 也足夠了。
持續(xù)集成在今年節(jié)約了不少時(shí)間,避免了一些配置出錯(cuò)引發(fā)的錯(cuò)誤,而且我可以利用集成的時(shí)間去喝喝茶。
iPhone/iPad兩端的結(jié)構(gòu)設(shè)計(jì)
有了手機(jī)端成型的契機(jī),我們開始有了 pad 端的需求,隨之而來的是項(xiàng)目結(jié)構(gòu)重新組織與設(shè)計(jì)。在網(wǎng)絡(luò)層、持久層、數(shù)據(jù)模型相同,UI 層幾乎完全不同的前提下,我選擇新建一個(gè) iPad 的 Target,并將部分業(yè)務(wù)獨(dú)立出來,供兩個(gè) Target 同時(shí)調(diào)用。這兩個(gè) Target 扔整合在一個(gè)工程內(nèi)。
這樣做即做到了單獨(dú)管理,又復(fù)用了邏輯。對(duì)于稍有不同的模塊,我也采用了PReprocessor Macros 的方式做了差異化處理,讓業(yè)務(wù)盡量統(tǒng)一。
在我的實(shí)踐中,這種方式的體驗(yàn)還是比較友好的,唯一的缺陷在于我用 fastlane 進(jìn)行打包上傳時(shí),第二個(gè) Target 集成的時(shí)間幾乎是450s ~ 500s,而相同體積的第一個(gè) Target基本在 80s ~ 100s,暫時(shí)還在找原因。
同事離職的代價(jià)
對(duì)于小團(tuán)隊(duì)而言,個(gè)人的離職代價(jià)是非常大的。小團(tuán)隊(duì)中,幾乎每個(gè)人在職責(zé)上都是不可或缺的,如果這個(gè)人離開,意味著這一塊業(yè)務(wù)的重新熟悉。
今年團(tuán)隊(duì)在人員離職上做的不好,太過于追求“人性化”把人放走,忽略了項(xiàng)目的交接工作。在新入職的安卓小伙開發(fā)過程中,我花費(fèi)了大量時(shí)間幫助他熟悉業(yè)務(wù),在復(fù)雜的業(yè)務(wù)中,難免說錯(cuò)或聽錯(cuò),一度導(dǎo)致了迭代進(jìn)度的緩慢。
人工智能
今年是人工智能討論火熱的一年,尤其是在今年 WWDC2017 Core ML 發(fā)布之后。我大學(xué)有過模式識(shí)別,三維重建等實(shí)踐,對(duì)機(jī)器學(xué)習(xí),人工智能的概念有所理解。后續(xù)也會(huì)持續(xù)關(guān)注這些前沿技術(shù)。
關(guān)于生活
運(yùn)動(dòng)
今年壓力不大,沒怎么運(yùn)動(dòng),導(dǎo)致體重突破了天際。想想大學(xué)的時(shí)候還堅(jiān)持運(yùn)動(dòng),工作之后在北京還會(huì)偶爾踢足球。今年本來信誓旦旦的辦了一年的健身卡,結(jié)果一年過去了只去鍛煉過兩次。
健身房人太多是一個(gè)原因,經(jīng)常是去了一個(gè)空位沒有。再次證明了便宜沒好貨的道理,引以為戒。
不過歸根結(jié)底還是因?yàn)槎栊裕硕际窍矚g待在舒適的圈子里。我現(xiàn)在明顯的感覺體力不如大學(xué)了,騎自行車 5 公里都累的不行,今年希望有所改善。
買房
買房幾乎沒有花費(fèi)太多精力,一是我看好的地段,二是資金上也幾乎沒有太多選擇的余地 。如今也是大漲了,翻了接近一番,倒沒有太多欣喜,畢竟是剛需。
車位開盤的時(shí)候也沒糾結(jié),因?yàn)榧胰说闹С?,而且我是一個(gè)輕微強(qiáng)迫癥的人,現(xiàn)在的小區(qū)車是不可能停小區(qū)內(nèi)部了,誰能忍受停路邊動(dòng)不動(dòng)就被貼發(fā)單的焦慮呢 ?
遷戶
給家人遷戶是今年冬天復(fù)雜度最高的事,讓我切身意識(shí)到我們的國(guó)家目前仍然高是一個(gè)沒有關(guān)系寸步難行的國(guó)情,以人為本在農(nóng)村幾乎只是一句空口號(hào)而已。
具體的細(xì)節(jié)無需多言,只想說我們應(yīng)該在這個(gè)社會(huì)中盡可能維護(hù)更多的資源和人際關(guān)系。只有當(dāng)有了足夠多的關(guān)系時(shí),才能有更多的解決辦法。
更有目的和別人建立交情,廣交朋友,看似是一種奸詐的做法,實(shí)際上是一種聰明的人際交往方式。這種方式的前提是“不作惡”,也是我以后應(yīng)該學(xué)習(xí)的人際處理方式。
找工作
12月女朋友校招定崗到了中移動(dòng),我們也放棄了去大城市的機(jī)會(huì)選擇了安定??紤]到近期生活方面即將出現(xiàn)的變化,也綜合考慮了去大城市的發(fā)展前景與風(fēng)險(xiǎn),我們打消了一些念頭。
在校招簽約上我們吃了一些虧,三方簽的太早了,后來所有的 offer 下來就沒有了選擇的余地。不過綜合比對(duì)下來,這個(gè)選擇還是不錯(cuò)的。
展望
控制體重
希望 2018 體重有所減輕,控制在 145 左右。
學(xué)習(xí)
- 做一些后臺(tái)實(shí)踐,能寫一些代碼。
- 具有小程序開發(fā)的能力。
領(lǐng)證
我們?cè)谝黄鹆?年,我覺得是時(shí)候了。