目錄
一、前言
1.某位工號三位數的一名工程師
2.來自阿里P11的多隆
3.手中無劍,心中有劍
4.多隆的工位
二、除開那幾個憑借一己之力,即可顛覆世界的技術大神,
1.同為程式員,但是發展軌跡為何截然不同?
2.真正的分水嶺
2.1編程框架是如何運轉起來并輸出“Hello World-^”的?
2.2編程框架是如何運轉起來并輸出“你好世界-^”的?
3.如何讓自己更正規,更有章法地使用Mysql呢?
4.Key、Hash、List、Set、ScoreSet各自應該用在哪些場景?
4.1.刨根問底的學習方式
5.三天打魚兩天曬網的小明
6.初到大廠新環境的小亮
最后
一、前言
大神程式員給我的感覺就跟大神數學家一樣,總會在一些意料之外的地方看到他的名字,
比如大家熟悉的大神數學家高斯,小學我們就聽到了高斯對于等引數列求和的故事,中學就會聽到他尺規作圖正十七邊形,大學能看到高斯分布,計算機能看到高斯噪音,天文學能看到高斯計算谷神星軌跡,可謂他的大名散落各地,
1.某位工號三位數的一名工程師
在計算機方面我自己就欽佩一個大牛,就是某位工號三位數的一名工程師,從我大學讀計算機以來就多次在不同場合見到這個名字,
淘寶初創團隊有3名開發工程師,工號165號的多隆是其中之一,

2.來自阿里P11的多隆
多隆在公司大多數時間是沉默的,從2000年加入阿里以來只專注于寫代碼,現在多隆在阿里的層級是P11,
多隆不愛帶團隊,團隊一般溝通成本高、水平參差不齊,而他一個人就能頂一個高效頂尖的團隊,作為淘寶最早的程式員之一,很多產品早期就是他一個人開發維護的,檔案系統tfs、key-value系統tair,cache、搜索、通訊框架等等,參考阿里云總裁行癲對他的評價:
在內網的標簽上,他被稱為神,這不是恭維,在所有工程師眼中,他就是個神,多隆做事一個人能頂一個團隊,比如說寫一個檔案系統,別人很可能是一個專案組,甚至一個公司在做,而他從頭到尾都是一個人,在很短的時間內就完成了,從03年到07年,淘寶搜索引擎就是他一個人在寫,一個人在維護,而且這還不是他全部的作業,另外他還做了其他很多事情,
有個很偶然的機會,行癲聽說NETAPP不太穩定,當時他恰好在看一個JAVA的分布式檔案系統,便讓多隆研究研究,看了一陣之后,多隆說還不如自己寫一個,這次連行癲都表示有點懷疑,不過,行癲相信既然他說行,就一定能行,
沒過多久,多隆便完成了原型,三個月后就提供了一個能夠運行的產品,而這一切,基本上是他一個人利用平時閑暇時間完成的,這個系統就是現在TFS,淘寶的檔案系統,它成功地解決了大量小尺寸檔案分布式存盤的可靠性與讀寫的性能問題,如今,仍然有以T字開頭的產品運行在淘寶的生產環境中,

在阿里,多隆是一個“神”一樣的存在,“只要有技術上的困難,找多隆,沒有解決不了的”,這是在阿里技術人員中廣泛流傳的一句話,
從2003年到2007年,搜索引擎作業一直都是多隆一個人負責,但這不是他所有的作業,因為他解決問題的能力是驚人的,多隆一個人能頂一個團隊,別人做事可能要成立一個專案組,而他從頭到尾都是自己一個人,還能很快就完成了,即使他負責的事情以前從沒有接觸過,
阿里研究員畢玄說
“牛P很多,但能被稱為‘神’的只有多隆一個,他在解決故障方面的能力更是無人能及,在淘寶的故障解決歷史上有N多的案例,”
他隨手舉了兩個例子
“五彩石專案多隆完成了商城搜索的dump邏輯,當時如果沒有多隆,整個專案需要延后2周;還有一次,淘寶session框架呼叫session_tair故障,一堆人(應該有10人+)一起排查問題,從6:00排查到第二天的6:00,最后多隆查到了問題,”
多隆有一個常人難以做到的特質,當他沉浸在他的程式世界時,外界的人和事很難干擾到他,
一天的作業時間里,他絕大部分都在座位上寫代碼,若他不在座位上,那基本上就在洗手間, 我還記得2010年公司的乒乓球比賽決賽是在創業10樓的休閑吧舉行的,比賽現場距離多隆只有20米遠,鑼鼓喧天,人聲鼎沸,很多人都被吸引過去了,整個辦公區只有多隆一個人還“粘”在椅子上,
多隆不擅交際,也不玩什么社交網路,一般很難在公眾場合見到他,只要能不參加的會議、采訪,他都不會參加,就算去,他也常常會帶上筆記本,據說他也曾經帶著筆記本去outting,在車上寫代碼……
3.手中無劍,心中有劍
多隆在技術上真的已經到了“手中無劍,心中有劍”的化境,他解決沒有現成答案的問題,就是直接看原始碼,從程式原始碼看到glibc,再一路看到kernel,直到問題解決,他很熱衷于看原始碼解決問題,經常是大家都還不知道怎么辦的問題,第二天他說他已經看了xxx的原始碼,改一下哪里哪里就好了,
雖然被所有人視為神,但他真的由心底覺得自己是一個凡人,他做的最多的就是是默默的坐在工位上,他一直都是這樣定位自己的:“我就是個寫代碼的,很普通”,

