前幾天,知乎上看到這樣一個提問:國家何時整治程式設計師高薪現象?引起了熱議。這一個有點唐突的提問瞬間讓我神傷了好久,久久不想說話。我暫且認為提問的人過得不太好,對程式設計師有了酸葡萄的心理。可是,我想對這位同僚說的是:如果你覺得自己過得很難,那麼大部分的程式設計師絕對是和你同一戰線的。而你的此舉,絕對是“不把槍口對準敵人而是對準同伴”的愚蠢之舉。因為,你可能不知道,程式設計師的世界有多難?
小猿的壓力
讓我們來看看程式設計師是如何獲得人們眼中的“高工資”的。首先你得考個文憑,起碼是本科吧?專業得選擇挑戰比較大的理工科。如果你想在畢業季就能找到頭部公司拿下20-30w年薪,那麼你放心,這四年你絕對不能過輕鬆正常的大學生活了。
首先《計算機原理》得熟悉吧?《資料結構》和《演算法原理》得學吧?裡面基礎的幾種資料結構,陣列、棧、佇列、連結串列得如數家珍吧?演算法就更難了,冒泡法,快速排序,二分查詢這些演算法隨手得寫得出來吧?這些都會忘記,你起碼得養成一些coding習慣吧?千萬別告訴我你在面試官面前背出來人家發現不了,在大佬的眼裡,程式碼靠背,思路就不對,這人在這行業就算完了?你得學一門傍身的計算機語言吧?熟悉一門語言也不是那麼容易的,沒有一定的專案和程式碼量,你是達不到熟悉的標準的,還有TCP、http協議等等。舉例的這些,也就程式設計師必要技能的4成不到。普通人,這一圈搞下來,大學生活基本上就只剩下黑白顏色了。
有的人會說了,不用要求這麼高啊,那麼請看清我上文的前提:畢業就要20-30W,當然也有的人天賦過人,特別善於面試,不需要這麼努力也透過,但是放心,研發的路漫長,後面他需要加倍努力,在高強度的工作要求面前,有些坑你沒蹚過,終究還得蹚。還有人會說了,那是鳳毛麟角,我不追求那些,我走普通的程式設計師的道路,普通點的工資,就沒有那麼高了,平均1W左右,後期看個人努力升級打怪。
那就來看看一個普通程式設計師的升級打怪之路,程式設計師前三年是技能增長最快的事情,你需要在不斷的做專案,透過高強度的工作磨練技術,鍛鍊抗壓能力,積累經驗,成為高階工程師。接下來二年時間享受紅利,沉澱技術,這段時間應該是你相對愜意的時光。5-6年學習設計模式,架構,開始需要能主導一個專案,還要學習一些管理技能。因為5-6年後,你會迎來一個行業抉擇:是深挖技術做專家呢?還是走團隊管理路線?7-10以後,這個時候相對清晰了,不斷的提高自己無論是管理還是技術門檻,增加自己的不可替代性。這一路走來,你才能有一個比較好的漲薪曲線。 這也是一條艱辛的路,而且還要看市場,市場行情好的時候,就可以乘東風,確實漲薪就比較快。2013年-2018年,那幾年真是網際網路爆發之年,市場到處都在搶人,相應地程式設計師的工資自然水漲船高。而現在,網際網路的紅利也過去了,進入了平穩期,程式設計師的薪資也開始慢慢恢復到更正常得軌道。
其實程式設計師的工資,正是和資本家博弈的結果,如果資本家能夠5000塊招到一個人,他絕對不會花10000。恰恰是目前市場優質的程式設計師還是太少,而真正的程式設計師們付出了驚人的努力脫穎而出,工資才能漲起來。
相比於大多數行業,IT行業並不會講出身、看背景,故意人為設定門檻阻擋外來人進入。完全是自由競爭,你行你上的存在。前些年,即使對學歷都沒什麼要求,只是這些年由於這個行業湧進來的人多了好些,所以才對學歷有了一定的要求。你只看到程式設計師工資高,卻看不到,他們的加班熬夜996,他們掙的每一個銅板都是光明正大的。
不僅如此,還要精通技術,保持學習,時刻活在考核壓力優勝劣汰的環境中。前段時間,脈脈有個人分享了自己應到網際網路某裡的經歷,當日10點入職,當天領取需求開幹,次日九點提交離職申請,中間搞了個P0級別的bug出來,從入職到辭職前後不超過24小時,領導總結是抗壓能力太差,不夠皮實。如此級別的壓力,要是能扛得住,我想拿那點工資也是理所應當吧。其實小夥伴們舉目四望,真正“輕鬆”賺錢的不要太多:日薪208W的某爽、隨便拍部糊劇就能收入幾千萬的三線明星。如果整治的矛頭不對準他們,而是對準地裡刨食的程式設計師,那真是典型的“竊國者侯,竊鉤者誅”啊。
小猿們也有內卷化
程式設計師的世界也是內卷化的溫床,每一個程式設計師曾經都有很拼的歲月,幾年後,熱情就消退了。5-6年之後沒有到管理層,職業危機就來了,上升曲線變平緩,加薪機會也變少了。
行業的人多了,裡面的人就開始相互捲了,面試造導彈,工作擰螺絲就成了常見操作。之前有個朋友在百度面試了一個人,把多執行緒,負載均衡,記憶體管理等高大上的東西問了一遍,覺得這人也不太行啊。下午自己去阿里面試就遇上了上午面試的那個人,這會兒身份掉了個個,對方把他上午的問題挨個又問了他一遍,結果是,他也回答得不太好,面試結果就可想而知了。
前幾年,人確實多,程式設計師的質量也參差不齊,專案緊的時候,真是不把人當人用,連天加班到深夜,週末無休,現在的996和那個時候比起來,弱爆了。不過現在輿論對於程式設計師的工作壓力,關注度也多了,也就鬆了點。
小猿的大考
程式設計師30歲就開始思考35歲的問題,35歲是一道無法迴避的坎,35歲時程式設計師最虛弱的時候,也是程式設計師最需要穩定的時候。看著學弟一茬一茬地來,比自己幹得多,要的還少,熬夜奮戰不在話下。程式設計師敏銳地感受到失業的危險,天生接近網際網路,更加重了他們的焦慮。想走管理的路子吧,一個蘿蔔一個坑,位置就那麼幾個,哪怕幸運入坑了,還有被連根拔起的危險。想走技術專家路線吧,那是一條深不見底的路徑,有時候,你都不知道到底哪個階段是技術專家。而且技術這個玩意,變化太快,有時候你剛成為某個技術專家,可能這個技術已經過時了。技術過快地更新換代,讓每一個人變得浮躁不堪。所以,很少人能有安全感。前幾年,有一個技術會議,與會者都是30歲往上的人,大家在討論完技術方案之後閒聊,突然,有個人說一句話:“30了,應該想想別的出路了”,全場肅然。可能大家都知道有這麼一個問題,只是沒有人有絕對的自信面對它。
幾年後,你發現,你的時間是那麼少。別人是6點下班,而你經常是9點。有一天能7點下班,你會感覺很幸福。這種工作方式呢,有孩子之前沒有什麼,一旦結婚生娃,上有老下有小的,你就會發現這種狀態多麼不可持續了。前天晚上發版本,肝到12-1點點,第二天7點依然起床送小孩上學,這種日子一次兩次地還能接受,成為常態你受得了嗎?每天晚上回到家裡,小孩已經睡了,同在一個屋簷下,卻難得見一次面。一旦小孩或者老人有個頭疼腦熱,那可真是嚇一跳,你得好好安排好自己的工作不影響總體專案的進度,因為,在這個短暫的週期裡面,你是不可替代的。一年下來,你會發現,你能陪家人的時間真的不多。
所以,當有人想加入小猿大軍的時候,小猿們都是一副歡迎加入,一起來卷的態度。但是,當親戚朋友諮詢的時候,往往都是盡力勸退。無他,裡面太捲了嘛。以前在北京和一個朋友吃飯,我在車上調侃他說,你小孩這麼喜歡電腦,好好培養,將來程式設計師有後繼有人了。他哼了一聲,很清晰嚴肅地說了句:“他要是再選擇做程式設計師,我打算他的腿!”。可見,這個行業對他有多大的陰影。
談談小猿的不可替代性
程式設計師這個工作比較奇葩,從一個專案的週期看,比如一個月內,那麼你個人還真是不可替代的。原因很簡單啊,因為一個功能如果是你做的,臨時換一個人,那麼成本會大到無法接受。
時間拉長到程式設計師的職業生涯,又會發現程式設計師的替代性非常強。
首先,程式設計師這個行業沒有什麼門檻,不需要你專業是計算機的,也不需要你有什麼從業資格證。很多行業就專業和資格證就淘汰掉一大波人,而程式設計師這個工作不需要。
其次,資本家也不斷地從管理上降低每個人的不可替代性。現在,大公司每個工作已經儘可能的拆分成一小部分,很多人只需要完成整個專案的一小部分功能就行,沒有一個人能夠知道整個專案的全貌,其實也不需要知道全貌。這樣資本家獲得了空前的穩定,相應的,每個程式設計師也就越來越成了流水線上的螺絲釘,於是可替代性就越來越強。
最後,分享精神也是造成了程式設計師的經驗積累成了雞肋。IT行業非常提倡分享,這帶來了社群的蓬勃發展,促進了生產力的發展,但是也是程式設計師自己革命自己的開始。當一個新人一搜索就有一大堆已經別人總結好,或者研究好的成果可以使用的時候,那麼老程式設計師的技術積累很多就成了空談,因為很可能一些新人透過別人分享的一個框架就能實現簡單實現和你一樣的效果。再加上網際網路行業的技術更新換代特別快,所以,每一個程式設計師都必須活到老,學到老了。一旦什麼時候學不動,而大批新人可以在老人分享的技術成果上創新,那麼老碼農距離被替代就不遠了。
事實上,正是這種短時間的不可替代性,導致小猿們計算機不能離身,相應地侵佔了小猿們的私人時間。而放大到職業生涯的來看,程式設計師具有高度的可替代性,這種可替代性,又導致了程式設計師這個職業成為美麗卻短暫的職業。這兩種矛盾的特質同時聚焦於程式設計師這一個職業,於是它就變成又忙又隨時有危機,現在再看看是不是不那麼吸引人了?
生活的磨練
小城市沒工作,大城市沒有家。程式設計師工資看起來還行,一線城市咬咬牙還是能夠付個首付的。可是月供呢?面對工作程式設計師是最沒安全感的,談到買房,個個都恨不得全款(只要力所能及),可是現實不能。當你在貸款合同按下手印的那一刻,巨大的壓力就讓你和老闆的地位瞬間逆轉。以前,委屈了,錢沒給夠可以隨時詩和遠方。現在呢?不行,因為銀行那個吞金獸還在等你,所以此刻你也就少了少年時的稜角,變得卑微起來了。
我在北京有個朋友,現在還在大廠做程式設計師,能力算不錯的,最近非常的迷茫,經常打電話問我某州的情況,說是想逃離北京了。再去大城市,房價那麼高,壓力還是那麼大;去小城市吧,又沒有對口的工作。程式設計師這個職業只有在一線城市才好發光發熱,這就讓他很尷尬了。我曾經問過他一個問題,你未來有什麼打算,他沉默了好一會兒說:“我只想在35歲之前,多攢點錢防止35歲失業後一無所有。”細想一下,可能也是比較可行的一條路,但也道盡了程式設計師面對35歲危機的無奈。
程式設計師是個需要時刻需要學習的行業,經驗是個渣渣,一旦放棄學習,很可能你就落後了一大截。所以,學習是必備的訓練。沒有企業會花錢請你來學習的,所以學習要靠工作之外的時間,工作本來就忙,於是只好把自己當海綿擠一擠。有次在地鐵,拿出技術書籍在看,有個人讚揚說:“小夥子,好努力啊!”。我只能笑笑,內心一陣酸楚。
很多人都說程式設計師不容易找女朋友,不過這倒是徹頭徹尾的謊言。形成這種印象也很好理解,程式設計師整天與機器打交道,自然刻板印象就是話少,木訥,不懂情趣。身邊又都是男人,跑和尚廟裡面,也沒有機會找女朋友啊。但是,換個角度看,你就會發現程式設計師錢多事少消費少。不抽菸不喝酒,工作圈子比較健康,是不少現實女性的理想伴侶。網際網路公司,也算是辦公室辦公,女性也自然不會太少。在這個行業久了,就會發現,一到28歲,只要外形有個70分的,基本上都名草有主了。以前有個同事,確實長得比較愛國,胖胖的,也不太會說話,屬於比較難被女人看上的那種。農村出來的,到了28還沒女朋友,被父母逼婚逼得那叫一個慘絕人寰啊,成天就想找個女朋友。最瘋狂的時候,和一個女人就相親見了一面,一次手都沒拉過,就給人買了一個新款IPhone7。就這條件,後面也找到了,30歲那年也結婚了,新娘長得還可以。
程式設計師圈子窄,整天與機器打交道人脈本就不容易擴充套件,下班還賊晚,哪還有時間去交際。人的成本里面除了看得見的成本之外,還有看不見的機會成本,而程式設計師是失去機會成本最多的人之一。網上曾經有個人問:為什麼我年入50萬,回老家地位還是不如月薪6000的公務員表哥。下面回答有一條是這麼說的:因為除了借錢,沒有任何一件事情能找你幫忙,簡單的一句話,說出了最赤裸裸的現實。
總結一下
1、小猿的職業是一個高付出,高壓力的職業,和別的行業結合付出橫向對比起來,報酬並不算高。短期的畸高也會隨著紅利的過去而回歸平穩。
2、小猿們的行業也出現了“內卷化”。內卷也帶來了待遇下降,壓力陡增。
3、小猿的職業更容易遇上35歲職業大考,而且程式設計師尤其敏感,且深受困擾。
4、小猿們由於常年與機器打交道,所以大部分遊離於社會大學之外。但是畢竟要生存,相對低下的生存技能卻必然受到生活的教育。所以程式設計師的很多“難”,就“難”在這裡。
你要問我為什麼還在這個行業,我思考良久,為了夢想,愛好,興趣,改變世界?好像都不是,我想還是因為錢吧。和所有行業的勞動人一樣,小猿靠流汗獲取報酬,也會焦慮35歲的危機。但是,當小猿看到歐美的35歲程式設計師不會被歧視,看到美國60歲的程式設計師大神依然在享受coding,小猿依然相信一切會變好。我相信,隨著行業越來越健全,一個更加尊重程式設計師的時代終究會來臨。如果哪一天,沒有人會覺得40歲依然奮戰在第一線的程式設計師有什麼怪異的話,那麼真正的程式設計師春天就算來了。
最後,放一張谷歌程式設計師的工作照與大家共勉吧。
感謝閱讀,如果覺得還不錯,請點個贊吧。如果喜歡,就請[關注]我,我很期待和你交朋友,同時也可以看到我更多的文章,以後有更新你也可以第一時間看到