程式設計師第一定律 關於技能與收入

2021-09-08 08:19:52 字數 1667 閱讀 4168

在軟體這個行業裡有些規則是很有殺傷力的,比如很有名的摩爾定律。

總結出這些規則的意義在於可以大致的照明方向,免得努力來努力去卻走到了陰溝裡。

現實中種種利益紛爭、觀點之爭看似紛繁,但在大時間尺度下來看卻都是規則的實現手段。

這就好比下圍棋,每一手都要為謀得利益而計算,但結局卻只有三種:贏、輸或和,這就是規則的力量。

民以食為天,所以第一定律從收入開始。

程式設計師第一定律可以表述為:程式設計師的收入是技能複雜度和技能實現可能性的函式。

如果程式設計師的工資是s

,社會平均水平的工資為

a,程式設計師掌握的技能複雜度為

c,實現可能性為p。

那麼s = a x c x p

這裡面的實現可能性p

不太好理解,額外做點說明。

好比說有人在東北種了很多白菜,並獲得了大豐收。與此同時廣州也確實需要大白菜,按批發價他的這批白菜可以買10萬。

但關鍵是這個人找不到車皮,大白菜就只能在當地零售,這個時候這批大白菜就只能買1

萬塊錢。

這就是實現的可能性。

大白菜內蘊了既定的價值,這種價值並不因為賣多少錢而改變,但這種價值能實現到什麼程度則依賴於實現的可能性。

這視乎很簡單,但其實不是,很多人的一生就籠罩在這條定律下面,我們來基於這第一定律繼續做些推導。

技能的複雜度c

可以大致等價於掌握一門技術所需要的時間。

各種整合的開發環境,各種容易學習的類庫等使軟體開發的門檻降得很低,這對整個產業是有利的,但對個體而言則是不利的。

你花5個月可以學會的技術,其他人花

5個月也可以學會,而

5個月可以學會的東西所蘊含的價值一定是低的。

與之相對5

年才可以學會的東西,其內蘊價值一定是高的。

內蘊價值低,所對應的收入必然偏低。

為避免爭議,我這裡就不寫技術的名字了,但大家可以從學習所需要的時間上來對各種技術做個分類。

有時候很多人會有一種錯覺,認為越熱門的技術收益越好。

這在大多時候是錯的。

越熱的技術,越成熟的技術越是大眾的,而越是大眾的技術內蘊價值越低,所以收益越不好。

熱度能夠幫助提公升實現可能性p

,但對技能複雜度

c沒有影響。

各種技術的複雜度大概是呈指數增長的,越到後面前進一步越困難。

好比說學會5

門語言所需要的時間大多時候遠比學精一門語言要短。

在特定年紀尚,每樣技術都會一點,對提高實現可能性p

略有幫助,但自身可替代性很強,對技能複雜度

c的影響為負面。

長期來看得不償失。

有些技術領域很窄,上手也慢,實現可能性也低,比如顯示卡驅動,列印驅動等。

做這類工作好比在鋼絲上跳舞:只要能實現自己的價值,那麼回報大體不錯,但最怕技術更迭。

技術一換代,可能多年積累十去六七。

總結來看,程式設計師要想獲得不錯的收入,第一要掌握稀缺的技術,即技術的內蘊價值要高;第二要能實現對這種技術的應用。

《微軟的秘密》一書中提到,微軟裡面優秀的程式設計師是可以擁有許多輛保時捷的。

用上面兩條做分解,就會發現原因很簡單:

一是這樣的人是nt

的核心開發人員,這類人員內蘊價值極高,處於稀缺狀態;二是微軟提供了實現這種技能內蘊價值的機會。

這二者缺一不可。

zhuanzai:

找老公一定要找程式設計師

要嫁就嫁程式設計師 1.專一的心,除了計算機就是你!2.不喝酒不發脾氣!3.一套衣服穿半年!4.沒時間接觸其它girl,想搞婚外戀也沒可能。5.平時總加班,所以週末一定會懷著一顆愧疚的心在家陪老婆逛街 看電視 聊天 做家務。6.只認識0和1,基本沒理財能力,一定會主動把所有的錢都交給老婆管,還會千恩...

程式設計師為什麼一定要用Linux?

大多數人推薦linux,基本上都會說linux讓你更高效 更優秀。然而工具只是工具。然而工具只是工具。然而工具只是工具。優秀程式設計師和不優秀程式設計師的區別首先是態度上的區別。他們有自己的理想,思考很多,不管是專案開始之前還是在專案進行中,專案完成之後也會進行總結。他們對待問題比較嚴謹,思考比較全...

程式設計師為什麼一定要用Linux

大多數人引薦linux,基本上都會說linux讓你更高效 更優異。然而工具只是工具。然而工具只是工具。然而工具只是工具。優異程式設計師 和不優異程式設計師 的差異首先是態度上的差異。他們有自個的理想,考慮許多,不管是專案開端之前還是在專案進行中,專案完結以後也會進行總結。他們對待疑問對比謹慎,考慮對...