1. 程式人生 > >程式設計師生存定律

程式設計師生存定律

               




關閉

surgent777的專欄

直播 | 前端開發線上峰會     CSDN日報20170630——《降薪求職,到底該不該?》     【直播】探究Linux的匯流排、裝置、驅動模型!

程式設計師生存定律

標籤: 部落格職業規劃程式設計師發展 3017人閱讀 評論(0) 收藏 舉報 前言:解碼程式人生
有這樣兩個人,他們一個 66 年出生於陝西長安和一個 68 年出生于山西陽泉,而後經
過自己的努力兩個人又先後以長安縣第一名和陽泉市第一名的成績,在 85 年和 87 年考進北

京大學。在近 50 歲的時候兩個人一個歷經社教、裝飾業、賣肉最終在檔案館找到了歸宿,
一個則在留學、Infoseek 打工、回國創業之後成為知名公司的 CEO。前一個是賣肉才子陸步
軒,後一個則是百度 CEO 李彥巨集。兩個人起點類似,但現狀的差異又是如此的巨大!究竟
是什麼力量造成了這種人生差異,其中又是否有規律可尋?
對上面這個問題,我想至少在程式設計師的職場裡答案是肯定的,在這裡人生是有一種內
在的支配規律的。
本書中試圖用四個可控變數來定義程式人生的規律,它們分別是:自身價值---也就是
你能幹什麼;自身價值上的表達力---也就是別人認為你能幹什麼;自身價值的稀缺性---也就
是在特定時空背景下,市場對某種技能的渴求程度;身處公司的特質和未來---也就是公司提
供了怎樣的平臺給人發揮。本書認為這四個變數一起決定了一個人在職場中的市場價值,個
人的一切選擇主要是為了在這四個變數上有所收益,並使市場價值最大化。
程式設計師是一個非常離奇的職業,雖然名字都是程式設計師但現實中的程式設計師各方面差異卻
極大。單純從物質收益的角度看超級程式設計師可以駕著遊艇度假休閒,而有的程式設計師卻只能懷
揣僅剩的 180 元而看不到明天。這是身處職業路徑上不同位置所帶來的差異。職業路徑確實
就像分了級的梯子一樣,走到那個高度就有那個高度的榮光。而為了在這梯子上走的順暢,
則需要使努力與規律契合,並在關鍵時刻做對選擇,惟其如此人生整體表現出來的效能才會
高。
在《黑客帝國》這部電影中曾經出現過這樣一種場景,尼奧帶著鑰匙匠走在一條滿是
門的走廊裡,必須開對門,尼奧才能見到 Matrix 的架構師。人生與此類似,每個人都面對
和尼奧一樣的問題:未來處於未知之中,每一次選擇就是一次對人生未知部分的解碼,選擇
之後人生的確定性增強而不確定性減弱,當所有未知褪去,人生也就瓜熟蒂落。
就像尼奧歷盡許多辛苦才來到眾多選擇之門前面一樣,要想主動選擇而不是被動承受,
首先要爭得選擇權。這種選擇權往往來之不易,大多時候一個人許多年的努力拼搏才能換來
一次選擇的權利;但選擇權的浪費卻又無比的容易,這在軟體行業尤為突出。看看周圍,就
可以感覺到有多少本來可以很傑出的人因為選錯公司、選錯行業、選錯領域而默默無聞。
這是由軟體獨屬於自身的特徵所決定的。比如說:軟體本身並不是一個邊界清晰的領
域,當軟體和數學相結合時,它具有數學的特徵,當軟體和管理結合時,它就具有管理的特
徵。這種特別之處使程式設計師的選擇權更容易被誤用,因為待選項實在太多。
要想掙得選擇權並儘可能避免誤用,事實上需要對程式人生中所內蘊的規律洞若觀火。
為此,我們就需要知道程式設計師可能的人生出口、需要知道左右這種人生出口的職場定律、需
要知道定律之下那些是可控變數、那些是預設前提、需要知道可控變數應該如何去改變。其
中可控變數是掙得選擇權並避免誤用它的關鍵。這也正是本書的根本目的。通過對規律的解
析來為程式設計師的成長來提供一點參照,讓人少走一點彎路。
5
最後為了避免被人指責為功利心太重,不懂人生價值,補充一點關於人生價值的說明。
一個人變成什麼樣是有規律可循的,比如:陸步軒最終成為檔案館的職員、李彥巨集成
為 CEO,這背後是有一種支配規律的;但變成這個樣子是否有價值,則只依賴於人的內心
世界和自身的選擇。陸步軒可以認為自己很成功,李彥巨集可以認為自己很失敗。這樣的想法
依賴於人的價值系統,就像只有原點、X 軸、Y 軸定了才有座標可以標記位置一樣,價值系
統定了才能判定某種現實是否有價值,比如說:忠誠的神父可能並不會認為成為 CEO 是有
價值的事情。這種價值系統與個人關聯很大,也只有個人才有定義個人價值系統的權利。本
書中基本不談這種人生價值,而只談如何取得更大的成績。
6
第一章 程式碼之外的人生
§1.1 程式設計師的人生出口
很多人非常想知道自己的未來是什麼樣子的,迫切到一定程度甚至會找算命先生。如
果並不是想得到一個精確結果,這事兒其實並沒有想的那麼難。程式設計師的人生看起來五花八
門,可以是 Windows 系,可以是 Android 系,可以是 iPhone 系等等,但如果為之做點抽象,
那就會發現人生出口的類別其實不多,接下來我們就結合例子來看看程式設計師的人生中最可能
的幾個出口。這些出口裡有大部分人的未來景象。
1.1.1 成就超一流高手
袁峰先生是《Windows 圖形程式設計》一書的作者,也是一位純粹的程式設計師。從袁峰先生
公開的簡歷(www.fengyuan.com)來看,袁峰先生從 1993 年加入 HP 一直到現在在微軟從事
CLR 的開發始終是在程式設計第一線。在他的 Blog 上可以看出清晰的技術路線圖:Printing
→GDI/GDI+ → XPS →WPF →Parallel Computing → Debugging → Performance → CLR。
考慮到袁峰先生是 78 年入學的大學生,今年估計已近 60 歲,我們可以想象在剩餘的
職業生涯中,袁峰先生應該會一直從事程式設計工作。這也就意味著袁峰先生的職業生涯以程式設計
開始,以程式設計結束,是非常典型的純技術流的程式設計師:一生中不涉其他,唯有程式設計。
如果你很仔細的讀過《Windows 圖形程式設計》,你就會對袁峰先生在技術上的造詣佩服
的五體投地,無論是深度還是廣度。可惜的是,隨著技術更迭,這本書裡講的很大一部分東
西已然失去了現實意義,所以大概是買不到了。
這是程式設計師比較典型的一個出口,其特徵是走比較純粹的技術路線,其要點是技術上
要能達到一定高度,最終成為頂級程式設計師。常說的 CodeGuru 和架構師都可以歸在這一類別
下,雖然這兩者間還是有差異。走這條路時最怕陷入平庸,那樣的話高不成低不就,很容易
被新入行者超越。一旦成為技術路線上的低值人群,那就有被提前淘汰的風險,同時幾乎必
然會轉變成失意者。
1.1.2 積累、爆發、開始創業
與袁峰先生成為鮮明對比的是大家很熟悉的求伯君先生,這兩個人雖然八竿子打不著,
但參照意義其實很強。
袁峰先生 1982 年本科畢業,而求伯君先生 1984 年本科畢業,可以講他們是同齡人。
袁峰先生畢業於南京大學,求伯君先生畢業於國防科技大學,可以講兩個人起點、天分估計
也差不多,但兩個人走的道路卻完全不一樣。
求伯君先生在 1994 年前可以說是比較典型的程式設計師,這段時間裡他和袁峰先生非常類
似,其中值得寫入軟體開發史冊的事情是幾乎一個人完成了 DOS 下的 WPS。
在這個時間段上,求伯君先生無論在技術上還是產品上應該都是超絕的高手。這點可
以從小米 CEO 雷軍先生的回憶上看出來:
1990 年初,我在一個朋友那用了WPS 漢卡,當時就被震住了。介面易用美觀,更強
的是列印結果可以先模擬顯示出來。署名是香港金山公司求伯君,覺得這個“香港”軟體寫
7
得真好。
1994年求伯君先生創立珠海金山電腦公司,自此人生路徑與袁峰先生開始有絕大分歧。
在這之後,求伯君先生更多的是以企業家,而非是程式設計師的身份出現在大眾面前,直至 2011
年求伯君先生宣佈退休,退出公眾視線。
求伯君先生的履歷昭示了另一種程式設計師的道路,即以技術和熱情創造輝煌產品,再以
產品為創業基石。
IT 行業本來就是個智力密集型的行業,想想創造一家水泥公司和軟體公司的差別可以
更好的理解 IT 行業與傳統行業間的這種差異。網際網路、雲端計算的興起使創業的門檻進一步
降低,理論上講只要能做出優秀的產品並找到風險投資,幾乎每個人都可以開始創業。雖然
創業並非是這本書主要探討的內容,但在當前的形勢下創業確實也是少部分程式設計師的一個人
生出口。
1.1.3 轉向管理之路
由程式設計師而管理者是一條非常常見的道路,很像是程式世界裡的學而優則仕。
現在很多軟體企業中的中級管理人員(包括部門經理、產品經理、專案經理等)裡 70
後、80 後比較多,他們大多在 2000 年之後畢業。
這部分人員中的很大一部分走的是這樣一條道路:在畢業後往往會從事 3~5 年的程式設計
工作,接下來由於工作表現不錯,同時也具備比較好的表達和溝通能力,於是開始肩負起部
分管理工作。一旦開始從事管理工作後,接下來在工作中管理的成分越來越重,和程式的距
離越來越遠,已經算不得是純粹的程式設計師了。從時間開銷的角度看,他們同 PPT 打交道的
時間穩步上升,而直接同編譯器打交道的時間則穩步下降,並有變 0 的趨向。
這條道路是如此普遍,以至於每個程式設計師只要往四周一看,就都可以看到這條道路上
的人。好奇者可以問問身邊的中層管理人員,看看是不是這樣一個成長故事。
走上這條道路的人需要爬的是另一種梯子,比如從專案經理到技術總監再到 CTO。當
然每一層的選拔都會卡死相當一部分人。某些前行無路的人往往需要做一個艱難的選擇,要
麼安全的維持現狀,要麼冒點險切換公司。
在很多技術路徑較短,不以技術為核心的公司裡,為了收入的提升這往往是一條必走
的道路,所以可以講這也是一個比較常見的人生出口。但很多人所認為的“程式設計師 30 歲前
需要向管理轉行,這碗青春飯沒法持續吃下去”,並不永遠正確,在很多場合下這類選擇反
倒相當於自廢武功,使自己管理上沒什麼成績,技術又荒廢了,這點會在後面的章節裡進一
步提到。
1.1.4 維持原狀的老碼農
維持原狀的含義是加入程式設計師隊伍後,工作內涵並無實質性變化,只是體現為一種簡
單的重複---這是與第一種程式設計師不同的關鍵,第一種程式設計師要不停的有技術上的深化和提
高。
這類程式設計師所做的工作的表象形式會有所不同,比如可能今天做的是處理服裝公司的
網頁,明天處理的則可能是化工廠的網頁,但實質上各種工作本質上差別不大,從技術上看,
沒有層級差異。
8
下面走到這條道路上的程式設計師的常見經歷:姑且把這個程式設計師成為 X,他大學畢業後,
加入一家對日外包類公司。接下來他工作的公司和地點就不停的變化。去過蘇州、南京、北
京、上海,由於總是不太如意,迫於經濟壓力也曾經到過日本,做過派遣社員,但當無法被
派遣出去時,無奈之下就又回到了國內。
在不停的遷移過程中,工作內容變更的比較頻繁,橫跨多個領域,比如:銀行、證券、
GPS 等。但從層次來看,基本上是在應用層打轉,工作內容也趨於簡單化,基本上是在設
計好的文件指導下做編碼。由於自身能創造的價值沒有顯著突破,作為結果收入、職位基本
上改善不多。掙扎 10 年之後,他很苦惱,因為自己做的事情,畢業生往往也很快就可以做,
而生活的壓力卻在不停的隨著年紀的增加而增加。
上述這樣的經歷應該並不特殊,在很多人的身上應該都可以看到類似的人生軌跡。差
別隻是 X 可能是公司 A,具體到某個人可能是公司 B;X 可能去的是華東,具體到某個去
的可能是華北。這類程式設計師如果不退場,不升級,那接下來的生命中工作和生活只會以某種
模式繼續重複。如果運氣不好,甚至可能會失業。
更可怕的是到一定年紀後,很大一部分這類程式設計師會發現自己連退場的資格也沒有,
因為除了會寫程式,並不會做其他的事情,與此同時房貸、家庭卻成為一種長久的負擔。這
個人生出口雖然很讓人嘆息,也沒人願意選擇,但它確實存在,並且很多人可能一不小心就
走到了它的面前。
本書更主要的目的真的不是讓人成為輝煌偉大的人物,我也不認為任何一本書有這樣
的能力。本書最主要的目的就是希望能儘可能幫助初入行者不要走到這條道路上來,畢竟一
旦走到這條道路上來,人生就過於悽慘了。
1.1.5 提前退場、向程式碼說再見
對於喜歡閒聊的人,有時候會在閒聊中發現些讓人吃驚的事情。很久以前一個房地產
中介在聽說我在軟體公司工作後,告訴我:我也曾經是做軟體的。我很驚訝的問他,怎麼就
不做了,卻跑來做房產中介,這不是自廢武功麼。他回答我:做程式設計師太累,沒前途。
在那之後,接下來這些年裡,身邊斷斷續續總會有人退出程式設計師這個行業。有的去銷
售電子產品,有的去做公務員,去做純黑盒的測試諸如此類。2013 年最吸引大家眼球的退
場事件是新浪架構師徐佳在奮鬥數年後,告別 PHP,告別網際網路開始賣水果。
據說徐佳先生因此而煥發了青春,但我個人並不看好這類選擇,也不認為這是一種正
確的選擇。提前退場大多時候是對之前選擇的一種否定,從人生整體收益的角度看,大致上
是虧了,至少虧掉了做程式設計師那幾年的時間。
這類事情一旦上升到人生價值的層次上,那就沒有是非,只有個人選擇,所以本書中
不從這個視角考慮問題,而主要從功利且現實的角度來考察這類事情。
雖然退場大多時候從投資收益的角度看並不怎麼好,往往是無奈下的選擇,但這確實
也是程式設計師群體的一個人生出口---“悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶
走一片雲彩。”
9
§1.2 那個是你的人生出口
對於一個程式設計師,大致的結局多是上述五種中的一個。其中轉管理的程式設計師和成就高
手的程式設計師算是穩中有升。創業者算是生死未卜。維持原狀的老程式設計師則是失意的。他的選
擇權會被收的越來越窄,在工作層面,他需要和畢業生競爭,在家庭支出方面他所要承擔的
比別人一點不少。人生總是這樣,向你索取的一端往往是確定的,而你所能獲得的卻往往是
不確定的,人就夾在這個中間,如果無法給自己撐開足夠大的空間,那就會很難受。
初入職場的程式設計師看到這裡,最為關心的幾乎一定是:這麼多出口,我的未來可以是
其中那個?
很不幸這並非是一個可以立刻給出答案的簡單問題,為了回答這個問題不只要考慮那
個是適合自己的出口,也要考慮如何走到這個出口面前,並避免那些代表失意的。
為了回答上述問題,需要對未來做點預測,而為了對未來做點預測,那麼需要為人生
建立一個大致的模型,接下來把個人的努力等作為輸入,這樣輸出端會因此而有各種相應的
變化。但這個模型就像被藏起來的密碼,需要費點心思才能找得到---這也正是這本書要做的
事情。
這時嘗試以寫程式的方式建立一種精確的人生模型是非常困難的。一旦試圖這樣做很
容易進入一個誤區,即期望為人生建立一個真理式的公式。
比如:如果你努力,那麼你一定成功。如果你有責任感,你一定成功。如果你人品好,
你一定成功。如果你讀書,那麼一定成功。如果你注意細節,那麼你一定成功。如果你時間
管理做好,你一定成功。... ...
上邊的這些邏輯並非憑空想象,而是很多成功學書籍的基本出發點。這種種來自成功
學書籍的陳詞濫調很像一個拙劣的程式設計師把分支、選擇、迴圈硬套在人生上的結果,雖然看
著有幾分道理,但實是不對的。在分析人生規律時,事實上很難找到類似自然科學中的、精
確的絕對真理。據說某位行為科學家曾經總結過:上帝把所有容易的問題都留給了物理學家。
言下之意是,社會學科的問題都大不易。
其根本原因在於,人生是不精確的。太多偶然因素可以影響最終的結果,而這些因素
本身又大多不可量化,試想一下你應該如何量化一份時運,一場姻緣。但這並不意味著不可
以對人生的方向進行大致的分解和預測,比如:如果一個人每天除了吃飯就是睡覺,那他人
生一定沒有成績,這就很容易預測。
這裡的關鍵是要找到起關鍵作用的可控因子和權變變數。我們可以說 X 導致 Y,但這
只能在 Z 所限定的條件下。而又由於權變變數太多,偶然性無法完全去除,我們也必須在
結果中接受一定的模糊性。一個人可以是天才程式設計師,也很努力,但他跑到了一個外包的公
司做簡單重複的工作,那麼就可能他的才能始終無人發現,人生一樣可能沒有閃光點。這就
是人生的偶然性。
為了幫助程式設計師走到自己期望的人生出口而避免失意,那麼首先要分解的就是都是什
麼力量左右著一個程式設計師的未來?這就是下一章中即將展開的內容。
這是成功學麼?
上面所表述的內容很容易讓人想到成功學。是的,這本書所主要講述的規律和方法確
10
實確實可以劃入成功學的範疇。這樣一來就要連帶著回答另一個問題:我們可以相信成功學
麼? 如果說自然界發展有規律,社會發展有規律,沒道理個人的成長就沒有規律。從這個
角度看,講規律的成功學是可信的,但將具體方法,講怎麼怎麼做一定成功的成功學就有點
問題了。這更像藥和包治百病的腦白金的區別。成功學本身沒什麼太高的壁壘,這就導致口
若懸河的人更容易吸引目光,最終結果就是這池子裡充滿了太多的說客,放眼望去也就全是
《細節決定成敗》、《有效溝通》這類書籍。也不是說這類書籍沒有價值,而是說由於其往
往會用片面取代整體,而並不具有太大的現實價值。突然看到李四成功了,也看到了李四比
較注重細節,最終就得出一個細節決定成敗的結論,這並不怎麼有意義。因為人的成功往往
同時取決於自身和環境。研究如何成功時事實上需要與程式設計一樣的抽象能力。真要想找到種
種與成功的規律,那就要多采集案例,從外部環境、個人努力、工程特徵等多個方面進行切
入,抽象出起作用的要素,再剃掉偶然性的部分,只保留必然性的部分。這時候往往能夠更
貼近本質規律。這類成功學是有用的,但通常達不到一看就可以飛黃騰達的地步,只能讓人
少走一點彎路。
§1.3 小結
人生其實是條曲線,其振幅則隨著時間的流逝而逐漸收窄。對嬰兒而言,其未來具有
無限的可能性。對耄耋老翁而言,其未來則唯一而確定。而一個人最終振幅的高度則同時取
決於:機緣、天分和努力。家世,時代種種皆可歸為機緣。智商、情商、體質種種皆可歸為
天分。機緣和天分皆是命數,無從左右的起。也即是說,一個人持有的,可以打破既定命數
的砝碼也只是努力而已。從人生長短的角度來看,上帝是公平的,每個人可用時間大致相同。
不同的則是努力的效能。
努力本身並不只是簡單的付出,還牽涉到方向的選擇,形勢的順應,環境的駕馭諸如
此類。考慮了這些的努力更容易在收入、職位等有形收穫上看見結果,忽視這些的則更可能
辛苦卻顆粒無收。這就是在下一章中將會展開的生存定律。
圖 1-1:程式設計師的人生出口
退

