1. 程式人生 > >初級程式設計師到首席架構師的經歷

初級程式設計師到首席架構師的經歷

“在微博平臺,有幸結識了一幫趣味相投資深碼農,離開以後很難再有這麼一個團隊來成長了……想想都是幸運,成天跟一群這麼優秀的人在一起,想變差都不容易。” 筆者。

我現在負責熊貓 TV 整體基礎架構工作,是一個快 9 年工齡的碼農。辦公地點在 O2O 宇宙中心——望京 SOHO,附近的夥伴們可以隨時約起。

我在 2007 年畢業,和很多同行一樣,也是從小公司起步,曾做過 ERP,資訊保安,網際網路社交平臺、遊戲平臺等,現在工作是直播娛樂平臺。寫過幾年的語言有 Java、C/C++、PHP、Golang,偶爾寫點 Python、Lua、NodeJS 等。花在開源上的時間不多,但也開源一些個人程式碼,如分散式發號器。

我今天演講的主題是個人成長與選擇。

在我講我個人成長經歷前,我先推薦一本書「聯盟」,LinkedIn 領英創始人裡德•霍夫曼的作品。在「聯盟」中,提供了一種使僱主與員工之間從商業交易轉變為互惠關係的框架,建立了一種鼓勵公司和個人相互投資的工作模式。它提出打造任期制,將非終身僱用的員工變為公司的長期人脈,並吸收員工的高效人脈情報。

只有僱主與僱員結為強大的聯盟,共同擁有持續的創新與豐富的智慧寶庫,員工、團隊、企業,乃至整個經濟才能繁榮發展。

每個人對於價值觀有不同的理解,我個人對於人生幸福理解很簡單:年輕時有人生閱歷豐富的人(下面我姑且稱之為長者)指導,跟隨有理想的長者去學習及改變世界;到自己成為長者時,也同樣能將相同的價值觀及做事方法影響一批人,聚攏一批有志青年來一起做有意義的事情。我說的長者不是指年齡,還是指在人生閱歷及行業領域有深入見解的人。在這個時代,單槍匹馬很難成功,我更看重團體的力量及跟優秀的人一起做事情。

長者能通過集市模式聚到一批與同樣興趣與尿點的人,這些人每天共同生活做事:吃飯、做事;吃飯、討論;吃飯、學習打豆豆、睡覺, 找誰是豆豆。這個尿點這重要,有同樣尿點也意味著有更多一起接觸的機會。有些碼農喜歡白天寫程式碼,有些碼農喜歡晚上寫程式碼,這個尿點不一致,可能就少了很多交流的機會。一起生活只是一個比喻,重點是通過長者大家一起找到共同做事的節奏。Linux 作業系統就是在長者號召的背景下,產生於這種貌似混亂、無序的集市模式。

我的觀察國內缺少這種長者,大部分團隊都以商業為重。在國外,矽谷科技在幾十年前通過創新走在世界前列,很大程度依賴這種土壤;幾百年前,歐洲的文藝復興也依附於這份土壤。有機會我要去佛羅倫薩聖母百花大教堂與矽谷灣區看看,去感受那些當時能影響一個時代的人物。

價值觀就到這, 下面簡單說下個人成長的經歷。

剛畢業時,放棄了父母在家鄉的安排及強烈反對來到了北京,以碼農的身份及 3,000 元月薪加入到某公司的企業方案部門做 ERP,盈科是一家香港電信公司,可以理解成香港的中國移動。第二份工作是在神州泰嶽做資訊保安方面開發,在神州泰嶽的經歷如果說收穫較多的,可能是資訊保安的專案對程式碼質量要求嚴格,自己打好了較好的程式設計習慣與基礎。

轉眼就畢業三年過去,到了 2010 年時候開始有些鬱鬱寡歡,覺得自己往上進一步成長非常慢,也看不到未來的出路,感覺企業資訊保安領域開發不是我長期想要的技術生活。但在另外一方面,我也觀察到國內的網際網路行業及技術都發展非常蓬勃,覺得它應該是技術人員未來的方向。因此也憧憬著去嘗試海量使用者規模網際網路平臺的技術挑戰,希望能做一些更大的、能影響整個網際網路使用者的事情。

