作技術的,必定不能放棄技術。在精進技術的同時完善其餘方面的能力,十年如一日。不忘初心,方得始終。前端
本文是看到阿里巴巴系統架構師黃勇的採訪記錄有感而發,若有侵權,請聯繫我。下面就一塊兒來看看阿里架構師的十年架構路。程序員
和你們介紹下我目前所從事的工做:我目前從事分佈式服務架構的設計與開發工做,在阿里的大數據平臺上進行應用程序開發。編程
咱們整個系統架構採用了「先後端分離」的思想,前端關注數據展示,後端關注數據生產,經過 REST服務將先後端整合起來,全部的應用都是無狀態的,能夠作到水平擴展。後端
咱們將整個系統拆分紅許多「微服務」,服務之間經過統一的接口來調用,每一個服務是經過容器技術進行隔離,此外服務可發佈到統一的服務管理平臺上,可經過該平臺監控每一個服務的運行狀態與生命週期事件,併爲服務調用者提供了服務發現的能力,可對服務進行平滑升級。性能優化
阿里有許多優秀的中間件與基礎服務,能夠快速幫助咱們搭建應用系統,並且這些技術在阿里內部全是開源的,你們能夠經過源碼和文檔學習到不少有價值的經驗。阿里也提供了濃厚的技術氛圍,每位同窗都很是專一於本身的工做領域,你們對工做一絲不苟,相互配合,方向一致。架構
【2006 年大學畢業】,我離開了母校武漢理工大學。併發
在院長薛勝軍老師的推薦下,我來到了上海,這個對於我來講很是陌生的地方。我有幸加入了一家名爲「動量軟件」的創業公司,這家公司的老闆曾經是亞信科技的 CTO,他也是普元軟件的創始人兼 CTO,他的名字叫黃柳青,他也是薛老師的大學同窗。因而就這樣,個人老闆成爲了個人老師,我習慣叫他黃老師,包括公司其餘資深的同事也成爲了個人老師,由於我很想他們身上學到更多有價值的東西。框架
剛開始工做的時候我學習了什麼是雲計算?什麼是 SaaS、PaaS、IaaS?咱們花了三年時間開發了一款名爲 ODE 的 PaaS 平臺,讓用戶能夠在該平臺上量身定製本身的軟件,最終爲客戶提供基於 SaaS 的產品。確實很驕傲,那時咱們已經在作雲了,只是沒想到後來雲會在中國獲得這麼好的市場,可能當時只有黃老師一我的想到了吧。前後端分離
【在 2008 年,我爲公司拿回了「第一桶金」】,這也是我從程序員轉向項目經理的里程碑。分佈式
當時我帶領團隊遠赴深圳,爲國信證券公司開發經紀人管理系統,這個項目對於我我的而言倒是一筆至高無上的財富,我開始學習如何與人打交道,如何作需求分析,如何將需求轉變爲技術,如何帶領團隊小夥伴一塊兒工做。
學到了太多太多,但我依然選擇在我工做第四個年頭裏離開了動量軟件,我剛加入動量軟件的時候,公司只有 5 我的(包括老闆和前臺),當我離開動量軟件的時候,公司已經有 200 人左右了。感謝黃老師!我在他身上學到了不少,他的思想和態度直到今天都還在影響着我。
【個人第二份工做仍是選擇了我最熟悉的證券金融行業】,一樣也是一家創業型公司。
在這家公司裏我擔任了技術經理,管理了整個技術團隊,從項目的售前到售後,我都親自帶領團隊來完成。雖然在這家公司我只作了兩年,但在這短短的時間裏,我學會了如何提升開發效率、如何培養技術團隊、如何選拔技術人才、如何創建企業文化。
但最後我發現了一個問題,越是想作好,越是很難作好,爲了作成一件事情須要作不少的嘗試,作事情缺少正確並有效的方法。
回想我工做的前六年時間裏,我一直都是在創業公司裏成長,雖然能夠快速學到東西,但彷佛很難學到更加規範的作事方法。因而【我選擇了新的工做機會,來到了 TCL 通信】,這是一家至關大的公司,公司的研發管理流程來源於法國阿里卡特公司。
我在公司擔任 Java 架構師職位,也算是整個 Java 團隊的技術負責人,雖然團隊並非特別地大。我在這家公司作了三年,學到了如何整合現有資源、如何按標準流程去作事、如何設計系統架構、如何進行異地工做、如何跨團隊工做、如何用英文來溝通。
說實話,當時我沒有任何的工做壓力,能夠按時上下班,歷來都不會加班。雖然本身空閒的時間不少,但我並無選擇去浪費時間,而是開始寫點技術博客,也正是由於這些技術文章,才改變了我後續的職業發展道路。
我清楚的記得,那是在【2013 年 9 月 1 日】,我在開源中國(oschina.net)網站發表了我人生的第一篇博文《Smart Framework:輕量級 Java Web 框架》 ,這篇文章影響了我後續兩年。其實說句內心話,當我第一次寫這篇文章時,我內心是沒底的,這個框架只是根據本身的理解作出來的一個設想,當時甚至連一行代碼都沒寫過。個人想法是先將這個思想發表出來,讓你們討論起來,我會作一個決策,而後再親自作具體實現,最後我會將實現過程經過博文的方式展示給你們,後續你們會對個人實現進行點評,我會基於你們的建議進行改善。整個開源過程正好與敏捷的思想是一致的,有效溝通、小步快跑、擁抱變化、不斷改進。
也許就是個人技術文章吸引了不少廣大讀者,這裏面不排除想邀請我加入的其它公司。我在【2014 年離開了 TCL 通信,加入了易傳媒】。爲何我要放棄如此溫馨的工做環境,去加入一家還在不斷拼搏的企業呢?其實我看到的是將來互聯網的發展趨勢,廣告程序化交易以及廣告與大數據的結合,將來最值錢的必定是數據。
抱着這樣的信心,我加入了易傳媒,擔任系統架構師職位。當時易傳媒正處於技術轉型的初期,須要將 .Net 所有遷移到 Java,這件事情對於我而言是很是有挑戰的。
個人作法是:
第一步定義開發規範與流程;
第二步培養核心技術人員;
第三步分階段進行改造。
僅半年時間,咱們全部的產品成功地遷移到了 Java 平臺,結果出乎你們的想象。公司市場也很是不錯,產品獲得了業界的承認,訂單數源源不斷,你們天天都很忙碌,但卻很開心。而易傳媒的「易家人」企業文化,讓我所感動,無論是核心技術部門仍是其它支持性部門,你們就像一家人同樣,你的事情就是個人事情。
直到【2015 年初,阿里巴巴與易傳媒創建了合做關係】,兩家公司進行了深度合做,易傳媒公司與阿里媽媽事業部進行了整合,新阿里媽媽今後誕生了,因而我也成爲了阿里巴巴的一員,目前負責阿里媽媽大數據品牌營銷產品的系統架構工做。就在兩家公司整合的過程當中,我完成了人生中的處女做《架構探險 —— 從零開始寫 Java Web 框架》這本書,目前該書正在各大網上書店售賣,我真心但願這本書能對一些想成爲架構師的程序員們有所幫助。
我可能永遠不會想到,一個架構師的煉成經歷了多少的曲折,多少個日日夜夜對技術的熱枕和鑽研才換來你們對於【架構師】三個字的羨慕與嚮往。
從做者的經從來看,06年從學校畢業,接觸的是‘雲計算’這種在當時很超前的領域,這也爲做者打下了堅實的基礎。
08年,做者須要帶團隊出差。擔任技術經理的職位,負責整個技術團隊。而這離做者畢業才僅僅2年的時間,讓人不得不感嘆這種進步速度。反觀咱們,是否能在程序員生涯重要的前兩年打好堅實的基礎,積累豐富的經驗呢?我想大多數人並不能。
說到管理,一個快速發展的行業會推着你往前走,不會等你萬事俱備了才讓你帶團隊,泛互聯網就是這樣一個領域。也許你還沒想過要作管理,並且你的上級也並不但願你作純粹的人力管理,可是「帶團隊」這個事情,卻已經變得不可避免。換句話說,你叫什麼不重要,頭銜也不重要,重要的是,你很快就得帶着一個小團隊作事了。
能在工做的頭兩年裏獲得提高管理能力的機會,一方面是幸運,另外一方面更是能力。尤爲是在技術這個領域,做爲一個團隊Leader,最應該拿出手的就是強悍的技術能力,在團隊碰到技術難題的時帶頭攻克。對新手來講,技術的積累、沉澱絕對是重中之重。
技術經理的經歷給做者帶來的是技術上的越發精進,同時還有管理方面的協調和統一。而這,也爲做者第二份工做提供了經驗支撐。所以,做者全程參與了一個項目的售前到售後工做,一定培養出了一個對項目的宏觀認識。雖然也進行了不少必要的嘗試,可是苦於沒有正確有效的方法。
爲何做者要全程參與?一個優秀的程序員,他必定是技術和業務都很精通的人才。碼農不是工程師,碼農只會明確需求和邏輯的狀況下寫代碼。工程師才懂得用技術怎麼解決實際業務問題,用技術驅動業務的發展。
這個世界,缺的是技術過硬又精通業務的工程師,缺的是真正能解決實際業務問題的人,缺的是複合型的人才。
架構師爲何這麼吃香我想你們也明白了吧?正是由於各個公司之間的業務千差萬別,咱們作出來的產品也是大相徑庭。相同的是:每一個公司都想要一位甚至多位牛逼的架構師。
回到做者,在做者經歷了6年的創業公司磨練後,認爲本身須要一個更加規範的作事方法,所以來到了TCL,同時也真正地任職架構師職位。我認爲這是一個比較重要的階段,在技術已經達到一個相應的瓶頸,團隊管理也已經步入正軌的狀況下,那麼接下來該如何提高本身呢?
能夠看到,做者學到的(如何整合現有資源、如何按標準流程去作事、如何設計系統架構、如何進行異地工做、如何跨團隊工做、如何用英文來溝通。)更多的是一種工做的方式方法,不只解放了本身,也解放了團隊,提高了公司的生產力。
這時,又來了一個重點,那就是技術博客。很多的程序員大牛都建議寫技術博客,具體緣由我這邊就再也不贅述。但願你們在看完這篇文章後能繼續拾起落下的博客或者開始寫博客的第一步。
經歷了這麼多年的摸爬滾打,做者已經有了本身對行業的理解,正如那句「將來最值錢的必定是數據」所說,如今的大數據行業誰敢小覷?最終做者本來供職的「易傳媒」和「阿里巴巴」結爲連理,做者也進入了「阿里巴巴」這家偉大的公司,也算是人生的另外一個里程碑。
能夠看到在做者十年架構之路上,技術老是不變的主題,隨之提高的是管理、思惟、眼界、方法論、遠見等一系列各個維度像金字塔同樣的層級。
對技術的追求是程序員永恆的主題,也是程序員賴以生存的發展之道。要想邁向架構師的方向,技術也是堅實的"地基",不然架構師也只是空中樓閣而已。關於架構師應該掌握的技術棧,我也有一套本身的理解:源碼分析、分佈式架構、微服務架構、併發編程、性能優化、團隊協做等。具體的知識點我也整理成了一個Xmind腦圖,同時還請資深架構師錄製了一些視頻,須要的同窗能夠加羣:895244712
,這些資料我也分享到了羣文件之中,歡迎你們加羣交流。
故事到這裏就結束了,至於將來會往哪裏發展,咱們誰都不清楚。但我堅信:是金子總會發光,比起背景,更重要的是堅持不懈的努力。正如文章開頭所說 「作技術的,必定不能放棄技術。在精進技術的同時完善其餘方面的能力,十年如一日。不忘初心,方得始終」。
原文連接:https://www.csdn.net/article/2015-09-06/2825621
主人公:黃勇(阿里巴巴系統架構師)