新增標題
保持原狀
創業者
管理者
成就高手
程式設計師
11
第二章 職場生存定律
§2.1 交換是職場裡一切的根本
支撐職場的基本規則是交換,交換的兩端分別是你可創造的價值與你的職場位置(包
含收入)。交換就像任督二脈間的通道一樣,越是通暢,人生也就越順風順水;堵得越死,
人也就越寸步難行。
這點要刻在腦子裡,一旦要忘記了,就趕緊打自己兩個耳光。忘了這點的人一旦被炒,
就會很委屈的發“不要拿公司當家”這類感慨。
那什麼是交換?
在一般人眼裡,交換就是你有個東西我要,我有個東西你要,大家互通有無這樣一個
過程。但在學者眼裡,事情卻要更復雜一點。何新先生在《反主流經濟學》中,對交換進行
了深度剖析,他說:

社會交換成立之第一前提,就是人類之有欲求與需要,而靠自身不能滿足。
因此,事物是否具有使用價值,決定於其能否滿足人類之某種欲求與需要。所以,
事物之內在屬性形成其使用價值。

私有制,佔有,佔有權利,是社會交換得以發生之第二前提。
人有需求之物,而先為他人已據有者,若欲取之,只有二途:或強取(掠奪、戰
爭、索要),或巧取——後者即交換。

