歲月似血飲狂刀,在額間砍出道道年輪。年復一年,日復一日的提交代碼、bug修復湮滅著我們的激情,也埋葬著我們的夢想。曾以為自己,可以仗劍天下,昂首四方,到如今守著2米方桌,才發現,尚不足以獨善其身,終日不過為柴米油鹽所累。尤為悲催之事,程序員一代代在40歲之前老去,也曾鏖戰通宵終于攻克bug,也曾揮毫潑墨繪制軟件藍圖,而當程序員老去時,過去種種之榮耀,也不過是被用來舔邸今日是創傷。十年壯麗天王府,化作幻宅烏鴉飛。10年輝煌的程序生涯,似乎是對今日處境的最大嘲諷。是什么造就了今日的局面?
?
一類程序員是這樣的:

另一類程序員是這樣的:

經歷是過程,經驗是靈魂。多年的工作,如果都不思考,所有的事情都是得過且過,那只是工作經歷,它還不是經驗。使我們立于不敗之地的,恰恰不是經歷,而是經驗。你在華為工作N年,這說明不了什么問題,在華為工作N年的海了去了。
?
做好一個程序員,應該是從不放棄自己開始。很多人碰到一個bug,他首先想到的是問人,而不是自己去探索、發現和修復。這個時候,他實際上是在放棄自己,因為他明明是可以修復的,但是他放棄了。放棄的時候,也失去了一次積累經驗的機會。別人的指點,代替不了你探索bug的過程的艱辛,也創造不了bug修復后的喜悅。
?
其次,是要勇于發現新事物,不斷地學習和提高。所謂既要低頭拉車,又要抬頭看路。自己每天面對的,哪怕是再無聊的小的片面的知識,日復一日的低級bug,但是,我們仍然可以看看周圍,看看通過這些無聊的東西,能不能擴展知識面,學習一些有聊的東西。好的程序員,總是不斷地通過每天的日程工作,學習周遭的知識,從而不斷建立健全的知識體系。
?
再次,業余時間是升華的關鍵時間點。白天大家都在處理無聊的雜事,可能靜不下心來學習。真正的差距,極有可能是通過業余時間拉開的。業余時間還學習,顯然是需要程序員本身是熱愛自己的本職工作,這樣他才可能安靜下來學習。
?
最后,程序員可能要學會增加能見度,制造可見性。比如做Linux,發patch是一個增加能見度的好辦法。Patch發的多,質量高,很容易拿到special offer。在同等“經歷”的情況下,由于“經驗”豐富,可能拿比“經歷”豐富的人高得多的offer。
往期精選
阿里楊勇:淺談 Linux 高負載的系統化分析
郭健:Linux內存逆向映射(reverse mapping)技術的前世今生
郭健:Linux進程調度技術的前世今生之“前世”
郭?。篖inux進程調度技術的前世今生之“今生”
宋寶華:論一個程序員問問題的自我修養(修訂版)
孟冉: Linux火焰圖的數據流程分析
宋寶華:火焰圖:全局視野的Linux性能剖析
謝寶友:深入理解Linux RCU之一——從硬件說起
...