飞哥:十年光阴如梭
十年,一個聽起來感覺很長的時間,已經(jīng)從我身邊悄悄地滑過了。一直想寫點什么,卻也一直也沒時間動筆。今天撿了個周末,就隨便寫點流水文吧,寫到哪兒算哪兒。
01 職場首站
我是 2010 年碩士畢業(yè)。還記得在 2009 年 11 月的校園招聘季的時候,我當時只面試了兩家公司。一家是中科大洋,承諾 100% 解決戶口。另外一家就是騰訊,技術(shù)面試全部通過以后,hr面試中各種旁敲側(cè)擊發(fā)現(xiàn)我還是希望長期在北京發(fā)展(當時我面試的是深圳的崗位),而且也有解決戶口的工作后,就卡了我的offer。
現(xiàn)在回想起來,其實反而還有點感謝當時的騰訊 hr。因為我確實是想在北京長期發(fā)展的,北京的戶口只有畢業(yè)的時候最好拿。錯過了這次機會后會非常的難得到。進大廠機會多的是,但是戶口的窗口卻很少很少。
面試完這兩家公司以后,我就沒再面試其它公司。而是開始準備將我的一篇 ICPR 論文(https://projet.liris.cnrs.fr/imagine/pub/proceedings/ICPR-2010/data/4109b670.pdf) 里的算法去申請了個專利,然后去安安心心去中科大洋實習(xí)。
在第一家公司工作的時候,我不局限于完成自己的任務(wù),而是花時間去看團隊里的所有代碼。這種工作方式剛開始的時候會比較吃力。因為我不僅僅只是把問題處理完了就完事,而是非得想把和它相關(guān)的周邊業(yè)務(wù)邏輯都挖一遍才甘心。因此,班也沒少加,好多個周末我都一個人在公司看代碼,做測試。
不過這種方式的好處也是顯而易見的,我花了大概一年的時間就熟悉了團隊里的各種模塊和業(yè)務(wù)。當有老員工離職的時候,我們領(lǐng)導(dǎo)很惆悵。我告訴他不用擔(dān)心,這些模塊我能頂住。有了前期看代碼的積累,確實后來的各種事情處理起來都非常的得心應(yīng)手。入職一年就頂起了團隊里的大梁。
而且我還發(fā)現(xiàn)我們公司的客戶端軟件在啟動的時候比較慢,通過主動調(diào)研和測試,最后給領(lǐng)導(dǎo)提交了一個客戶端啟動加速的方案。現(xiàn)在能想起來的方式其中一個技術(shù)方式是 DLL 的基地址重定位。
02 入職騰訊
在 2011 年下半年,工作了一年多的時候,感覺廣播電視領(lǐng)域整體的盤子還是太小了,當時領(lǐng)頭企業(yè)的營業(yè)額一年也就才十個億左右。再通過和自己在騰訊的同學(xué)交流,還是覺得互聯(lián)網(wǎng)的空間更大。所以也婉拒了領(lǐng)導(dǎo)給的副組長的提拔挽留,又毅然跳到了北京騰訊。
我是 2011 年 11 月加入騰訊的。在項目上,仍然保持和第一家公司時工作類似的風(fēng)格,全力以赴。不僅僅局限于完成自己手頭的工作,主動做一切可能有價值的事情。其中一件事情就是我發(fā)現(xiàn)在當時的項目中,存在很多運營后臺的開發(fā)需求。每次開發(fā)一個后臺都得有人力去投入。
后來我就在老大的所開發(fā)的一套 PHP 框架的基礎(chǔ)上進行改進。實現(xiàn)了只要指定一張 Mysql 數(shù)據(jù)庫中的表,就可以自動生成 bootstrap 樣式的管理后臺界面。支持列表展示、搜索、刪除、批量刪除、文本框、時間控件等等一切基礎(chǔ)功能。再以后涉及管理后臺的功能,只需要在這個基礎(chǔ)上改造就行了,人力投入降低了很多,風(fēng)格也得到了統(tǒng)一。這個工具現(xiàn)在在我們團隊內(nèi)部仍然還在廣泛地使用。
還有個故事我也講過,就是老大分配給我一個圖片下載的任務(wù)。我不局限于完成完成任務(wù),而且還把文件系統(tǒng)、磁盤工作原理都深入整理了一遍,就是這篇《Linux文件系統(tǒng)十問》
03 轉(zhuǎn)戰(zhàn)搜狗
2013 下半年的時候,我第一次感受到了工作崗位的震蕩。我還專注解決某一個 bug,花了不少精力都還沒查到 bug 的原因。這時候,部門助理突然招呼我們所有人都下樓,在銀科騰訊的 Image 印象店集合。在那里,見到了騰訊的總裁 Martin。這還是第一次離大老板只有一米遠的距離。
所有人都是一臉困惑,突然把大家召集下來是干嘛呢。原來就在幾個小時前,騰訊總辦已經(jīng)和搜狗達成了協(xié)議。騰訊收購搜狗的一部分股份,并把我們連人帶業(yè)務(wù)一起注入到了搜狗。
沒想到,是老板用一種更牛逼的方式幫我把 bug 給解決了。
14 年 1 月正式到了搜狗以后,我們沒有繼續(xù)做搜索了。而是內(nèi)部 Transfer 到了另外一個部門。做起了搜狗網(wǎng)址導(dǎo)航、搜狗手機助手、搜狗瀏覽器等業(yè)務(wù)。我也是從那個時間點,開始帶團隊的,也是從那以后慢慢開始從個人貢獻者到帶團隊集體輸出的角色的轉(zhuǎn)變。
在搜狗工作的這 7 年的時間里,我仍然也是延續(xù)之前的風(fēng)格。不拘泥于完成工作中的產(chǎn)品需求,以及老大交付的任務(wù)。而是主動去探索各種項目中有價值的事情。
比如在手機助手的推廣中,我琢磨了新用戶的安裝流程的各個環(huán)節(jié)后,找出影響用戶安裝率提升的關(guān)鍵因素。然后對新版本安裝包采用了多種技術(shù)方案,將單用戶獲取成本削減了20%+,這一年下來就是千萬級別的成本節(jié)約。
我們還主動在手機助手的搜索模塊中應(yīng)用了簡單的學(xué)習(xí)算法。采用了用戶協(xié)同,標簽相似,點擊反饋等方法將手機助手的搜索轉(zhuǎn)化率提升了數(shù)個百分點。
除了用技術(shù)提升業(yè)務(wù)以外,我還結(jié)合工作中的問題進行了很多的深度技術(shù)思考。
如有一次我們自己維護了一個線上的redis(當時工程部還沒有redis平臺,redis服務(wù)要業(yè)務(wù)自己維護)。為了優(yōu)化性能,我把后端的請求由短連接改成了長連接。雖然看效果性能確實是優(yōu)化了,但是我的思考并沒有停止。我們所有的后端機都會連接這個redis。這樣在這個redis實例上可能得有6000多條并發(fā)連接存在。我就開始疑惑,Linux 最多能有多少個TCP連接呢,我這 6000 條長連接會不會把這個服務(wù)器玩壞?
再比如,我們組的服務(wù)器遭遇過幾次連接相關(guān)的線上問題。其中一次是因為端口緊張而導(dǎo)致 CPU 消耗飆升。后來我又深入研究了一下。
最近,由于 Docker 的廣泛應(yīng)用。底層的網(wǎng)絡(luò)工作方式已經(jīng)在悄悄地發(fā)生變化了。所以我又開辟了一個網(wǎng)絡(luò)虛擬化的坑,來一點一點地填。
現(xiàn)在我們的「開發(fā)內(nèi)功修煉」公眾號和 Github 就是在作為一個我和大家分享我的技術(shù)思考的一個窗口。
04 重回騰訊
時隔 7 年,我又以一種奇特的方式變回了騰訊人的身份。
騰訊再一次收購了搜狗的股份,這一次不再是控股,而是全資。
在離開騰訊的這 7 年多的時間里,騰訊的內(nèi)部技術(shù)工作方式已經(jīng)發(fā)生了翻天覆地的變化。
所以在剛轉(zhuǎn)回騰訊的這一段時間里,我花了大量的精力來熟悉騰訊基于 tRPC 的各種技術(shù)生態(tài)。除了工作日,也投入了不少周末的精力。
所以公眾號的文章更新也慢了一些,希望大家理解。不過重回到騰訊巨人的肩膀上,將來我也會有更多的新的思考來分享給大家,敬請期待。
05 再叨叨幾句
最后,水文里擠干貨,通過我今天的文章我想給大家分享這么幾點經(jīng)驗。
第一,是要學(xué)會抬頭看路,選擇一個好的賽道進去。我非常慶幸我當年從廣電賽道切換到了互聯(lián)網(wǎng),獲得了更大的舞臺。不過其實我自己在這點上做的也不是特別好,2013年底入職搜狗前拒絕了字節(jié)大把期權(quán)的offer,要不然我我早就財務(wù)自由了。
第二,不要光被動接收領(lǐng)導(dǎo)的指令干活。要主動積極思考項目中哪些地方是待改進的,想到了你就去做。領(lǐng)導(dǎo)都非常喜歡積極主動的員工。我自己也是喜歡招一些能主動思考,積極推進的同學(xué)。這些人能創(chuàng)造意外的價值。
第三,工作中除了業(yè)務(wù)以外還要主動技術(shù)的深度思考。畢竟技術(shù)仍然是開發(fā)的立命之本。在晉升考核的時候,業(yè)務(wù)數(shù)據(jù)做的再好也代替不了技術(shù)實力的核心位置。把工作中的技術(shù)點總結(jié)一下,在公司內(nèi)分享出來。不涉及機密的話在外網(wǎng)分享一下更好。對你自己,對你的團隊,都是好事。
前段時間我把公眾號上的一篇文章127.0.0.1 之本機網(wǎng)絡(luò)通信過程知多少 ?!在騰訊內(nèi)網(wǎng)發(fā)了一下,就有幸入圍了騰訊內(nèi)部知識獎的評比。多分享總會有意想不到的收獲。
不知不覺就叨叨了這么多。今天就寫到這里了,希望大家都工作愉快,步步高升!
總結(jié)
- 上一篇: 一行代码搞定 GitHub 访问徽章
- 下一篇: 什么是 Go runtime.KeepA