讀書筆記—《碼農翻身》



以下內容節選自《碼農翻身》,我對這些內容深有感觸,因此整理出來推薦給年輕的程序員們看看,希望激發大家去看看原書的興趣,從而在IT技術道路上精進。

順便說一下:此書80%的內容,還是在講IT技術的(用講故事的形式、淺顯易懂),適合架構師以下級別。

凡事必先騎上虎背

有人問我,說他所在的是一家中小型公司,開發團隊有十來個人、七八條槍,做行業軟件,現在公司沒有技術經理,只有一個懂業務的總監來管理所有開發人員,而且開發人員都是初級水平,大部分只有一兩年經驗,相比而言,他還算老人。總監認可他的技術,似乎有意讓他做技術經理,最近公司招人也讓他去面試。

但是他不太自信,覺得表達能力不行,有些技術還比較薄弱,領導布置的功能可以做出來,但是說原理就有可能卡売。我告訴他,這正好是一次機會,是最好的學習時機,有了問題的引導,你會瘋狂地學習,迅速地提升自己

我想起了2009年看過的一本書《陳寅恪與傅斯年》,里面形容傅斯年的性格是“凡事必先騎上虎背”,這句話我一直印象深刻。

對于我這樣一個性格內向的程序員來說,我在遇到機會,猶豫不決、縮手的時候總會想起這句話,然后鼓起勇氣先騎上虎背,讓自己下不來臺再說,但是真的盡自己最大力以后就會發現,事情沒那么難,最后還都把事情完成了。

作為一個擅長和機器打交道的群體,大部分程序員的性格都比較內向、沉默。別看在網上、在O群里談突風生、幽默有趣,斗斗得不亦樂乎,但是回現實中,面對一群“真人”的時候,連準確地表達自己的觀點可能都做不到,更不用說去柔中帶剛、唇槍舌劍地去爭搶某個東西了。

程序員大多實誠、謹小慎微,很多事情不敢也不會去努力爭取,完全靠自己的能力吃飯。這樣很吃虧,因為你的能力無法完全體現,在工作中只能表現出一部分,比如10分的能力只能顯露出7分,剩下的3分可能就被埋沒了。

對于ー個內向的人來說,害怕失敗,害伯被別人說自己不夠格,所以總想把自己修煉得盡善盡美,在達到基至遠遠超過那個職位的要求以后心里オ會踏實,才會想著領導會看到,讓自己去負責那項工作。可是反過來講,世上哪兒有等你完全準備好以后才開始做的事情?你覺得完全準備好以后,黃花菜都涼了。

IBM每年害期都有一項叫作“藍色之路”的實習生計劃,招聘學生到公司實習,在這項計劃中有四五個被稱為 Extreme Blue(青出于藍)的項目,面向的是優秀的大學實習生。這個 Extreme Blue項目是由IBM的員工提出有創新的、有商業價值的想法,由這些優秀的學生去實現。

作者在2008年提出了一個想法:在一個3D虛擬世界中構建一個支持數捷軟件開發的環境,有幸被選中作為 Extreme Blue項目之ー。當時我對散捷軟件開發還算了解,但是對于在3D虛擬世界中建模、編程一無所知。可是已然騎上虎背,下不來了,接下來馬上要帶著實習生來實現,怎么辦?只剩華山一條路,明知山有虎,偏向虎山行。那就是逼著自己趕緊進入未知領域,拼命地去學,像海綿一樣吸收各種知識。幾個月以后,我們確實把這個項目做出來了。

舉這個例子就是想說:對于性格內向的程序員,很多時候你認為基本準備好了其實就夠了,凡事必先騎上虎,勇敢地邁出去,努力地爭取一下,你就會發現自己登上了更高層的臺階。

一名架構師的總結

我和很多人交流過一個有趣的現象:那就是從剛畢業到30歲這段時間,會覺得時間過得很慢,總覺得自己還很年輕;但是一旦過了30歲,時間就如白駒過,一年又一年飛逝而過。我自己也是,眼看著畢業快15年了,15年間從一個剛畢業的菜鳥成長為技術骨干,做到架構師的職位,回頭看看,編程雖然枯燥辛苦,但是如果真的感興趣,就能體會到其中的樂趣。

好奇心

劉慈欣在《朝聞道》中描繪過這樣一個情節:在古老的非洲大陸上,有一個原始人無意間抬頭仰望星空,凝視的時間稍微長了一些,超過了外星人設置的國值,立刻拉響了人類即將產生文明的警報。因為外星人認為,人類已經產生了對宇宙的好奇心。有了好奇心,文明的產生、科技的發展不過是一瞬間的事情

確實是這樣的,好奇心驅動人類不斷向前,在短短的幾千年(相對于長達幾十萬年的原始時代)里就登上了月球,并且努力向其他行星拓展。

對于程序員來說也是如此,如果你看到新技術、新產品沒有像小孩看到新玩具那樣兩眼放光,沒有立刻在自己的電腦上試試的沖動,你就需要仔細考慮一下是否真的對軟件開發有興。如果根本沒興趣,那不要浪費時間,還是趁早轉行,有更多話合你的職業在等著你。

