1. 程式人生 > >淺談程式設計師的“內卷化”

淺談程式設計師的“內卷化”

一、什麼是內卷化

最近開始瞭解到一個很有意思的詞——“內卷化”,如果你還不知道這個詞,那就非常建議往下看。

什麼是內卷化?內卷化,亦稱過密化,最初由文化人類學家亞歷山大·戈登威澤提出,用於描述社會文化模式的變遷規律。當一種文化模式進入到最終的固定狀態時,便逐漸侷限於自身內部不斷進行復雜化的轉變,從而再也無法轉化為新的文化形態。在中國語境下,內卷化概念最初聞名自歷史學家杜贊奇對於古代中國經濟生活的研究成果中。杜贊奇借用內卷化一詞描述清代人口爆炸,廉價勞動力過剩,從而無法帶動技術革新,使得古代中國的經濟形態長期停滯於小農經濟階段的發展狀態。

好吧,我相信你沒看懂!

舉個例子,上圖!

 

這段對話,就形象地為“內卷化”現象做了解釋。

二、程式設計師的“內卷化”

程式設計師本來是一個需要高學歷,高技能的工作。但是隨著“科技發展”,慢慢的自稱自己為“碼農”、“搬磚者”,而且一邊喊著“35歲危機”,一邊996的幹活。身體慢慢的發胖(過勞肥),頭髮漸漸稀少。

1、碼農時代

上世紀 七八十 年代,IT工程師們使用匯編語言操作大型機,碼出了各種作業系統,各種資料庫,那些年的前輩們,現在後輩們望塵莫及,可能連“塵”都看不見。後來PC的出現,專業院校培養出身的學生們,開始進入職場,運用各種辦公軟體 、應用軟體 和中介軟體開啟了IT工程師的生涯,他們成為了現在各廠的“爸爸”們。前些年興起了XX培訓機構,繳費一萬,三個月保證上崗,“全民學Python”。程式設計師的門檻一下子變低了,每年無數的新人進入這個行業,只要有電腦就能自學,“碼農時代”到來了!

2、開源時代

現在的程式設計師寫程式碼變得比原來的程式設計師強,因為他們有強大的基礎庫。springboot 寫出來的最簡單的專案,以前你想寫出來都是不太可能的,你需要實現幾十萬行碼。就算你能做到, 到了今天也沒什麼稀奇的了,剛剛畢業的程式設計師隨便就弄出來了,你以前寫程式碼的那些能力趕不上了。有人說,我會比新人學得快,學得好。我認為這話有道理,但是不一定。那工作兩年後的人,學習新技術和你一樣快,沒什麼差別。

這幾年大資料時代的來臨,很多開源框架逐漸成熟,以前針對大資料了的計算和儲存要費勞力也不一定搞定,現在MR計算框架和Spark輕鬆幫你搞定PB級別的資料,更可怕的是你只需要會寫SQL就行!剛畢業的學生一個月可能就掌握了基本的海量資料查詢功能。

很多公司會出現一種情況——“工資倒掛”,大部分原因就是你的工作很容易被代替導致的。但是很多老員工心裡不服氣啊,憑什麼我工作5年了,剛畢業的一個學生跟我拿一樣的工資?我來告訴你為什麼。這些老員工一般只依賴自己剛進公司那兩年為公司寫了大量的程式碼,然後一直維護了三年,沒有學習新的技術。而來公司寫的程式也許只適合現在的公司,他的這個技能出去後很可能就失業了,所以,他的5年經驗價值是很小的。而剛畢業的學生,使用的最新的技術框架,很快做出來了你之前的專案效果,而且新的框架還更簡單,另外剛畢業的學生還比你更能加班!

3、加班文化

