程式設計師的成功是否有規律可循?

edithfang發表於2014-08-05



是否有規律這事其實非常關鍵,因為如果有規律,那顯然應該順應它讓自己走的更遠。

我的答案是:如果我們想在人生中找一種類似x+y=z的規律,那真沒有;但如果想找一種人是會死的,你是人所以你會死的規律,那就真有。所以說程式人生中有支配性規律,但並不是大多數人期望那種。只要你學好Java你就可以成功,只要你努力就可以成功這類在細節上確保一定如何的規律其實都是騙人的,不管多大篇幅,看著多麼逼真。真的成立的規律邏輯上會有種自洽性,但它只能基於本質給出把握趨勢的原則,增加一點成功的機率,最終成功與否牽涉太多細節,實屬偶然。

為了理解這樣的規律,需要先理解下必然與偶然,本質與細節。
必然與偶然,本質與細節
這世上同時存在著兩種對立的聲音:本質決定成敗和細節決定成敗。偏好本質的人喜歡說本質論。偏好細節的人則喜歡說精細化管理。但如果在較長的時間軸上考量這兩種觀點,就會發現他們之間並不真的對立。

本質決定大尺度時間上的走勢和必然性,而細節則決定差異(包括短期成敗),具有極大的偶然性。比如說:人的本質特徵是能思考,有一個頭,會衰老,壽命有限等,這是人的本質特徵,但區別不同人卻不是這些,而是性格,膚色,髮色等細節。

具體來看:軟體本質上是隻有人才能處理的東西,因此公司中程式設計師群體的衰落一定會導致軟體自身的衰落,只有優秀的程式設計師群體,才能保證軟體的持久成功,這是必然性。但優秀的程式設計師卻不一定確保當前專案成功,任何人在細節上的小疏忽,都可能導致軟體在市場上崩潰,死鎖,進而導致災難性後果,這就是偶然,是細節決定成敗。

所以成敗自身雖然萬眾矚目,對個體而言卻只是一種偶然和機巧。當事人可以很努力的平衡本質上的追求(長期視點)和細節上的追求(短期視點),但變更的始終是一種成敗可能性。

描述人生的規律一定是基於本質的,基於某種必然邏輯,否則就是騙子,因為如果可以對人生進行精微控制,對社會就也可以,而後者顯然是不可能的。

而使用人生規律時則要注意上面說的這種本質與細節的疊加關係,他們共同決定了結果,基於本質的必然性可以幫助把握方向,但始終需要處理大量的細節才能最後取得一定成績。
程式人生規律的一種描述
假設說一個人的技能所帶來的價值是S,實現程度是A,那麼S x A即為一個人可以為公司創造的可見價值,也即是可以從公司交換到的最大價值。

其中技能S是指一個人所能做的事,即自身的價值,可以是程式語言、設計知識也可以是管理知識等等。實現程度A則是指各種技能被周圍的人認知的程度。

這有點繞,但實際上一個人的實際能力水平和被認可的能力水平往往存在偏差,極端的情形就是一個人確實很優秀,程式也確實寫的很好,但周圍的人都認為他不行,並只分配他做周邊性的工作,這個情形下這個人的價值實現程度很低,創造的價值也很低。

這就是我想說的生存定律,並不複雜,也不抽象。下面我們來進一步做點分析。

如果收入水平為I,那麼當S x A > I時一個人是有選擇權的也是安全的,否則一個人對於公司而言是負資產(至少是被認為是負資產),有潛在被剔除的風險。一旦一個人在多家公司裡都處於這樣一種情形下時,這個人的選擇權會越來收的越窄(只有公司可以選擇個人,個人卻沒可能選擇公司),人生也就會越來越被動。

當然無論技能S和實現程度A都很難清楚量化只能做定性分析,但確實有幾個因素會使實現程度A急速膨大。這幾個因素可以概括為:自身價值表達力,自身價值的稀缺性,公司的特質和未來。

就日常的感受來看,這往往是程式設計師這個群體不太關注的地方。作為結果很多人的真實價值可能並沒有得到體現,或者說被低估了。
  • 自身價值的表達力
簡單來講,一個人可以有屠龍的本事,但如果所有周圍的人都認為你只能殺雞,那麼現實中,你的能力就是殺雞而不是屠龍。

一個人的真正自我和別人眼裡的你往往是有差距的。這種差距可能來源於不熟悉,也可能來源於誤解等,但確實是一個不能忽視的因素。特別是對於畢業生或者剛剛開始工作這類還處在被評判位置上的人。