隨機之交換,導致對交換品的偶然隨機定價,故成交之價格有極大隨意性。
而常態之交換,則必然趨向理性之定價,即均衡定價。買賣雙方經協商而接受的
均衡定價之尺度,其依據乃參照商品所內涵之真實價值。
故:(1)商品確有真實價值存在。
(2)真實價值乃是一種無形的、形而上的虛擬實體。(馬克思說:價值是一
種社會關係的反映。)

因此,商品價值之評估有三重性:
一為使用價值,二為內涵價值,三為外化的實際交換價值。
交換價格是內涵價值的外化表現。內涵價值與價格之不同,在於內涵價值是內在
的、非外現的。

物品買賣成交之交換量,謂之價格或市場價格。
價格具主觀性,是商品內涵固有之價值之外化。內涵價值能否得到實現,取決於
需求者之購買評估。內涵價值得到市場實現,意味著商品轉換為貨幣。

但是,價值在市場中之二重化,價格對價值之背離,造成等價交換規律之破壞。等
價交換意味著等價價值品之交換,並非意味同等價格品之交換。同等價格對同等價
格之交換,未必是等價交換。因市場價格之形成,受市場之需求度影響,而非單純
12
決定於價值之同等性。
上面這段文字說的是經濟,所以很多人會看的雲裡霧裡,但其中對交換的解析入木三
分,只要我們還承認工作本身也是一種個人和法人間的交換,那麼就逃不出這些約束---雖然
有殺雞用牛刀之嫌疑。
儘管上面的解釋已經非常清楚,但為了讓其更加的通俗易懂,這裡附加一點說明:
交換本身起源於互有所需,比如:某一公司開發印表機驅動程式,那麼就需要了解頁
面描述語言(PDL)、作業系統列印子系統技能的程式設計師。
交換本身的基本原則是等價交換,但這種原則往往會被市場需求度等因素破壞。比如:
TTS 可能很難搞,一個人學習了數十年,本應獲得較高的市場價格,但很不幸,如果搞這個
的人碰巧很多,或者應用還不廣,這時候交換價格也可能很低。想想同樣是在科大訊飛,工
作實質沒什麼太大變化,但在移動網際網路興起前和興起後交換的價格會不會有很大差異。
破壞這一原則的因素還有很多,比如說壟斷。如果一個人掌握的技術只有一家公司用,
那麼這個公司具有破壞等價交換原則的權利。反過來講,如果某項技術只有某個人掌握,那
麼這個人具有破壞等價交換的權利。
工資可以表示為一種成交價格,這一價格具有一定的隨意性,具體表現為同樣工作內
容,不同公司,不同時間點,收入差異可能非常巨大。比如:同等技術能力下,表現力好的
程式設計師可能更容易獲得較好的薪資。但總體市場行情卻在一定範圍內趨向於穩定,比如畢業
生的起薪大致在 10K/月以下,Google、Facebook 這些公司的平均薪資相差也不大。
這也就意味著,影響最終交換價格(即工資收入的)的主要是兩個因素:內含價值和
市場因素(稀缺性等)。
在程式設計師與公司進行交換的過程中,其中最為基礎的一點是你要有維護自身權利的能
力,即程式設計師自身要有選擇權,在只能被選擇時,事情會趨向於另一個極端:必須不停的讓
步,放棄各種可爭得的權利,最直接的表現是收入上沒有議價能力。
很少有公司會主動宣傳工作首先是一種交換,但這一事實本身卻應該沒什麼太多的爭
議。但細想下來這個基礎支撐點也只能是交換,恰如食物、水與生命間的關聯。對外,企業
有所產出,與客戶交換獲取利潤;對內,則是員工有所產出,與企業交換獲取工資等等。這
是經濟形態所決定的,在這一前提下,裁員與跳槽都是一種必然出現的現象,反倒是僱傭終
身制是反其道而行。
認清交換是第一支撐之後,我們就可以推匯出職場生存定律。
個人
公司
圖 2-1:交換支撐職場
交換
13
交換的衍生品:裁員、跳槽、僱傭終身制
大概是在2004 年,聯想進行了一次裁員,某一位親身經歷了裁員的員工在網上發表了
一篇叫《公司不是家》的文章,引起了非常大的轟動,這轟動甚至大到了柳傳志先生親自為
此寫了篇回覆的地步。
這件事情在有點年紀的IT 人腦海裡應該還有很深的印象。
如果我們認識到職場的基石首先是一場交換,那麼個人跳槽、公司裁員就都不是讓人
很意外的事情。雖然公司會努力營造歸屬感,建立企業文化,但市場大潮之下,公司確實無
法保證不裁員。這在情感上很難接受,但在交換上卻非常自然:即使你大白菜爛在了地裡,
我不用大白菜,我也沒必要購入它,除非是因為慈善。
真的讓人意外的事情是“僱傭終身制”這一做法。僱傭終身制未嘗沒有收益,但潛在
的與等價交換規則相沖。
在日本,僱傭終身制是由松下幸之助提出來的,在當時特定的歷史環境下這也是成功
的,這從松下幸之助被譽為“經營之神”上可見一斑。
但隨著經濟環境的惡化,松下似乎也頂不住了,在2012 年時見松下裁員的訊息於各大
網站。
另一個試圖挑戰交換規則的公司是IBM,IBM 當年也推行類似的僱傭終身制度,但後
來IBM 也頂不住了,為了讓大象來跳舞,郭士納大刀闊斧的進行機構精簡。
所以,長線來看,職場首先是交換場,在此之上才有其他。
下面是柳傳志先生對《公司不是家》的回覆,看了之後,讀者對交換為職場第一支撐
應該會有一個更加直觀的認識。
一名聯想員工寫的《公司不是家》的文章登在網上,委婉哀怨,記載的是他的真實感
受。我看了以後,心裡很難過。在裁下去的員工中,有一些是我當年直接指揮過的老員工,
他們誰都沒有打電話給我,在默默地接受一切,這讓我心中更加產生歉意。我想這其中的更
多員工是元慶的直接下屬,他歉意的心情一定更勝過我許多。
我在想,一個企業應該遵循的最根本原則就是發展,只有發展才能做到為股東、為員
工、為社會幾個方面負責;而從發展的角度出發,企業就必須上進,內部就必須引進競爭機
制。員工在聯想既要有感到溫馨的一面,更要有奮勇爭先而感到壓力的另一面,因此不能把
企業當成一個真正意義上的家是必然的。在家裡,子女可以有各種缺點,犯各種錯誤,父母
最終都是包容的。企業則不可能是這樣。
在《公司不是家》這篇文章裡,提到了戰略性調整是由於領導的錯,卻要普通員工負
責任的問題。我看到這個觀點時,停下來作了思考。我想,他說的是對的。這次,有一部分
員工被裁和領導的決策失誤有關,和戰略制定的失誤是有關的。這是非常沉痛的事。所以,
我們應該向因此而被裁的員工誠懇地說“對不起”。但是我,作為董事長,以企業發展為根
本追求,我應該要求楊元慶他們怎樣工作呢?一種做法是儘量小心謹慎,避免受損失;一種
是要求突破、創新,就一定會犯錯誤。我們是在一種很困難的情況下打仗,在方方面面都和
外國企業有相當大差距的情況下做的,但是我們必須去爭,去搶;去拼!我們必須在毫無經
驗的情況下進入新的領域,投入人力、物力去嘗試,由於我們看不清方向,由於我們沒有掌
握好方法,我們會被碰得頭破血流,付出慘重代價。
在我直接負責的十幾年中,不知犯了多少錯誤,付出了多大代價,只不過領導寬容,
沒有跟我算賬罷了。在惠陽聯想工廠的馬路對面,有40 萬平方米的土地,至今閒置,價值
6000 萬,是1997 年前後聯想買的。當時我拍板準備發展製造業,由於後來要全力支援別的
業務,我把它停了。1998 年聯想全年的利潤也就兩三個億,6 000 萬是多大的分量啊。負責
組織這項工作的同事也都全部調整,也有一些因此就離開了聯想。從1988 年聯想向海外出
擊起,分分合合多少次,在這些整合中,我已經說不清有多少支隊伍離開了聯想。說來慚愧,
由於我作為主要負責人的失誤,可能會改變一些人一生的命運。
14
當我想起這些事情的時候,我會問自己,我應該怎麼辦?今天同樣遇到了這樣的情況,
我要回答的問題是我應該怎麼樣要求楊元慶。我對元慶說的只能是:
一、牢記你的目標,牢記你的責任,進取、創新、突破,此外沒有別的出路;
二、要愛惜資源,特別要愛惜員工,牢牢記住以人為本;
三、去打仗,十仗中勝七仗就是優秀的指揮官!
我很抱歉地對《公司不是家》的作者說,我們考慮問題的角度不同。元慶只能從企業
發展的角度,從大局的角度看問題,這才是最根本的以人為本,最根本的為員工負責。如果
元慶真的用為區域性員工負責的方法去考慮問題,企業就會陷入一片兒女情長之中,完全無法
發展,中國就會失去聯想。因此企業前進的主旋律只能是戰鼓,是激昂。
以元慶為代表的聯想高層領導承受著巨大的壓力。員工們說:“我們把生命中最好的
時光交給你們了,帶好我們,不要走錯,”股東們更是不停地在說:“發展!利潤!增長!”
同行則是要抓住每一個機會,給我們以致命的打擊。在這無休止的競技場上,稍有不慎就會
鼻青臉腫,頭破血流。
我是過來人,我知道箇中滋味。因此我們——股東們、員工們、對他們——企業管理
的直接負責人,要嚴格要求,要批評,要提意見;同時也要鼓掌,要吶喊,要叫好!我們上
下一心,精誠團結,打勝仗,我們不驕不躁;打了敗仗,我們互相鼓勵,依然戰歌嘹亮,這
才是我們,這才是真正的斯巴達方陣!
§2.2 生存定律總綱
如果我們承認交換是職場裡一切的根本,那麼就可以基於交換的特徵推匯出生存定律
的綱要。
假設說一個人的技能所帶來的價值是 S,實現程度是 A,那麼 S x A 即為一個人可以為
公司創造的可見價值,也即是可以從公司交換到的最大價值。
其中技能 S 是指一個人所能做的事,即自身的價值,可以是程式語言、設計知識也可
以是管理知識等等。實現程度 A 則是指各種技能被周圍的人認知的程度。
這好像有點繞,但實際上一個人的實際能力水平和被認可的能力水平往往存在偏差,
極端的情形就是一個人確實很優秀,程式也確實寫的很好,但周圍的人都認為他不行,並只
分配他做周邊性的工作,這個情形下這個人的價值實現程度很低,創造的價值也很低。
這就是我想說的生存定律總綱,並不複雜,也不抽象。下面我們來進一步做點分析。
如果收入水平為 I,那麼當 S xA> I 時一個人是有選擇權的也是安全的,否則一個人對
於公司而言是負資產(至少是被認為是負資產),潛在的有被剔除的風險。一旦一個人在多
家公司裡都處於這樣一種情形下時,這個人的選擇權會越來收的越窄(只有公司可以選擇個
人,個人卻沒可能選擇公司),人生也就會越來越被動。
當然無論技能 S 和實現程度 A 都很難清楚量化只能做定性分析,但確實有幾個因素會
使實現程度 A 急速膨大。這幾個因素可以概括為:自身價值表達力,自身價值的稀缺性,
公司的特質和未來。
就日常的感受來看,這往往是程式設計師這個群體不太關注的地方。作為結果很多人的真
實價值可能並沒有得到體現,或者說被低估了。
15

