程式設計師的工資為什麼可以這麼高?

前幾天看知乎發現一個氣抖冷的問題,就是下面這個:

程式設計師的工資為什麼可以這麼高?

回答區無比火爆,一群答主在噴題主,但也不乏有支援題主的人。因為話題實在太離譜,同時對抗的太激烈,之後知乎編輯把問題修改了:

程式設計師的工資為什麼可以這麼高?

短時間內這個問題就積累了1200多個回答,3600個關注,忍不住我也回答了一波。

今天也給大家分享下我對這個問題的看法:

首先說結論:程式設計師出售自己的勞動力賺取報酬,是最誠實、最辛苦、最光明正大的。

“竊國者侯,竊鉤者誅”,無視那些利用各種資源、暗箱操作的老闆們,呼籲國家搞辛苦打工賺錢的程式設計師?

程式設計師的工作累且壓力大,這點是coding過的朋友都知道的事實,尤其是在網際網路行業,公司基本同質化競爭,比的就是研發速度。

人月神話一書中指出:靠增加工程師數量並不能線性增加研發速度,有的時候要想快點上線還真就只剩下加班一條路。

高薪的背後是勤勞的付出和不斷解決知識卡點的壓力,一個優秀程式設計師的成長路線是曲折和痛苦的,甚至還需要一點點機遇。

程式設計師經常要面對的是老闆倒排工期,同時要要應對產品經理、運營經理的催促。

哪怕薪資高,還真的就是辛苦錢,更別提程式設計師也不是都高薪的,BATTMD這種的確高薪,甚至應屆生能年薪50萬+,但很多阿貓阿狗公司,996不說薪資也很低,6K、7K一抓一大把。

再聊聊程式設計師尤其是網際網路行業的程式設計師為什麼相對薪資會高?

是大家真的身懷絕技嗎?是程式設計師的老闆們普遍都心地善良嗎?

顯然都不是,程式設計師行業高薪的本質原因是:目前IT行業處於行業週期中的高點。

行業週期最簡單解釋就是當供給和需求不匹配的時候,需求缺口需要一定時間來彌補。根據彌補的方式不同,分為庫存週期,產能週期和技術週期。

基礎知識介紹完了,接下來回答下為什麼程式設計師工資高呢:

1.IT行業,程式設計師就是產能

這是和工業行業最大的不同,工業行業產能是機器,而網際網路行業最大的產能就是程式設計師。

2.最近30年技術週期一直在上行

新技術一直在不斷改造既有商業模式,並快速催生出新的巨頭公司。

3.移動網際網路加持

移動網際網路的應用催生和創造了巨大的新需求,且不斷湧現,相比之下程式設計師產能嚴重不足

看清以上幾點,我們再來看IT行業程式設計師高薪資:

1.程式設計師作為生產資料,目前的供需缺口導致價格提升是必然的

一個稱得上優秀的計算機應屆生大抵上要掌握以下技能:

深厚的演算法和資料結構基礎:陣列、連結串列、二叉樹、堆疊、排序演算法這些融會貫通,B+/B-樹、DP(動態規劃)等需要有所瞭解;

計算機網路:HTTP、DNS、ARP、TCP、IP、ICMP、UDP等需要有一定深度;

作業系統:IO、儲存器、多執行緒/多程序、同步機制、處理器排程及死鎖、裝置管理、通道等;

計算機組成原理:馮諾依曼計算機組成、計算機層次結構、計算機效能指標等;

熟練掌握一門基礎語言:C or Python,熟練掌握一門高階語言:C++或Java等;

上機編碼最起碼幾萬行

有公司實習經驗,並真正做過上線的應用

簡單捋一捋,這就能淘汰掉多少人?

同時程式設計師這個行業極其吃自學能力,就算有頂尖程式設計師不工作了天天一對一帶你,只要你自己不努力不下苦工夫,一樣沒戲。

優秀程式設計師永遠是少數,也很難批次培訓出來。

2.不要幻想程式設計師和產業時代的工人有多大區別

薪資高是供需關係導致價格上漲,而不是技能本身,換言之如果程式設計師過剩,哪怕你牛逼到爆,工資也不會太高。

3.程式設計師的高薪從時間空間維度來看,並沒有那麼高

眾所周知,IT行業新技術層出不窮、發展飛快,這意味著幹這行就必須終身學習。

另外,一旦超過35歲或者40歲,如果沒有成為技術專家,那麼不但漲薪之類的再和你無緣,更可怕的是還會面臨降薪甚至轉行。

這也是我為什麼經常會強調:程式設計師也需要不斷培養認知、溝通表達、理財等能力。

只要是打工邏輯,就無法確保長時間的高收入,而聚焦自身的成長、同時提升認知和能力、不斷尋找人生第二增長曲線,方能立於不敗之地。

以上就是我對這個問題的全部看法。

再嘮叨幾句:大家都是打工人,生活都不易,諸如這種國家為什麼不整治另一群打工人的問題,真的是“腦C”到不行。

今天就說這麼多了,我們下期見呀~