太好玩兒!程序員的武俠世界:你是喬峰還是張無(wú)忌?
在漫天的星河中,有這樣一顆星,他樸實(shí)無(wú)華,卻又熠熠生輝,照亮了無(wú)數(shù)人的人生。他就是金庸先生。隨著一代大俠的駕鶴西去,“飛雪連天射白鹿,笑書神俠倚碧鴛”,成為絕響。
每一個(gè)少年心中,都有一個(gè)英雄夢(mèng)。曾經(jīng)幻想自己,長(zhǎng)劍佩腰,浪跡江湖,十步殺一人,如閑庭信步;曾經(jīng)幻想自己,青衣長(zhǎng)袍,長(zhǎng)蕭悠遠(yuǎn),百年等一人,訴兒女情長(zhǎng);曾經(jīng)幻想自己,墮萬(wàn)丈淵,偶遇奇人,習(xí)蓋世武功,救民于水火。夢(mèng)醒時(shí)分,心碎了一地,結(jié)局只是一個(gè)猥瑣大叔,面對(duì)代碼與bug。憂慮著遠(yuǎn)方,焦慮著當(dāng)下,俠義的心腸,英雄的夢(mèng)想,都逐漸的遠(yuǎn)去。
但是,有人的地方就有江湖。程序員的世界,未嘗不是另外一種武俠的世界。有的程序員,神功蓋世,俠之大者如喬峰,以一敵百;有的程序員,似裘千丈,編程多年,不過(guò)一江湖術(shù)士;有的程序員,功名在身,卻深居簡(jiǎn)出,低調(diào)隱居,如同風(fēng)清揚(yáng)。
我們總結(jié)金庸武俠小說(shuō)里面絕頂高手的共同特征,可以發(fā)現(xiàn)如下特點(diǎn):
有極強(qiáng)的內(nèi)力修為
至少深入掌握一門絕世武功
對(duì)多種神功均有一定了解
我們下面來(lái)逐一剖析。
有極強(qiáng)的內(nèi)力修為
令狐沖最開始在習(xí)得風(fēng)清揚(yáng)的獨(dú)孤九劍之后,已經(jīng)可以解決田伯光這樣的senior engineer了。獨(dú)孤九劍強(qiáng)調(diào)的是招式的牛逼,無(wú)招勝有招,但是,他還是有致命的弱點(diǎn),那就是內(nèi)功不強(qiáng)。令狐沖在獨(dú)孤九劍大成之后,在地下室和principle engineer任我行對(duì)練的時(shí)候,任我行還是用內(nèi)力震昏了他。直到令狐沖學(xué)到了《易筋經(jīng)》,成功融合桃谷六仙、不戒大師分別注入的八道真氣,方生大師給他輸入的真氣,黑白子全部?jī)?nèi)力,岳不群大部分內(nèi)力后,這個(gè)時(shí)候的令狐沖,可以說(shuō)是真正的獨(dú)孤求敗了。
這件事情對(duì)我們的啟發(fā)是,內(nèi)力不強(qiáng),招式再多,也會(huì)限制最后在技術(shù)領(lǐng)域的成就。由于大學(xué)階段計(jì)算機(jī)學(xué)習(xí)的整體缺陷,導(dǎo)致很多童鞋畢業(yè)數(shù)年后仍然不具備一些基本的內(nèi)力
a. PV操作
b. 信號(hào)量,初值為1的信號(hào)量通常做互斥,初值為0的信號(hào)量通常做同步
c. 互斥
d. 通信分為同步和互斥
e. LRU
…
很多很多不可盡數(shù),比如有的童鞋,在公司里面都工作幾年了,還是不知道堆和棧的區(qū)別。你這個(gè)時(shí)候,練再多的招式,懂再多的語(yǔ)言,C/C++/Java/Python…全部都擼過(guò)一遍,也難逃程序員的終極宿命,那就是越到后期越悲涼,它的曲線類似:
因?yàn)榈搅?5歲,這種大齡程序員,很多公司對(duì)他的定位,已經(jīng)是要能夠獨(dú)擋一面,解決性能、架構(gòu)等方面的需要突破的問題。這個(gè)時(shí)候,內(nèi)力不強(qiáng),計(jì)算機(jī)的基本原理都不通,就極可能在這個(gè)時(shí)間點(diǎn)上,技術(shù)生涯自由落體,變地非常被動(dòng)。
我們認(rèn)為,有兩門基礎(chǔ)課,對(duì)程序員練習(xí)內(nèi)力尤其重要,一是微機(jī)原理,二是操作系統(tǒng)。微機(jī)原理讓我們理解計(jì)算機(jī)是怎么工作,CPU、CACHE、內(nèi)存、硬盤、外設(shè)彼此間的牽絆;操作系統(tǒng)讓我們理解軟件是怎么工作,系統(tǒng)的硬件資源如何被軟件消耗,各個(gè)軟件組件如何互動(dòng)。這里我們推薦兩門書:
《深入理解計(jì)算機(jī)系統(tǒng)》
《Operating System Three Easy Pieces》
“Linux閱碼場(chǎng)”公眾號(hào)也數(shù)次推薦了這兩門書。相信有很多童鞋已經(jīng)在研讀。
至少深入掌握一門絕世武功
有很多童鞋,一生隨波逐流,今天在這個(gè)公司干這個(gè),明天在這個(gè)公司干那個(gè),沒有明確的興趣點(diǎn)和技術(shù)成長(zhǎng)目標(biāo),這樣很難形成堅(jiān)實(shí)的技術(shù)沉淀。比如你把凌波微步學(xué)一招,打狗棒學(xué)一招,降龍十八掌學(xué)一招,每個(gè)都學(xué)一招,一共學(xué)了100招,但是隨便來(lái)一個(gè)會(huì)兩招降龍十八掌的人就可以把你干掉。所以,任何一個(gè)頂級(jí)的程序員,必有他的成名武學(xué),他在這個(gè)領(lǐng)域,成為大師。
喬峰、郭靖 |
降龍十八掌 |
張無(wú)忌 |
九陽(yáng)神功 |
小龍女 |
玉女心經(jīng) |
洪七公、黃蓉 |
打狗棒 |
楊過(guò) |
黯然銷魂掌 |
張三豐 |
太極拳劍 |
… |
… |
現(xiàn)在的技術(shù)領(lǐng)域這么多,熱點(diǎn)層出不窮,追逐熱點(diǎn)固然不是壞事,但也可能讓你筋疲力盡。其實(shí)這樣無(wú)窮追逐,不如找到一個(gè)自己的興趣點(diǎn),比如Linux內(nèi)核也罷、TensorFlow也罷、GPU多媒體也罷、Android也罷,至少你要在某個(gè)領(lǐng)域里面成為高手,這是吃飯的本錢,也是行走江湖的籌碼。就是說(shuō),只要想到某個(gè)技術(shù)領(lǐng)域,就能想到你名字;想到你名字,就能想到這個(gè)技術(shù)領(lǐng)域。
根據(jù)我們的觀察,擁有成名武學(xué)的程序員,到了35歲,甚至40歲后,不僅沒有在江湖上被遺忘,還逐步進(jìn)入了更加頂級(jí)的公司的更加頂級(jí)的技術(shù)團(tuán)隊(duì),待遇之高,達(dá)到如果在微信群透露,就會(huì)讓其他程序員活不下去的程度。
對(duì)多種神功均有一定了解
既要低頭拉車,又要抬頭看路。有成名武學(xué),也不能故步自封。仍然要看一看別人在玩什么,這是聊天的資本,在廣泛的場(chǎng)合,可以和更多的人好好聊天。不能低估聊天的重要性,不能聊天,尤其是不能和高級(jí)領(lǐng)導(dǎo)聊天,會(huì)限制自身的可見性。另外一個(gè)方面,知識(shí)面廣,對(duì)自身技術(shù)領(lǐng)域可形成交織互補(bǔ),因?yàn)楹芏嗉夹g(shù),做到后來(lái),發(fā)現(xiàn)它們會(huì)交織互融。在金庸武俠小說(shuō)里,經(jīng)常出現(xiàn)練習(xí)某種武功久久不能突破,但是在練習(xí)了另外一種武功的情況下,突然前一種武功的最后一層就練成了的例子。
下面我們看看頂級(jí)高手的武功配置:
張無(wú)忌融合九陽(yáng)神功、乾坤大挪移、太極拳劍和圣火令神功四大蓋世武功為一體,當(dāng)世無(wú)敵,此外還精研醫(yī)術(shù)和毒術(shù),術(shù)絕塵寰。
虛竹為少林派弟子,學(xué)以羅漢拳和韋陀掌。意外破解珍瓏棋局后,承得無(wú)涯子七十年深厚的內(nèi)力,而其中也含有無(wú)涯子本身所學(xué)的北冥神功以及小無(wú)相功。獲得了天山童姥傳授的逍遙派天山折梅手以及天山六陽(yáng)掌和生死符。在繼承天山靈鷲宮后得見靈鷲宮后殿壁上無(wú)數(shù)精妙武功。
令狐沖學(xué)會(huì)了華山的劍法,寧式一劍、思過(guò)崖山洞的其他門派劍法,之后習(xí)得獨(dú)孤九劍,在梅莊地牢中習(xí)得吸星大法,最后一個(gè)階段,習(xí)得少林易筋經(jīng)。
…
因此,我們總結(jié)頂級(jí)程序員的三大特點(diǎn):內(nèi)功強(qiáng)(1),某個(gè)領(lǐng)域深(2),多個(gè)領(lǐng)域廣(3)。這三者之間的關(guān)系是:1是2的必要條件(如果基礎(chǔ)不牢,不可能在某個(gè)領(lǐng)域深),1+2是技術(shù)生涯成功的必要條件,3是1和2的補(bǔ)充(3是技術(shù)路線發(fā)展的充分條件,不是必要條件)。下面圖示最好到最差的技術(shù)配置:
因此,我們總結(jié)頂級(jí)程序員的三大特點(diǎn):內(nèi)功強(qiáng),某個(gè)領(lǐng)域深,多個(gè)領(lǐng)域廣。當(dāng)然,無(wú)論武功有多高,都必須具備一個(gè)品質(zhì):那就是仁義。
沒有仁義,武功高強(qiáng)如任我行、東方不敗、岳不群、歐陽(yáng)鋒、成昆者,都不會(huì)成為任何人的榜樣。
謹(jǐn)以此文,紀(jì)念金庸先生。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!