在迷茫的路口,我開始關注網際網路技術,也閱讀了很多網際網路技術大牛的技術書籍及文章,包括有幸全盤拜讀 Tim 的部落格。一次偶然的機會,花了 100 元(誰說技術人員一毛不拔)報名了 CSDN TUP 技術沙龍,並聆聽了 Tim 當時在會議上的演講。會議結束後我在電梯口聯絡 Tim 表達了求職意向,Tim 當時給了一份考試題讓我回去試試。

跟很多做畢業後一直從事企業開發的同行一樣,當打算轉入網際網路行業時候,普遍碰到經驗不足及資歷不夠的問題。我幸好有之前幾年打好的紮實程式設計基礎,因此提交的考題程式碼還不錯,獲得了微博面試的機會。在自己資歷還比較普通的情況下,果斷對自己身價清倉出血甩賣,也同樣出於對團隊的嚮往,面試時說只要能加入給多少錢都行(但碼農通常也都很現實,面試完回家後就對自己提出的工資後悔了)。就在這不計較個人工資多少的情況下(也是個人為數不多的一次跳槽不大幅度漲薪),果斷加入了剛處在風口不久的微博技術團隊。總的來說,這次轉換於我個人這是一次全新的開始,我可以開始做自己喜歡且擅長的事:網路伺服器與高併發系統。

加入微博平臺團隊後,開始適應網際網路團隊在我看來全新的開發模式。一上崗發現已儼然進入擺好臺的手術室,Tim 是教授院長,提出了技術前進的整體方向。田大師就是專家主刀醫生,主控一個大的模組的架構設計,剩下就等著我這個護士遞手術刀(寫程式碼)。一開始我參與了 firehose-stream 專案的開發,這是一個管理微博所有內部資料的實時資料流服務,每秒實時推送數萬條資料,包括微博、評論、私信等訊息及事件。當時也是緊張而又刺激,在業務飛速發展及訪問量劇增的背景下解決了上線後很多問題。

經過這個專案適應後,我開始接觸千萬級使用者訪問的平臺,如每秒幾萬、甚至十萬以上的全站提醒、通知、導航、邀請等系統。每個系統除了自己摸索,以及工作有田大師指教外,團隊也提供了非常好的交流氛圍。每週都有固定的時間,大家在一起討論及交流技術。Tim 也每週拿出一些在架構領域有代表性的場景跟團隊小夥伴一起探討解決方案。除了平臺有這麼大的資料規模及使用者訪問量的環境給大家歷練之外,我覺得平臺的技術學習氛圍這也是我當時成長較快的原因。

在微博期間做了很多專案,包括也有幸參與到核心 feed 系統的開發。幾年的歷練下來。慢慢從一個積極能動性型碼農,成長為在高效能高併發領域略有心得的技術專家。

快樂時光總是過得快,轉眼到微博又快 3 年。有一天突然發現自己又出現了原先鬱鬱寡歡的心慌,隱約感覺自己是希望下一步有機會再次做一些不同的事情。事後回想也許是自己在一定程度想從跟隨者到召集者角色的轉變。在微博平臺的團隊中,跑在前面的都是從技術到思想都非常優秀的人,在短時間內我不太可能有機會超越這些前輩轉變到召集者的角色。

當時的心慌也可以用一句古話來描述,人無遠慮必有近憂,這是不是說明我還是遠慮者(現場鼓掌)。考慮到自己未來期望的轉變,決定離開微博去創業,去主導及影響一個小範圍領域的事情。走的時候心情也非常糾結,當時國內有氛圍且有挑戰,能收容有技術情節碼農的技術團隊不多,有些東西一旦失去可能再也回不去了。

