有人說,架構師大可能是從程序員成長起來,但不是每一個程序員都能成爲架構師。行業通常認爲,架構師是一個既須要掌控總體又須要洞悉局部瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。本期【開源訪談】邀請到了騰訊雲數據庫架構師簡懷兵,來分享他的架構師經驗,以及他對架構師的理解是怎樣一步一步加深的。程序員
【本期嘉賓】數據庫
簡懷兵,騰訊雲數據庫架構師,負責騰訊雲CDB內核演進及新技術的調研和預演,在數據庫內核和分佈式存儲領域具備豐富的經驗,前後供職於Thomson Reuters和YY等公司,PTimeDB做者,曾獲一項發明專利。安全
【採訪實錄】微信
一、首先介紹一下本身架構
答:你們好,我是簡懷兵,目前工做有超過10年。剛畢業時曾在路透社工做,期間有3年時間本身去創業,隨後進入歡聚時代算是正式步入互聯網行業,如今在騰訊負責騰訊雲CDB的研發和新技術的調研和預演。分佈式
二、在工做當中有沒有遇到一些記憶深入的坑?大數據
答:前幾年互聯網金融比較火爆,騰訊有許多跟金錢、交易相關的業務,像微信紅包、財付通支付、QQ彩票等等,當時就遇到了除安全性方面以外的另外一個大問題,就是數據的一致性。作互聯網金融體系,首先要知足 「兩地三中心」的國家標準,再者自己對數據層面、數據架構和數據內核都要有足夠的改進,這時就對咱們的工做提出了很大的挑戰。在一樣的機房條件下,咱們最終作到了比大多數業界方案的TPS提高了60-70%的優化,這點讓我印象比較深。優化
三、在您看來,架構師的本質是什麼?3d
答:其實,全部架構的本質應該都是更好地爲業務服務,更好地適應業務的體系和變化。更高效的服務和適應未來可能的變化,我以爲是架構最重要的東西。cdn
四、架構師除了專業技能,還須要具有哪些能力?是否有所謂的境界之分?
答:做爲架構師,須要知識的廣度。從個人角度來講,架構師首先應該是一個優秀的程序員,有多年的編寫代碼經驗。其次,如今雲、大數據等領域較爲火爆,也是趨勢,須要去了解。簡單來講,我認爲一位合格的架構師須要有必定的知識廣度,並在某一兩個領域有必定深度。
至於境界,我認爲實際上是沒有所謂的境界之分。不一樣的公司對架構師的要求都不一樣,領悟和積累到的東西都不同。更重要的實際上是須要不斷的去適應變化,去前瞻性的瞭解公司將來的變化。
五、對於行業內不斷出現的技術演變和新技術,應抱有怎樣的態度?從目前形勢來看,行業預期走向會是什麼樣?
答:對於架構師,最核心的態度應該是「開放」。當一個行業或某一種技術剛出現時,確定有不少好的、很差的、確定的和批判的聲音,架構師須要以客觀的態度來看待它們。任何新技術的發展過程當中不免有取捨和權衡,但在最後真正能將這門技術駕馭好並應用到本身的項目當中,給業務團度和開發團隊帶來價值,這纔是架構師應該去追求的。
目前來講,我以爲分佈式是數據架構領域未來的一個方向,如今其實也已經有這種趨勢了。另外,國外目前有個概念是和行業結合起來,未來可能會在分佈式架構的基礎之上,再須要考慮一些分佈式的事物,以及和傳統SQL的兼容。不少國內外的互聯網公司在近幾年都開發了本身的數據庫去解決公司本身的問題,但這些進步卻沒有對整個行業帶來一些普及型的福利。究其緣由,這種產品不管是開發和部署都還有必定門檻,並且和傳統SQL不兼容。因此我以爲身處數據庫領域,這就是未來要考慮的問題,對用戶友好、簡單,對行業兼容,這樣纔會給用戶和整個行業帶來實實在在的好處。
六、隨着更輕便化和簡易化產品的出現,會不會下降對開發者的要求?
答:架構師的目標其實就是爲了讓開發者更簡單,也是爲了讓像是初創公司、小型企業能更快的起步和發展。輕便化和簡易化產品的出現,更多的是下降了他們的成本、週期等等。可是對於架構師自己而言,並不能單純地說下降了開發門檻,由於在原有產品輕量化的同時,新技術也在不斷出現,新的業務需求也在不斷提出。
七、除了平常工做的積累,還有沒有其餘方式來提高本身?
答:我的而言,我會訂閱一些我認爲比較高質量的公衆號,瞭解技術方面的信息,而後會關注開源領域比較新的一些項目,跟進行業內的趨勢。另外,我會去關注一些國內外比較有名的大學實驗室,他們發出來的paper裏面可能就會有純技術和科研領域的新發現。雖說這些比較前沿的科研大突破真正落到工程中可能須要5-8年的週期,但從事這個行業,須要有這樣的敏銳度。
八、最後,對於剛剛步入架構領域的新人,有一些什麼樣的建議和經驗分享?
答:有兩個感觸,一是若是想從事這個行業,首先須要有最好內心準備,給本身大概3年左右的時間靜下心去沉澱到某一兩個領域,直到在這些領域中有必定的深刻度。二是不能爲了成爲一個架構師而去努力,而是要先看本身是否是真的喜歡。每一個人的性格、履歷最終也會決定本身是否是適合作這個,可是一旦肯定下來是合適和喜歡的,那就要提早開始積累自身知識的廣度,主動去參加不少項目,積累工程實現經驗。架構師是一個大而全的崗位,可能剛開始不必定能直接勝任,而是在作軟件開發、QA或者PM,但當有足夠的能力將這些hold住時,那我以爲你離一個真正的架構師已然不遠。