尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
工程師之路,就像金字塔,好像4/5的人都在基層梯隊,像工蟻一樣日夜忙碌。起床,洗漱,擠地鐵上班,測試、改Bug,在整棟大樓的燈火通明里加班,日復一日,年復一年,重復相似的生活,做著相似的工作……
很多人喜歡自稱「碼農」,就像是吐槽這操蛋無趣的生活!
然而,他似乎有些不一樣。
30歲的他,不善言辭,面對鏡頭也有些拘謹,但一談到技術,話就停不下來,好像眼睛里都發著光;
從實習到工作,他用了長達9年的時間在阿里成長,中途從B2B團隊主動轉崗到螞蟻金服中間件SOFA團隊,放棄過去選擇重新開始;
現在是SOFA開源負責人的他,對技術的熱情在工作里越來越高漲,讓工作成為了理想,活成了我們曾經想要的樣子。
在他身上,我們看到很多平凡人的特性:普通大學出身,畢業後理所當然地選擇了一份工作,上班下班,養家糊口。
但他又有著很多人所沒有的東西:在工作中找到了熱愛的事情,於是,所有工作上的辛苦都不再是前行的負重,而是助推。
魯直,螞蟻金服高級技術專家、螞蟻金服分布式架構SOFA 的開源負責人
平凡開發者的隨波逐流
// 轉變,是要找到更適合自己的位置 //
「當時就是單純地不想考研究生,阿里給的薪水又能(支撐我)在杭州活下去。「
1989年出生的魯直,四舍五入也算是個90後。2009年,他報名參加了阿里和母校浙江工業大學校企合作的實習項目,經過1年的實習期,他在畢業季里成功拿下了B2B團隊的offer。
剛開始的時候,對於整個業務架構甚至都還不是那麼了解,只是每天重復著很普通的代碼工作,做誠信通產品研發(誠信通是阿里巴巴針對內貿企業打造的,以企業誠信體系為內核的電子商務會員服務),業務系統開發。每天想著建模是否和現在的業務模型匹配,IE6下能不能兼容……
初入職場的魯直像大多數人一樣,生活、就業,很多時候隨波逐流,順勢而為,還談不上夢想說不上什麼計劃。
但是,一些幸運和很多努力,讓他內心開始有了轉變……
魯直回憶:部門的技術主管認為新人剛進來,在技術方面需要更多的提升。於是鼓勵大家去研究開源代碼,做一些分析。
事實上,六七年前的業界開源意識並不像現在這麼強烈,但是魯直他們組織的「半民間」開源興趣小組卻堅持了近2年時間,一幫技術新人相互陪伴著學習開源,看代碼,指出不足。
由於當時研究了很多中間件和框架的東西,自己也忙里偷閒看很多技術書,對於中間件,魯直躍躍欲試。
這時候,他等到了一個機會,有同事提議:要不要搞一個研發效率提升的工具?魯直馬上響應:一起做!後來,被技術主管知道了,更是豪氣地給了1個月的時間:你們先不用做業務,就把這個東西做出來!
2個人,1個月時間,把設想落地。
互相溝通磨合、架構、測試、他們樂此不疲,最終在期限內拿出了完整的作品。目前,這個工具還在螞蟻金服和阿里有著較大規模的使用。
從看書自學,到組成小團隊一起研究代碼,再到這次的實操,魯直在B2B團隊3年時間,想清楚了自己究竟要什麼。中間件,是他想馬上擼起了袖子去參與的,想到成果就會成就滿滿的技術方向。
「想要去中間件。」2013年,魯直做了一個重要的選擇:主動從B2B團隊轉崗到螞蟻金服中間件SOFA團隊。
SOFA 5年
// 挑戰、成長、擁抱開源 //
進入螞蟻金服中間件SOFA團隊的日子,比想像中更充實、更有樂趣,也更有挑戰。
剛轉崗到中間件的時候,魯直最直接體會到的就是用戶的不同,在業務團隊只需要考慮業務,但是做中間件卻要考慮到用戶,也就是研發人員的使用場景、使用習慣的差異,哪怕在單詞拼寫、命名規範等細枝末節上都要一再較真。
「工程師大半時間都花在變量命名上了,真不是玩笑」。
而越接觸中間件,就越發現它比想像得更難,但魯直馬上從「懵逼」的狀態中出來:
那段時間,拼命去找相關書籍去看,建立對中間件的基礎理論認知;然後開始做很多支持工作,有時候凌晨2、3點還在幫助用戶排查問題。
這個過程中,迅速地了解了所負責的中間件產品的細節,快速地積累了解決問題的經驗,「對於中間件的認識真的是飛速提升」。
而這還只是開始。
談及做中間件最痛苦的事情,其實更多的是因為項目進度的壓力而帶來的挑戰。
2016年的雙十一大促,當時是SOFA團隊去做彈性架構的改造,但SOFARPC中的一個非常老的協議的支持在彈性架構下面卻一直出現問題。
迫在眉睫的雙十一、一直停滯的改造、高強度的工作,讓整個團隊的壓力都非常大。
周末連續加班,一批人反復對這個協議深入分析,通宵制定修復方案,在高壓之下,團隊凝聚在一起,最終讓業務順利升級中間件,支持了那一年的雙十一大促的要求!
或許這就是「痛苦造就性格」,不逼自己一把怎麼知道自己可以做到?
其實,在SOFA的技術團隊里還有一個共識:Design for failure,也就是在設計過程中假定在任何情況下底層都有不可靠的風險存在。魯直坦言:在體量/規模非常大的情況下,小概率的事件發生都會變得非常頻繁。
支付寶就發生過的一次黑天鵝事件,由於一個路由器把數據位翻轉了,導致通信出現問題,而通信數據中存在一部分業務數據,其中有一個字段是錢,對於金融業務來說,從0變成1的細微改變,帶來的影響是及其巨大的。不過那時候還比較幸運,出錯的是數據頭,直接報錯了。
盡管算得上有驚無險,但大家都捏了一把冷汗。
「其實,這樣小概率的事件可能10年也遇不到一次,但是一旦遇到,損失是難以可能的。」事後,技術團隊馬上在RPC層加了數據校驗,保證數據在傳輸過程中不被經過篡改。
擁抱變化,承擔風險,也開放技術。
2018年4月,SOFA正式開源了,由技術團隊進行日常維護。魯直表示:目前SOFA在螞蟻金服有將近2000個應用,是被螞蟻實踐證實的一套框架,開源出去,讓更多的人去體驗、使用,對於SOFA的發展具備很大的意義。
「不管這個團隊里誰走了,至少SOFA開源都不會停止。」
這也讓場主想到,在AMD追趕英特爾的漫漫長途中,一句廣為流傳的話是這樣說的:「AMD的存在,不僅深受AMD客戶的擁護,也是英特爾用戶的福氣,因為它打壓了英特爾的高價壟斷。」
或許開源的意義就在於此,給技術發展按上輪子,而這,也是魯直所企盼的。
我不是大師
// 我是極客 //
5年時間很快,魯直在團隊里的角色已經從架構師到技術管理再到如今的SOFA開源負責人,在阿里,他走過了三十而立。
現在團隊人送外號——魯大師。
「第一個叫我魯大師的人,不是因為我真的是大師,而是因為有個殺毒軟件叫這個名,再說了,我們CTO魯肅,花名也姓魯,要是別人在魯肅面前叫我魯大師可怎麼辦!」不善言辭的魯直說到這里,也忍不住笑開了。
他自謙不是大師,但下一句卻可以自豪地對著鏡頭說:我是一個極客。
工程師、極客,是他對自己的定位,也是對自己的要求。在SOFA的研發、架構、項目團隊管理乃至開源的負責,他都值得一句問心無愧、全力以赴。
細數下來,魯直在阿里9個年頭了。他曾經說過:如果哪一天,我在阿里的成長完全停滯了,那可能就是我離開的時候了。
對比95後3個月辭職的閃速,9年時間都選擇在同一家公司,這種堅持來源於他自己對中間件的喜歡,也有著阿里/螞蟻金服這個平台給他的挑戰和成長。
目前,魯直帶著 SOFA 開源技術團隊,他們同樣熱愛技術,對SOFA非常認可,這之中有極客、有全能型人才,也有偏科的尖子生。
偶爾,魯直也會帶他們去西湖跑步,和他們討論開源的細節。這一支小團隊,在為共同認可的事業一起向前,這應該就是最好的事情了吧。
而,對於想要加入開源的小夥伴,魯直也有一點建議:
參與開源,一個錯別字也是開始。根據對項目了解的深入程度,可以從找錯別字、命名規範等找錯開始,由淺入深,再去提出Issue、提交Bug。相信所有的開源項目維護者都會非常地歡迎大家來參與、提一些意見。
SOFA是什麼:
SOFA(Scalable Open Financial Architecture),螞蟻金服自主研發的金融級分布式中間件,包含了構建金融級雲原生架構所需的各個組件,包括微服務研發框架,RPC 框架,服務註冊中心,分布式定時任務,限流/熔斷框架,分布式鏈路追蹤,分布式高可用消息隊列,分布式事務框架等組件
簡單來說,SOFA就是包含一整套組件的金融級分布式中間件。誕生於支付寶第2代技術系統的服務化,最開始只有一套框架,後來逐漸形成了一整套完整組件。
SOFA 文檔: https://www.sofastack.tech/
SOFA: https://github.com/alipay
SOFA和傳統金融架構的比較:
1、傳統的金融IT架構一般採取集中式,通過購入大型機小型機解決數據問題,拓展性弱且機器成本高昂。
2、SOFA則採取分布式的架構,在高並發交易處理能力、強一致性、秒級容災和彈性伸縮上都有突出的表現。譬如面對雙十一流量洪峰時,完全可以準備PC級的服務器去支撐,彈性伸縮。
他喜歡跑步,再冷也要跑個5公里;
喜歡馬拉松,陸陸續續地堅持了8年;
還喜歡咖啡,即便深夜里喝完一杯也毫不影響睡眠;
經常看書,最喜歡的工程師是Jamie Zanwinski;
睡得很早,12點前基本就休息了,被問及「是不是太養生了」時,會趕緊解釋道:「還是保命要緊!」
享受生活,同時也享受工作,這樣的魯直,我們希望你從他的經歷中,可以看到曾經的自己,從他的選擇里,你能找回對技術的熱戀。
最後,魯直想要送給養碼人的一句話,出自他最喜歡的一個工程師Jamie Zanwinski:
痛苦造就性格
在舒適的狀態下,很多的人表現是差不多的,但是在逆境中,一些人內心非常深處的想法和力量才能被充分發揮出來。
本文轉載自微信公眾號:養碼場