不捨不只是微博平臺本身,更多是有幸結識了一幫趣味相投資深碼農,離開以後很難再有這麼一個團隊來成長了。包括有鋼琴藝術氣息的田大師、有時間洗千億級資料(小編注:由於架構升級進行的遷移資料)而沒時間洗澡的小軍、演算法、棋藝、運動與於一身的小麥、長鬍子藝術家氣息的老王、帥氣的一樂、少年班福林、低調的朱總、呵護多年新同學成長的校長、國際範 James Wei、德州賭神刀刀、托馬斯海濤、兵乓球及架構高手姚老闆、烤鴨老闆方圓等,這些好朋友今天大多數也來到了現場。包括還在微博戰鬥以及散落在各大網際網路公司擔任要職的好朋友,我就不一一點名了。想想都是幸運,成天跟一群這麼優秀的人在一起,想變差都不容易。

但自己也需要跳出這個舒適區,走的時候回望奮鬥過三年的理想國際大廈時,決定自己將來也要打造出一支有技術範與戰鬥力,同時能服務於社會並帶來商業價值的工程團隊,同時實現財務自由。

但創業的現實很骨感。創業失敗看來是必然,裡面有些隱私的因素就不在這裡細說。創業公司雖然失敗,但這過程中我經歷了角色轉換拐點,由成熟大公司的技術專家變為創業小公司的產品技術負責人,不再只執著技術細節點,同時還需要更多關注技術帶來的商業價值。在創業階段也經歷了快速搭建一個技術團隊並最後散夥的心情。

創業失敗後,如果繼續回到技術專家的崗位,我可以很快找到新的工作。但我內心仍然希望繼續擔當技術組織者的角色,這時候可能選擇大平臺裡面成長快的業務、以及對技術帶頭人有強烈需求的團隊更為合適,這也許意味自己需要更長的時間去尋找及物色。

2013 年,我加入奇虎 360 PC 網遊團隊,負責技術架構工作,由一個更專注基礎技術架構專家逐漸接觸更多商業化專案,更多思考技術的商業價值。也逐漸在引進技術人才與管理技術資源方面變得嫻熟。

到 2015 年,外界的條件對我感觸很大,“大眾創業,萬眾創新”,O2O 與共享經濟等方向帶來的網際網路創業熱潮,瞬間感覺技術人員的春天來了,鴨子也可賣上好價錢。由於很多團隊都出現“只差一個技術負責人”的場面,開始發現自己經常能跟這個行業裡面大佬對上話,裡面不乏有一堆跑車的上市公司 VP,或一出生坐擁數億資產的創業新秀。當時想如果跟這些大佬們接觸,即使暫時不願加入,也可以幫他們出謀劃策或物色技術高手,至少可以在一定層面發揮價值。

這是個最壞的時代, 也是個最好時代。最壞時代是到了 2015 下半年,轉眼資本寒冬已來到,很多在創業的小夥伴感受到陣陣涼意。最好的時代是說網際網路依舊是國內經濟發展巨大的引擎,網際網路的發展離不開技術,因此技術人有比過去多得多的機會。尤其是那些有實力與口碑的技術人,通常會被各路行業大佬直接搶奪。

為了讓職業生涯更好,除了技術硬實力外,還需要有高度的軟實力。俗話說兩手抓兩手都要硬。 提升自身價值與商業價值的匹配度,讓自己做得事情滿足老闆同時貼切商業價值,也就是這個時代技術人員的風口,這是我對當前這個網際網路時代技術人成長的思考。

這也是為什麼我在 2015 年中選擇加入了熊貓 TV,並承擔了公司最重要的基礎架構的職責。

回到這次新年聚會及架構開源研討會,開源是讓很多資源 free 的一個手段,但這個 free 不單指免費,更多是指提供廉價、自由、方便、開放、平等的資源, 可以供平民來使用,這些資源不再那麼昂貴,尤其技術資源。讓屌絲創業公司,也能夠站在相同的起跑線與巨頭比武。技術基礎建設者七牛雲、青雲等是我敬佩的公司,我所在的公司也大量使用了這些業界提供的基礎服務。

感謝這個時代通過技術人的努力,讓我們聞到 free 的味道,並讓其開始生根發芽,好戲開始了,讓我們見證萬物復甦的開端,由技術驅動網際網路創新的大戲才剛開始。