哪有那麼多的「逆襲」,惟有努力與堅持,機會就會在前方。程序員
魯直,1989年生,本科畢業於浙江工業大學,以後被校招進阿里巴巴。雖然,今年剛剛30歲,但他已經是螞蟻金服SOFA中間件開源負責人。服務器
看到這個開頭,是否是以爲咱們要向你們講述一個普通程序員勵志「逆襲」的故事?不,並非這樣。架構
但機會老是留給有準備的人併發
「當時就是不想考研究生,而恰好阿里給的offer又能讓我在杭州‘活’下去。」魯直推了推眼鏡,淡淡地說。框架
2009年,魯直報名參加了阿里和浙江工業大學校企合做的實習項目,通過1年的實習期,他在畢業季裏成功拿下了B2B團隊的offer。分佈式
最初的時候,魯直對於業務架構根本談不上了解,只是天天重複着很普通,甚至是略微枯燥的代碼工做。在當時,魯直的工做就是作產品的研發以及業務系統的開發。天天想着的是建模和如今的業務模型是否匹配,IE6下能不能兼容……微服務
和大多數踏出校門、初入職場的大學生沒什麼不一樣。魯直的生活和職業幾乎談不上計劃,更談不上夢想。高併發
可是,努力和幸運,讓魯直的人生軌跡逐漸發生變化。工具
「當時的主管對咱們說,由於咱們剛進公司不久,在技術方面還須要更多的提高。」因而,魯直就一頭扎進開源代碼的研究與分析中。在那時,業界的開源意識並不像如今這般普及,但魯直他們組織的「半民間」開源興趣小組卻堅持了近2年的時間,一幫技術新人相互陪伴着學習開源,看代碼,互相指出不足。學習
不斷的學習讓魯直對於中間件的興趣日漸濃厚,他很想在這一領域進行嘗試。終於,機會來了!有個同事提議推出一個研發效率提高工具,並被當時的技術主管知道了,他給了魯直和這個同事一個月的時間把這個工具作出來,並且先不用管業務的事兒。
因而,兩我的用了一個月的時間,最終拿到結果:一款研發效率提高工具。
從看書自學,到組成小團隊一塊兒研究代碼,再到此次的實操,魯直在B2B團隊3年時間,想清楚了本身究竟要什麼。「當時,就認定了本身想要去作中間件」,魯直說,「並且阿里也有完備的人員流動機制。」因而,魯直做出了一個重要的決定——從B2B團隊轉崗到螞蟻金服中間件SOFA團隊。
那個屬於魯直的機會終於來了。
學習令人進步
如願以償,魯直進入了螞蟻金服中間件SOFA團隊,但這並不意味着是一片坦途。
「更忙了,也更充實了;更有趣了,但挑戰也更大了。」魯直略帶興奮地告訴筆者,轉崗後,他感覺最明顯的是角色發生了變化。「以前在業務團隊的時候,我只須要具有業務視角便可。可是中間件不同,須要充分考慮用戶的感覺。中間件的用戶都是研發人員,我須要考量他們的使用場景和習慣等,甚至是在單詞拼寫以及命名規範等細節。」
魯直說,他必需要較真,由於程序員不少時間都花在變量命名上。
隨着對中間件的深刻,魯直髮現,本身進入了「Hard」模式,以前那些認知看上去都不太管用,甚至有一些好笑。正是基於這種警醒,魯直知道,不斷學習纔是本身惟一可選的路。
因而,魯直一頭扎進書海,處處找中間件相關的書籍,從最底層的基礎理論學起;而後將這些理論知識應用於實際的工做中。爲此,魯直主動要求作不少的支持工做。一段時間以後,魯直很快就瞭解了所負責的中間件產品的細節,並快速地積累了解決問題的經驗。
「這段經歷仍是蠻有意思的。若是當時只是一味地讀死書,而沒有將其用於工做中,我想我可能沒有那麼大的提高。」魯直感慨到。
若是說學習讓魯直感到了愉悅,那麼在中間件團隊工做期間,收穫的「痛苦」又是什麼?——「你不知道,項目進度帶來的壓力真心大。」魯直說。
2016年雙11,魯直所在的SOFA團隊負責彈性架構的改造,但其中一個很是老的協議卻成了彈性架構下的「bug」。「都知道雙11那種緊張的氣氛,跟打仗沒什麼區別。」魯直說,「架構改造的工做當時由於這個‘bug’而停滯了,整個團隊不只週末連續加班,身體疲憊不已;心理的壓力更大。」
然而,除了迎難而上,別無它途。魯直和小夥伴們一塊兒不斷對協議進行深刻的分析,不斷地定製針對性的修復方案,終於讓業務順利升級中間件,平穩地支持了雙11。
「當時真的是身心俱疲,能夠說是很是痛苦了。但最終,咱們仍是完成了任務。」魯直說着,鏡片後閃過一絲堅決的眼神。在魯直看來,在越困難的時期,越須要逼本身一把,所謂破釜沉舟,大概如此吧。
「SOFA這個名字的來歷還挺有意思的,是咱們的CTO魯肅取的名字,裏面包含兩層意思,一是按照當時的技術趨勢,要作面向服務的架構,即Service Oriented Architecture,但加入了金融業務,因此是ServiceOriented Fabric Architecture;二是但願可以像‘沙發’同樣,讓工程師能夠很是爽地工做。」
2018年4月,可讓工程師們很是爽的SOFA正式開源了!「如今,SOFA在螞蟻金服有將近2000個應用,是在螞蟻業務場景下被不斷驗證和錘鍊的一套框架。」魯直表示,「把SOFA開源出去,讓更多的人使用,對於SOFA將來的發展極具意義。」
魯直告訴筆者,開源的意義就是給技術的發展裝上輪子。
越自律越自由
程序員的頭髮,一直是一個不太好玩的老梗。儘管魯直的頭髮仍然濃密,但仍是能看到在危險邊緣瘋狂試探的髮際線。
儘管團隊的小夥伴稱其爲「魯大師」,但魯直一直強調本身不過是個平凡的「碼農」。「若是哪天,我在阿里的成長徹底停滯了,那也就是我離開的時候了。」魯直悠悠地說到。從大學畢業就在這家公司,9年,是一份執着的堅持。
他認爲,本身之因此能在阿里巴巴有所成,是由於本身很幸運,在工做中找到了本身的熱愛,因而,全部的辛苦都再也不是前行的負重,而是助推力。對於中間件的喜歡,以及阿里巴巴和螞蟻金服提供的闊大舞臺,讓本身不斷面對挑戰,不斷去學習,不斷地成長。
魯直喜歡跑步,即使是天氣再冷也會跑個5千米;並且他也喜歡馬拉松,陸續堅持了8年之久。在做息時間方面,魯直也有着「嚴格」的標準,他要求本身儘可能在12點以前睡覺。「熬夜對身體真的很差,並且我跑步也是爲了鍛鍊身體,但這些都實際上是我對本身的一些要求。」魯直說。
無論做息規律也好,跑步也好,均可以視做是魯直對本身的嚴格自律。魯直在用本身的行動詮釋「越自律越自由」。
那些對開源有興趣的小夥伴們,魯直給出了本身的建議。「參與開源,一個錯別字也是開始。根據對項目瞭解的深刻程度,能夠從找錯別字、命名規範等找錯開始,由淺入深,再去提出Issue、提交Bug。相信全部的開源項目維護者都會很是地歡迎你們一塊兒參與、多提一些意見。」
最後,魯直引用他最喜歡的程序員Jamie Zanwinski的一句話與你們共勉:痛苦造就性格。在溫馨的狀態下,不少的人表現是差很少的,可是在逆境中,一些人心裏很是深處的想法和力量才能被充分發揮出來。
SOFA是什麼?
SOFA(Scalable OpenFinancial Architecture),螞蟻金服自主研發的金融級分佈式中間件,包含了構建金融級雲原生架構所需的各個組件,包括微服務研發框架,RPC 框架,服務註冊中心,分佈式定時任務,限流/熔斷框架,分佈式鏈路追蹤,分佈式高可用消息隊列,分佈式事務框架等組件。
簡單來講,SOFA就是包含一整套組件的金融級分佈式中間件。誕生於支付寶第2代技術系統的服務化,最開始只有一套框架,後來逐漸造成了一整套完整組件。
SOFA和傳統金融架構的區別
一、傳統的金融IT架構通常採起集中式,經過購入大型機小型機解決數據問題,拓展性弱且機器成本高昂。
二、SOFA則採起分佈式的架構,在高併發交易處理能力、強一致性、秒級容災和彈性伸縮上都有突出的表現。譬如面對雙11流量洪峯時,徹底能夠準備PC級的服務器去支撐,彈性伸縮。
本文來自雲棲社區合做夥伴「阿里技術」,如需轉載請聯繫原做者。