沒有好奇心,就不愿意追本溯源,追求技術的本質。
沒有好奇心,就難以靜下心來,耐得住寂寞,遠離浮躁,更難以跨過這個行業所帶來的種種挑戰。
沒有好奇心,就不愿意學習新技術。一名架構師,如果沒有對技術的敏感度和前性,直抱著一套技術架構不變,估計很快就會被海汰。

當然,自制力強大的人除外。但話說回來,靠著自制力讓自己做自己不喜歡的事情不非常痛苦?

在一堂關于領導力的培訓課上,老師一直在說 Passion(激情)、Passion、 Passion。但我直覺得,沒有好奇心,沒有興趙,怎么會產生 Passion呢?所以,對技術的好奇心、興趣是一切的基礎

抽象的能力

抽象思考的能力怎么強調都不為過。

現實的需求紛繁復雜,如果架構師不能把這些亂無頭緒的需求抽象成一些“概念”,在概念的層次進行思考,那么系統根本就無法設計。

我認為,把紛雜的事物抽象到數學層面是最高的抽象。也許有人會說哲學層面才是,但到數學層面已經非常難了。

我在之前的公司有率遇到一次,把針對稅務領域的 Credit, Debit s等概念抽象為在一個二維坐標下點的運動,問題一下子簡化了很多,實現簡單,并且非常安全可靠。

但是抽象成數學模型和算法通常是可遇而不可求的,在這種情況下,我們需要退而求其次,試圖抽象成若干個正交的概念,以此來降低復雜度。

“正交”在數學上指的是線性無關,最常見的例子就是坐標系下的x軸和y軸。對于一個點來講,它的x值的變化不會影響到y,y值的變化不會影響到x,即x和y是正交的。

正交的威力在于互不影響、擴展方便。單用一個x軸可以表示一條直線上的所有點;再加一個y軸就能表示平面上的所有點;再加一個z軸,三維空間中的所有點都能表示出來。

人類的大腦在思考問題的時候是有容量限制的,難以同時駕馭太多復雜的概念。如果我們的軟件系統也能做成x、y、z坐標這樣,就帶來了無與倫比的好處。你在處理與x軸相關的事情時,不用考慮與y軸和z軸相關的事情,因為你知道它們不會受到影響。這樣問題的復雜度就從三維一下子下降到一維,更容易把握了。

抽象能力的訓練沒有捷徑,就是經驗的積累,勤于思考和學習。例如學習 Java Web:開發的可以思考一下為什么 Spring有 Controller、ViewResolver這樣的概念?學習 Android的可以思考一下 Android是怎么對未知的、紛緊復雜的應用程序進行抽象的?為什么會有Maven、Git、Nginx、Hadoop這些產品呢?

開始寫作吧

我時常會有這樣的感覺:自己心里黨得對一個技術點已經掌握了,但是當我試圖給別人講述的時候,發現并不能輕松自如、深入淺出地講出來。

這就說明了一個問題:自認為掌握了,其實并沒有真正掌握,大腦只是對這個技術點建立了一個整體的概念,在一些細節處做了想當然的假設,等到你用語言再來表達的時候就會發現,原來這個假設井不完全成立,是有問題的。

估計大家都有這樣的經驗:如果你能把一門技術通俗易懂地給別人講明白,那就說明你已經掌握了。這種“轉教別人”( Teach others)的辦法屬于主動學習,效率是最高的。但是在工作和生活當中,你是很少有機會去給別人講授的。

那怎么辦?總不能拉著你正忙著的同事說:“哥們兒,來,我別學了 Java CAS,我給你講講吧。”也許你的同事很有禮貌,耐著性子聽你地講完了,然后不知所云。前幾次還行、次數多了,就對你敬而遠之了。既然沒法給別人講,那就退而求其次吧,把自己的理解寫出來。

當然不是泛泛地記流水賬,或者把幾個孤立的點羅列在那里,而是要把思路厘清楚,尤其要寫出為什么要有這門技術、這門技術解決了什么問題,然后才是這門技術是怎么使用的。

當你逼著自己去回答這些問題的時候,很快就會發現,自己的理解還不夠,還需要查找更多的資料。在你從網上查找資料的時候,你會發現,網上的這些文章怎么這么差勁,重復的內容這么多,大部分都是復制、粘貼的,大部分都在講述怎么使用,對于“為什么”從來都是只字不提,或者猶抱琵琶半遮面,羞羞答答地不說出來。

這個整理資料和思考的過程是很珍貴的,只有這樣才能把信息變成你自身的知識。如果實在搞不定,就帶著問題去論壇提問,去QQ群發言,找大牛請教,總是可以解決的。

有人可能要問了:我也可以按照這個思路去學習,為什么要寫下來呢?原因很簡單:不寫出來,很容易放棄深度思考

我們已經進入了一個碎片化的時代,我們的大腦已經養成了碎片化的習慣。寫作會逼著你去深度思考,梳理知識體系。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容