4.多隆的工位
很多人不知道,其實多隆并非計算機專業畢業,在1994年時,多隆考上了杭州大學生物科學專業,但這并沒有阻擋他對技術的熱愛,圖書館和機房是他最常待的地方,他還會把機器拆開研究,拿著拆開的機器去辦公室請教老師,非相關專業畢業,卻能在技術領域做出成就,多隆用他的熱愛、專注、用心贏得了大家的尊敬,
有一次多隆在試圖完成一個復雜的功能,有一天他一來公司,跟同事說“昨晚凌晨四點想到了實作方式,現在來試試看”,他總是想著用各種方式提升性能,
盡管身居高位,多隆仍然經常幫助同事理解代碼,2018年5月,5名工程師參與了阿里代碼領域最高榮譽"多隆獎"最終角逐,那天代碼評審現場,多隆看到某代碼片段最后結尾,突然說了一句,"往上翻看下第83行,"代碼一般都是幾百行,看到最后,卻仍然記得第83行的一個細微瑕疵,這可不是一般常人可為,

二、除開那幾個憑借一己之力,即可顛覆世界的技術大神,
我們普通程式員,無論是腦力,還是體力,絕對不比一般的“大神”差,尤其是年輕的程式員,
1.同為程式員,但是發展軌跡為何截然不同?
身邊有兩個朋友小明和小亮,他們都是普通院校畢業,可同為程式員的發展軌跡,卻截然不同,究竟為何呢?
起初,小明和小亮在剛接觸編程的時候,都是跟著書里和視頻里的教程,下框架,搭服務,建據庫,兩人為了讓第一個Demo程式能跑起來,皆被“天書”般的檔案和“古墓梵文”般的組態檔虐得體無完膚,
在學習的程序中,小明和小亮同樣會因某個粗心大意的錯漏,被BUG卡個兩三天,雙手抱頭,內心崩潰,嘗試著玄學重啟程式,雖然神奇地編譯通過,但在運行的時,卻再次飆紅,那一刻,想死的心都有了,也會因為摸不這頭腦的成功運行,而揮舞雙手喜不自勝,
在入門編程這個階段,小明和小亮的學習程序與水平,并無太大差別,無非就是輸出渲染、增刪查改、基本業務的掌握,
2.真正的分水嶺
真正的分水嶺,開始于熟悉編程后,即進階編程的階段,
在小明領悟了“Baidu + Googel + Ctrl+C + Ctrl+V”四騷高效大法的真諦時,小亮開始了對技術本源的好奇之旅:
2.1編程框架是如何運轉起來并輸出“Hello World-^”的?
2.2編程框架是如何運轉起來并輸出“你好世界-^”的?
于是他開始艱難的原始碼學習旅程,多方面網羅資料,慢慢明白了IOC容器、單例、工廠、策略、裝飾、反射和適配等諸多模式,在實際場景的作用,腦海里對專案工程的全貌,有了初步的認識,也間接奠定了基礎的系統開發思維,并開始意識到“組合-解耦”對專案的日后維護的重要性,
學框架期間,小亮無意間觸碰到一篇名為《Mysql的20條優化方法》的文章,這讓他驚奇的發現,哇哦~原來優秀的細節處理,對提高MySql的性能有著如此巨大的影響,這引發他做了一次延伸思考:
3.如何讓自己更正規,更有章法地使用Mysql呢?
于是他在網上前輩的推薦下,開始生啃神書《高性能MySQL》,觸碰到了業務表設計、InnoDB、事務特性ADIC、索引、EXPLAIN、資源競爭、主從服務、分布式、高可用、冷熱備份,知道了《資料結構》和《演算法》這兩門學問跟資料庫的原理有一定淵緣,更重要的是,小亮開始深刻地認識到,資料就是技術的命根,
在書中,小亮還知曉了Nosql,諸如Redis、MonngoDB這類記憶體資料庫性能極佳,值得投資學習,就計劃著偶爾抽些碎片時間,嘗試學習Reids,在此期間他萌生了一個疑惑:
4.Key、Hash、List、Set、ScoreSet各自應該用在哪些場景?
在網上閱讀雜文,內容零碎,不成體系,小亮掏腰包入手《Redis lN Action》,深入閱讀后,明白了如何將不同Redis資料結構組合起來,實作購物、熱榜、搜索、登錄等應用場景,像RDB和AOF的機制,原子鎖,分布式鎖,鎖的粒度與時效這類技術,給了他一些啟發:“要用好技術,需要根據場景,學會取舍,是—門非常細膩的活兒”,
4.1.刨根問底的學習方式
這種技術刨根問底的學習方式,在幾年間,讓小亮
- 從祟拜Unix設計深追到《計算機組成原理》 從祟拜Unix設計深追到“計算機組成原理”
- 從Http請求深入到握手分包 從http請求深入到握手分包
- 從sort函式深入到不同演算法的時間復雜度O(n) 從排序函式深入到不同演算法的時間復雜度O(N)
他的技術體系,向左->向右->往上->往下,連貫且有序地生根發芽,最后小亮發現,其實不同的技術,有諸多相似的原理,例如: 他的技術體系,向左->向右->往上->往下,連貫且有序地生根發芽,最后小亮發現,其實不同的技術,有諸多相似的原理.例如:
- ·主流的編程框架都和設計模式相關,特性雖繁雜,但有跡可循 ·主流的編程框架都和設計模式相關,特性雖繁雜,但有跡可循
- ·在諸多新潮的軟體和業務處理,都能看到Unix編程哲學的身影 ·在諸多新潮的軟體和業務處理,都能看到Unix編程哲學的身影
- 由邏輯門組成的感知機,可以擬建基礎的神經網路 由邏輯門組成的感知機,可以擬建基礎的神經網路
再往后,小亮的技術根基越打越深,越拓越廣,對于新知識的掌握速度,就像學會了《九陽神功》那般,慢慢能夠做到“觸類旁通”的地步,
需要詳細的Java學習路線以及資料領取,有需要的可以 點我 免費領取,
5.三天打魚兩天曬網的小明
而這時的小明,則步入了中小廠作業,90后的創業隊伍,拉了幾輪金主爸爸,倡導新職場,未曾盈利,就提倡全員高福利,這讓小明在薪資上的獅子大開口成了真,
作業上,“四騷大法”依然犀利高效,小明有了充足的閑暇時間放放松,也不是沒想過要深挖點技術,但沒人教,又沒現成的全面教程,也沒有成規模的公司業務,來一波高壓驅動,靠自己,真的是看10分鐘,就腦殼暈,只能三天打魚兩天曬網,然后不了了之,
6.初到大廠新環境的小亮
初到大廠新環境的小亮,被其豐厚的家底和優秀的人才隊伍秀得喜不自禁,與此同時,他的新歷練也即將開始,
一進編制,就是入伍1000萬用戶級別的專案,由于小亮以前有個小習慣,恰飯時間就看大廠的技術沙龍視頻,所以實際作業悟性很高,表現的還算不錯,反倒是真真正正的海量用戶、海量請求、海量資料、海量日志,讓他切實的感慨到“紙上學來終覺淺”,
自此,兩人在技術世界的階級開始分化, 自此,兩人在技術世界的階級開始分化.
小亮逐漸在作業中明白到: 小亮逐漸在作業中明白到:
- 商業大專案中,高并發,高可用,心跳,安全,冷熱備,應急修復不是拿來技識訓吹的,是團隊作業的基本要求,因為出問題,就是虧人錢 商業大專案中,高并發,高可用,心跳,安全,冷熱備,應急修復不是拿來技識訓吹的,是團隊作業的基本要求.因為出問題,就是虧人錢
- 持綾集成(CI)被真正地落地執行,確實能大大提高專案的穩定性 持綾集成(CI)被真正地落地執行,確實能大大提高專案的穩定性
- 一個每天被請求上億次的API,其背后細膩的技術堆疊,含金量十足 ·一個每天被請求上億次的API,其背后細膩的技術堆疊,含金量十足
- 名牌海龜大佬,盛名之下無虛上,也非常照顧和提點后輩, ·名牌海龜大佬,盛名之下無虛上,也非常照顧和提點后輩.
就在這樣,在這個海量用戶+精英氛圍的“超級經驗房”里,小亮被各種高標準,高要求日復一日的錘煉,
一晃,兩年過去了,小亮破繭成蝶,自身技術在團隊里已然獨當一面,成為新人口中的“亮神”,
其間,他突出的表現,勤奮的態度,良好的口碑,也讓他被領導相中,委任為新專案的技術Leader, 領袖,
在一線開發人員的圈子里,小亮的水準算基本畢業了,因為對自己手頭的作業,既熟悉又高效,這讓小亮開始有閑暇的時間,思考自己往后的職業發展:
- 努力奮斗,在大廠的體制內上升,拿更高的薪水福利 努力奮斗,在大廠的體制內上升,拿更高的薪水福利
- 聯系獵頭,利用大廠的名聲,尋找優秀的創業團隊,憑技術入股 聯系獵頭,利用大廠的名聲,尋找優秀的創業團隊,憑技術入股
- 分亨經驗,幫助更多的新人少走彎路,積贊業界名望 分亨經驗,幫助更多的新人少走彎路,積贊業界名望
投資未來,緊跟技術的新趨勢,為以后鋪路 投資未來,緊跟技術的新趨勢,為以后鋪路
.….(省略無數選擇)
此時,另一邊的小明,輾轉數家公司,不是閑得慌,就是遇上不死不活的專案,在邊角業務上忙個不停,膩到沒辦法了就跳,
起初小明還是很信奉“跳槽香,越跳槽越香”的網傳,但今年,在跳槽找作業的程序中,小明漸漸感受到了一個殘酷的現象 - 程式員的人才市場競爭愈發激烈,大批應屆生和培訓人員蜂擁而入,這股新鮮的血液,讓自己的競爭力有些大不如前了,
后來,小明還是找到了一份新作業,但似乎薪資并不如預期,而且有點糟心,公司專案不知經手多少人(有可能是野外包),老舊的技術堆疊交錯纏繞,過萬行的檔案比比皆是,老板性子又急躁,每天上班戰戰兢兢,一有需求改動,作業就像進入古墓探險,一個不小心,搬開某塊磚頭,整個人就被瞬間崩壞的古墓直接深埋,從晚上直至天亮才勉強鉆出...
最后
學好技術的竅門,在于將日常作業會用到的,卻不懂其原理的技術“小黑箱”,逐一拆開,認真剖析學習,每天一點點,每天一點點,1年后,你的技術水平必然大幅提升,
- 沒有前輩咨詢,可以多主動加入技術交流群,
- 沒有職業路線,可以多關注大神的公號來借鑒其想法和經驗,
- 沒有學習資料,可以多買幾本行業的經典讀物少喝幾杯飲料,
目標明確,思路清晰,資料齊全,技術儀式感營造得當,學起來會舒坦很多,
千萬不要輕信程式員遇到好專案,是靠運氣的,要知道,大多數好專案都是由優秀的人才做出來的,有幸進去的程式員,能力一般不會差到哪里去,
技術是一個努力與回報成正比的行業,它公平公正的對待著每一位從業者,那些被的尊稱為“大神”的佼佼者,必然有著常人無法想象的刻苦學習和辛勞付出,
程式員就像一位劍客,他必須流下汗水,去磨利他的“技術”佩劍;消耗精力,去專研劍的招式;付出青春,去探索劍的真意,只有這樣,他才能在這個危險與機遇并存的互聯網江湖,謀得一席之地,抑或是勇攀巔峰,

來自小編的福利
以上是小編分享的一些技術學習經驗,當然小編也準備了詳細的架構師學習路線圖 點我 免費領取 ,在這里小編免費分享一份阿里面試集錦的資料檔案,點我 免費領取,編程的世界永遠向所有熱愛編程的人開放,這是一個自由,平等,共享的世界,我始終是這樣堅信的,
喜歡小編的分享可以點贊關注哦,小編持續為你分享最新文章 和 福利領取哦
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225813.html
標籤:其他



