【開源訪談】簡懷兵:架構師的自我認知與進階

程式設計師生態圈發表於2017-11-28

有人說,架構師大多是從程式設計師成長起來,但不是每個程式設計師都能成為架構師。行業一般認為,架構師是一個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。本期【開源訪談】邀請到了騰訊雲資料庫架構師簡懷兵,來分享他的架構師經驗,以及他對架構師的理解是怎樣一步一步加深的。

【本期嘉賓】

簡懷兵,騰訊雲資料庫架構師,負責騰訊雲CDB核心演進及新技術的調研和預演,在資料庫核心和分散式儲存領域具有豐富的經驗,先後供職於Thomson Reuters和YY等公司,PTimeDB作者,曾獲一項發明專利。

【採訪實錄】

1、首先介紹一下自己

答:大家好,我是簡懷兵,目前工作有超過10年。剛畢業時曾在路透社工作,期間有3年時間自己去創業,隨後進入歡聚時代算是正式步入網際網路行業,現在在騰訊負責騰訊雲CDB的研發和新技術的調研和預演。

2、在工作當中有沒有遇到一些記憶深刻的坑?

答:前幾年網際網路金融比較火爆,騰訊有許多跟金錢、交易相關的業務,像微信紅包、財付通支付、QQ彩票等等,當時就遇到了除安全性方面之外的另一個大問題,就是資料的一致性。做網際網路金融體系,首先要滿足 “兩地三中心”的國家標準,再者本身對資料層面、資料架構和資料核心都要有足夠的改進,這時就對我們的工作提出了很大的挑戰。在同樣的機房條件下,我們最終做到了比大多數業界方案的TPS提升了60-70%的優化,這點讓我印象比較深。

3、在您看來,架構師的本質是什麼?

答:其實,所有架構的本質應該都是更好地為業務服務,更好地適應業務的體系和變化。更高效的服務和適應將來可能的變化,我覺得是架構最重要的東西。

4、架構師除了專業技能,還需要具備哪些能力?是否有所謂的境界之分?

答:作為架構師,需要知識的廣度。從我的角度來說,架構師首先應該是一個優秀的程式設計師,有多年的編寫程式碼經驗。其次,現在雲、大資料等領域較為火爆,也是趨勢,需要去了解。簡單來說,我認為一位合格的架構師需要有一定的知識廣度,並在某一兩個領域有一定深度。

至於境界,我認為其實是沒有所謂的境界之分。不同的公司對架構師的要求都不同,領悟和積累到的東西都不一樣。更重要的其實是需要不斷的去適應變化,去前瞻性的瞭解公司未來的變化。

5、對於行業內不斷出現的技術演變和新技術,應抱有怎樣的態度?從目前形勢來看,行業預期走向會是什麼樣?

答:對於架構師,最核心的態度應該是“開放”。當一個行業或某一種技術剛出現時,肯定有很多好的、不好的、肯定的和批判的聲音,架構師需要以客觀的態度來看待它們。任何新技術的發展過程中難免有取捨和權衡,但在最後真正能將這門技術駕馭好並應用到自己的專案當中,給業務團度和開發團隊帶來價值,這才是架構師應該去追求的。

目前來說,我覺得分散式是資料架構領域將來的一個方向,現在其實也已經有這種趨勢了。另外,國外目前有個概念是和行業結合起來,將來可能會在分散式架構的基礎之上,再需要考慮一些分散式的事物,以及和傳統SQL的相容。很多國內外的網際網路公司在近幾年都開發了自己的資料庫去解決公司自己的問題,但這些進步卻沒有對整個行業帶來一些普及型的福利。究其原因,這種產品無論是開發和部署都還有一定門檻,而且和傳統SQL不相容。所以我覺得身處資料庫領域,這就是將來要考慮的問題,對使用者友好、簡單,對行業相容,這樣才會給使用者和整個行業帶來實實在在的好處。

6、隨著更輕便化和簡易化產品的出現,會不會降低對開發者的要求?

答:架構師的目標其實就是為了讓開發者更簡單,也是為了讓像是初創公司、小型企業能更快的起步和發展。輕便化和簡易化產品的出現,更多的是降低了他們的成本、週期等等。但是對於架構師本身而言,並不能單純地說降低了開發門檻,因為在原有產品輕量化的同時,新技術也在不斷出現,新的業務需求也在不斷提出。

7、除了日常工作的積累,還有沒有其他方式來提升自己?

答:個人而言,我會訂閱一些我認為比較高質量的公眾號,瞭解技術方面的資訊,然後會關注開源領域比較新的一些專案,跟進行業內的趨勢。另外,我會去關注一些國內外比較有名的大學實驗室,他們發出來的paper裡面可能就會有純技術和科研領域的新發現。雖然說這些比較前沿的科研大突破真正落到工程中可能需要5-8年的週期,但從事這個行業,需要有這樣的敏銳度。

8、最後,對於剛剛步入架構領域的新人,有一些什麼樣的建議和經驗分享?

答:有兩個感觸,一是如果想從事這個行業,首先需要有最好心裡準備,給自己大概3年左右的時間靜下心去沉澱到某一兩個領域,直到在這些領域中有一定的深入度。二是不能為了成為一個架構師而去努力,而是要先看自己是不是真的喜歡。每個人的性格、履歷最終也會決定自己是不是適合做這個,但是一旦確定下來是合適和喜歡的,那就要提前開始積累自身知識的廣度,主動去參加很多專案,積累工程實現經驗。架構師是一個大而全的崗位,可能剛開始不一定能直接勝任,而是在做軟體開發、QA或者PM,但當有足夠的能力將這些hold住時,那我覺得你離一個真正的架構師已然不遠。

相關文章