自身價值的表達力
簡單來講,一個人可以有屠龍的本事,但如果所有周圍的人都認為你只能殺雞,那麼
現實中,你的能力就是殺雞而不是屠龍。
一個人的真正自我和別人眼裡的你往往是有差距的。這種差距可能來源於不熟悉,也
可能來源於誤解等,但確實是一個不能忽視的因素。特別是對於畢業生或者剛剛開始工作這
類還處在被評判位置上的人。
假如一個人身處任人唯親的環境之中,那麼表達力的作用會被無限放大,這時候個人
價值的作用反倒會縮小。比較良好的情形是身處公平競爭的環境中,這時候表達力的作用會
有相對清晰的邊界。但由於每個人對公平都有屬於自己的定義,所謂的公平競爭也只是相對
的公平,表達力的作用並不會減少為 0。

自身價值的稀缺性
假如開發某一產品時,必須某項技術,而這一技術只有某人才掌握,這時這個人的價
值會被高估。這時起作用的影響因素可以稱之為稀缺性。稀缺性存在與否即取決於自身高度,
也取決於大勢,而對於後者而言,個人改變餘地很小,大多時候只能順應。
比如說:在 IT 行業剛開始的時候,產業本身急速膨脹,但程式設計師的人數卻相對較少,
這就導致 10 年前程式設計師的起點工資反倒很高。而 10 年之後,由於介入門檻一再拉低,大批
人員湧入程式設計師隊伍,起點的工資反倒下滑。這種行業的時間特徵主要是稀缺性所造成的,
反倒是很難講 10 年前的程式設計師更加努力,水平更高,而今天的程式設計師就不努力,水平變差
了。