假如一個人身處任人唯親的環境之中,那麼表達力的作用會被無限放大,這時候個人價值的作用反倒會縮小。比較良好的情形是身處公平競爭的環境中,這時候表達力的作用會有相對清晰的邊界。但由於每個人對公平都有屬於自己的定義,所謂的公平競爭也只是相對的公平,表達力的作用並不會減少為0。
  • 自身價值的稀缺性
假如開發某一產品時,必須某項技術,而這一技術只有某人才掌握,這時這個人的價值會被高估。這時起作用的影響因素可以稱之為稀缺性。稀缺性存在與否即取決於自身高度,也取決於大勢,而對於後者而言,個人改變餘地很小,大多時候只能順應。

比如說:在IT行業剛開始的時候,產業本身急速膨脹,但程式設計師的人數卻相對較少,這就導致10年前程式設計師的起點工資反倒很高。而10年之後,由於介入門檻一再拉低,大批人員湧入程式設計師隊伍,起點的工資反倒下滑。這種行業的時間特徵主要是稀缺性所造成的,反倒是很難講10年前的程式設計師更加努力,水平更高,而今天的程式設計師就不努力,水平變差了。
  • 公司的特質和未來
最後一個影響實現程度A的關鍵因素是公司自身的特性。公司更像是一個平臺,往往對平臺上的人所能達到的平均高度有所影響。假設兩個人同樣是很優秀的程式設計師,一個進了Google這樣的公司,另一個進了一家外包公司,他們兩個加入公司後都表現非常優秀,公司也對其非常認可,但從收入、技術高度等來看,這兩個人卻會有所差異,時間越長差異可能越大。這種差異並非努力所造成的,而是由於公司在生產鏈條上所處的位置不同而導致的。

小總結:這些因素的疊加形成了一個人的高度,進一步決定了一個人在職場中的市場價值,個人成長中的一切選擇主要是為了在這四個變數上(自身價值,自身價值上的表達力,自身價值的稀缺性,身處公司的特質和未來)有所收益,並使市場價值最大化。接下來在職場的交換中把他們兌換成現金價值。這樣的一種規律是不精確的,它只能使人大致明白自己所處的位置和方向,對成長有一點幫助,但沒想的那麼大。

這是有適用範圍的,拼爹類的,創業類不太在這個範圍內。也不適合追求夢想的情形,也許上面的規律可以左右一個人究竟有多少收入,但它不可能左右這種收入對自己是否值得。後者依賴於個人的價值體系與人生選擇。
這是成功學麼?
上面所表述的內容很容易讓人想到成功學。這種對人生規律和方法的探究確實可以劃入成功學的範疇。這樣一來就要連帶著回答另一個問題:我們可以相信成功學麼?

如果說自然界發展有規律,社會發展有規律,沒道理個人的成長就沒有規律。從這個角度看,講規律的成功學是可信的,但講具體方法,講怎麼怎麼做一定成功的成功學就有點問題了。這更像藥和包治百病的腦白金的區別。成功學本身沒什麼太高的壁壘,這就導致口若懸河的人更容易吸引目光,最終結果就是這池子裡充滿了太多的說客,放眼望去也就全是《細節決定成敗》、《有效溝通》這類書籍。

也不是說這類書籍沒有價值,而是說由於其往往會用片面取代整體,而並不具有太大的現實價值。突然看到李四成功了,也看到了李四比較注重細節,最終就得出一個細節決定成敗的結論,這並不怎麼有意義。因為人的成功往往同時取決於自身和環境。研究如何成功時事實上需要與程式設計一樣的抽象能力。真要想找到種種與成功的規律,那就要多采集案例,從外部環境、個人努力、工程特徵等多個方面進行切入,抽象出起作用的要素,再剃掉偶然性的部分,只保留必然性的部分。這時候往往能夠更貼近本質規律。這類成功學是有用的,但通常達不到一看就可以飛黃騰達的地步,只能讓人少走一點彎路。
結語
上面說的其實是《程式設計師生存定律》的基本創作哲學和最主要的觀點,這書已經免費公開出來了,想看更具體內容的可以戳上面的連結。

作者介紹:李智勇,V眾投發起人,《完美軟體開發:方法與邏輯》,《程式設計師生存定律》作者
來自:CSDN
相關閱讀
評論(3)

相關文章