以前的程式設計師,很少有加班的,根本沒聽說過“996福報”。但是有一天,部門出現了一個同事只依靠白天完不成工作,就開始晚上加班,加班了2個小時,把工作趕上正常進度了,但是該同事想,如果再加班兩個小時那不就比正常進度快了嘛!該同事996一個月,竟然拿到了高績效,老闆還表揚了這種加班。於是,其他同事開始效仿,就算每天能正常完成工作,還是會加班,有的趕趕進度,有的就是劃劃水。大家為了保住工作,都開始加班,慢慢的加班對於拿高績效就不再有競爭力了,而是成了“標配”。此時,那些不願加班的人,想要高效完成工作,正常過下班生活的程式設計師成為了“另類”,老闆會因為這些員工的“態度”問題,還不給高績效。慢慢的所有人都開始了996,大家“工作態度”高度一致,老闆還是得從其他方面進行評估工作,但是此刻加班已經形成一種“文化”。最後,老闆成了最終的獲益者,程式設計師親手毀了自己的工作環境,而且在長期加班工作中,自己的思考變的遲鈍了,不在有那麼多創意想法,不會再想那麼多提高工作效率的方法,因為只要靠“加班”就行了。

三、如何不被“內卷化”

現在我們已經明確的知道程式設計師的“內卷化”現象,我們都不希望自己被“內卷化”,那麼如何避開“內卷化”呢?

1、Stay Hungry, Stay Foolish

程式設計師要時刻保持好奇心,持續學習。IT技術這些年發展太快,不想造原子彈那樣的高科技。不管是後端的springboot,前端vue,還是現在的各種大資料計算引擎,作為一線開發者的我們都要時刻保持學習的態度,走出自己的舒適區。

2、工程能力

很多同事寫程式碼速度一流的,但是你讓他從頭開始部署一個專案,他依然不知道自己要怎麼做。部署上,頁面報錯了依然不知道從哪解決,這些程式設計師一般都有一個口頭禪“我的程式在本地跑的沒問題,你看看是不是你的程式有bug啊”,這就是缺乏工程能力的表現。所謂工程能力,我把它分為這幾部分:架構、規範、管理、排錯這幾個能力。

  • 架構

架構不僅僅是指技術架構,對業務的深度瞭解也是重要的一部分。作為一個工作多年的程式設計師,要學會了解架構知識,一個好的架構能夠在以後業務的發展中避免平臺的重構。要知道整個平臺是怎麼運轉起來的,資料流轉的全流程是怎樣的,客戶的需求是怎樣的。

  • 規範

程式設計師是最討厭寫文件、定規範的,都喜歡自由。但是,很多次生產環境的意外宕機都是缺乏規範引起的,不管是流程規範,還是操作規範,在平時,我們都要養成“規範”能力,就像你每次上完廁所後會洗手一樣。“敬畏生產環境”也不只是喊喊,功夫要用在平時。

  • 管理

程式設計師都不喜歡被管理,但是不管你是不是管理者,都要學會管理。一是管理自己日常的工作,有序開展,避免無效加班;而是學會管理同事,讓同事更高效的配合自己完成工作,也許某一天你就會成為你旁邊同事們的管理者。

  • 排錯

我認為這是工程能力最重要的表現之一,程式中日誌記錄要成為每個工程師的習慣。你多年的工作經驗也許並不在於你程式碼寫的快,而是在於你比別人更快的定位問題、解決問題。

3、學會思考

網際網路剛開始的階段,很多人都喊“我有idea,就缺程式設計師了”,而現在越來越多的人喊“大家有什麼idea,我來負責開發”,而這也是現在好的產品經理越來越值錢的重要原因。

沒有思考,我們就會一直工作,一直加班,迴圈往復。學會思考,我們才能找到高效工作的方法,避免“惡性加班”,才能提高自己的程式設計能力,而不是提高程式設計的“熟練度”。

也許有一天,你正好有一個idea,自己也能實現,可能一不小心就“財富自由”,走向人生巔峰了。

四、結尾

看了這麼多,程式設計師表示也很難。其實回想一下自己進入公司的初衷,如果是為了混飯吃,那你確實很擔心這個,很快也許就會有替換你的廉價勞動力了。如果不是,那應該沒有什麼好擔心的,你已經知道如何找到自己的核心競爭力了。