公司的特質和未來
最後一個影響實現程度 A 的關鍵因素是公司自身的特性。公司更像是一個平臺,往往
對平臺上的人所能達到的平均高度有所影響。假設兩個人同樣是很優秀的程式設計師,一個進了
Google 這樣的公司,另一個進了一家外包公司,他們兩個加入公司後都表現非常優秀,公
司也對其非常認可,但從收入、技術高度等來看,這兩個人卻會有所差異,時間越長差異可
能越大。這種差異並非努力所造成的,而是由於公司在生產鏈條上所處的位置不同而導致的。
接下來將依次對上面所提及的四個關鍵要素:自身價值、自身價值的表達力、自身價
值的稀缺性和公司的特質和未來進行簡要的分析。
§2.3 定律要素之一:自身價值
在金庸先生構建的武俠世界裡,最犀利的殺伐武功應該是《獨孤九劍》,但學會了獨
孤九劍卻失了內功的令狐沖一樣會被一堆無賴按到地上揍個鼻青臉腫。待到學會了吸星大
法,內力大進,那就再沒這回事了。
根據打鐵還要自身硬的道理,修煉確實應該先從內功開始,但不是說招式就不必要了,
這很辨證。至於究竟那個更重要這樣的問題不在具體的時空背景下是沒有答案的。
從最終表現來看,一個人的價值(或者說內功)可以體現在幾乎無限多的地方,如:
程式語言、分析設計、溝通、管理、估算、流程改善等等。但如果為各種技能稍做一點分類
後就會發現,人創造價值的基本途徑只有兩個:一個是完全依賴於自身的技能,另一個則是
假於他人之手。
16
後者也許不太容易理解,這裡舉一個簡單的例子:假設張三和李四的技術能力都非常
前言:解碼程式人生
有這樣兩個人,他們一個 66 年出生於陝西長安和一個 68 年出生于山西陽泉,而後經
過自己的努力兩個人又先後以長安縣第一名和陽泉市第一名的成績,在 85 年和 87 年考進北
京大學。在近 50 歲的時候兩個人一個歷經社教、裝飾業、賣肉最終在檔案館找到了歸宿,
一個則在留學、Infoseek 打工、回國創業之後成為知名公司的 CEO。前一個是賣肉才子陸步
軒,後一個則是百度 CEO 李彥巨集。兩個人起點類似,但現狀的差異又是如此的巨大!究竟
是什麼力量造成了這種人生差異,其中又是否有規律可尋?
對上面這個問題,我想至少在程式設計師的職場裡答案是肯定的,在這裡人生是有一種內
在的支配規律的。
本書中試圖用四個可控變數來定義程式人生的規律,它們分別是:自身價值---也就是
你能幹什麼;自身價值上的表達力---也就是別人認為你能幹什麼;自身價值的稀缺性---也就
是在特定時空背景下,市場對某種技能的渴求程度;身處公司的特質和未來---也就是公司提
供了怎樣的平臺給人發揮。本書認為這四個變數一起決定了一個人在職場中的市場價值,個
人的一切選擇主要是為了在這四個變數上有所收益,並使市場價值最大化。
程式設計師是一個非常離奇的職業,雖然名字都是程式設計師但現實中的程式設計師各方面差異卻
極大。單純從物質收益的角度看超級程式設計師可以駕著遊艇度假休閒,而有的程式設計師卻只能懷
揣僅剩的 180 元而看不到明天。這是身處職業路徑上不同位置所帶來的差異。職業路徑確實
就像分了級的梯子一樣,走到那個高度就有那個高度的榮光。而為了在這梯子上走的順暢,
則需要使努力與規律契合,並在關鍵時刻做對選擇,惟其如此人生整體表現出來的效能才會
高。
在《黑客帝國》這部電影中曾經出現過這樣一種場景,尼奧帶著鑰匙匠走在一條滿是
門的走廊裡,必須開對門,尼奧才能見到 Matrix 的架構師。人生與此類似,每個人都面對
和尼奧一樣的問題:未來處於未知之中,每一次選擇就是一次對人生未知部分的解碼,選擇
之後人生的確定性增強而不確定性減弱,當所有未知褪去,人生也就瓜熟蒂落。
就像尼奧歷盡許多辛苦才來到眾多選擇之門前面一樣,要想主動選擇而不是被動承受,
首先要爭得選擇權。這種選擇權往往來之不易,大多時候一個人許多年的努力拼搏才能換來
一次選擇的權利;但選擇權的浪費卻又無比的容易,這在軟體行業尤為突出。看看周圍,就
可以感覺到有多少本來可以很傑出的人因為選錯公司、選錯行業、選錯領域而默默無聞。
這是由軟體獨屬於自身的特徵所決定的。比如說:軟體本身並不是一個邊界清晰的領
域,當軟體和數學相結合時,它具有數學的特徵,當軟體和管理結合時,它就具有管理的特
徵。這種特別之處使程式設計師的選擇權更容易被誤用,因為待選項實在太多。
要想掙得選擇權並儘可能避免誤用,事實上需要對程式人生中所內蘊的規律洞若觀火。
為此,我們就需要知道程式設計師可能的人生出口、需要知道左右這種人生出口的職場定律、需
要知道定律之下那些是可控變數、那些是預設前提、需要知道可控變數應該如何去改變。其
中可控變數是掙得選擇權並避免誤用它的關鍵。這也正是本書的根本目的。通過對規律的解
析來為程式設計師的成長來提供一點參照,讓人少走一點彎路。
5
最後為了避免被人指責為功利心太重,不懂人生價值,補充一點關於人生價值的說明。
一個人變成什麼樣是有規律可循的,比如:陸步軒最終成為檔案館的職員、李彥巨集成
為 CEO,這背後是有一種支配規律的;但變成這個樣子是否有價值,則只依賴於人的內心
世界和自身的選擇。陸步軒可以認為自己很成功,李彥巨集可以認為自己很失敗。這樣的想法
依賴於人的價值系統,就像只有原點、X 軸、Y 軸定了才有座標可以標記位置一樣,價值系
統定了才能判定某種現實是否有價值,比如說:忠誠的神父可能並不會認為成為 CEO 是有
價值的事情。這種價值系統與個人關聯很大,也只有個人才有定義個人價值系統的權利。本
書中基本不談這種人生價值,而只談如何取得更大的成績。
6
第一章 程式碼之外的人生
§1.1 程式設計師的人生出口
很多人非常想知道自己的未來是什麼樣子的,迫切到一定程度甚至會找算命先生。如
果並不是想得到一個精確結果,這事兒其實並沒有想的那麼難。程式設計師的人生看起來五花八
門,可以是 Windows 系,可以是 Android 系,可以是 iPhone 系等等,但如果為之做點抽象,
那就會發現人生出口的類別其實不多,接下來我們就結合例子來看看程式設計師的人生中最可能
的幾個出口。這些出口裡有大部分人的未來景象。
1.1.1 成就超一流高手
袁峰先生是《Windows 圖形程式設計》一書的作者,也是一位純粹的程式設計師。從袁峰先生
公開的簡歷(www.fengyuan.com)來看,袁峰先生從 1993 年加入 HP 一直到現在在微軟從事
CLR 的開發始終是在程式設計第一線。在他的 Blog 上可以看出清晰的技術路線圖:Printing
→GDI/GDI+ → XPS →WPF →Parallel Computing → Debugging → Performance → CLR。
考慮到袁峰先生是 78 年入學的大學生,今年估計已近 60 歲,我們可以想象在剩餘的
職業生涯中,袁峰先生應該會一直從事程式設計工作。這也就意味著袁峰先生的職業生涯以程式設計
開始,以程式設計結束,是非常典型的純技術流的程式設計師:一生中不涉其他,唯有程式設計。
如果你很仔細的讀過《Windows 圖形程式設計》,你就會對袁峰先生在技術上的造詣佩服
的五體投地,無論是深度還是廣度。可惜的是,隨著技術更迭,這本書裡講的很大一部分東
西已然失去了現實意義,所以