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