曾經(jīng)的我是看不起程序員的,那時候我認為他們不過是一幫寫寫JavaScript,擺弄一些玩具一樣的東西,好像搭積木一樣的搞幾個網(wǎng)頁和app,算啥?我們這些搞真東西的工程師才是人類技術(shù)的精華,從火箭飛機到半導體精密制造,我們這些機械,電子,航空航天工程師們,設(shè)計頂尖的機器,擺弄著價值數(shù)千萬美元的昂貴制造設(shè)備,操控微納米尺度精度的精密儀器,我非常為我的專業(yè)自豪,認為那些寫代碼的碼農(nóng)不過是乘著經(jīng)濟泡沐起飛的豬,最后一定會重重的摔倒谷底。
果不其然,2001年和2008年兩次經(jīng)濟危機,泡沐經(jīng)濟的破裂導致大量程序員下崗,我這傳統(tǒng)行業(yè)的工程師在一邊呵呵,心想果然是一幫投機分子。然而我沒有想到的是,雖然整個計算機行業(yè)在不斷震蕩,程序員的工資卻逐漸把我們這些傳統(tǒng)行業(yè)的技術(shù)人員甩到了后面。
想到2001年那波泡沐,九十年代進入程序員行業(yè)的大多數(shù)其他行業(yè)轉(zhuǎn)過去的,甚至包括很多文科生,說的不好聽都是在別的專業(yè)混不下去的才去寫代碼。2008年的時候,泡沫破滅,程序員的工資相對我們這些傳統(tǒng)行業(yè)工程師也沒有太多優(yōu)勢,然而又過了十年,如今硅谷的有經(jīng)驗的普通工程師大多是三十到四十萬美元一年的薪水,就連一些剛畢業(yè)沒有任何經(jīng)驗的二十出頭小年輕也可以拿到十幾萬美元一年,這個薪水已經(jīng)達到或是超過很多傳統(tǒng)行業(yè)的資深工程師和高級工程師。在所有人為此詫異的時候,我在思考,我也許錯了,我到底錯在哪里,導致與誤判了程序員行業(yè)的發(fā)展趨勢?
我逐漸意識到,程序員是有史以來人類最偉大的職業(yè),因為他們擺脫了生產(chǎn)關(guān)系和階級制度的束縛,人類歷史上第一次,無產(chǎn)階級工人有了和資本所有者制衡的能力,因為無產(chǎn)階級工人掌握了生產(chǎn)資料。具體來講怎么說呢,打個比方,我比較熟悉半導體行業(yè),IBM和Intel的半導體工程師們,大多數(shù)有著美國博士學位,一路名校,二三十年的頂級行業(yè)工作經(jīng)驗,看起來是工人階級里面精英中的精英了吧?然而在近年來的半導體產(chǎn)業(yè)夕陽化過程中,因為半導體制程的更新速度放慢和中國半導體技術(shù)的崛起,導致資本方在市場上的利潤率也逐漸降低,半導體行業(yè)競爭開始減少,行業(yè)內(nèi)部開始不斷兼并,對于老工程師也開始大規(guī)模的裁員。這些工程師曾經(jīng)是人類的精英,他們曾經(jīng)設(shè)計制造著人類有史以來最復雜精密的機器,然而如今他們?yōu)榱吮W∫环莨ぷ鲬?zhàn)戰(zhàn)兢兢,如履薄冰。說到底為什么?因為他們不掌握生產(chǎn)資料,也不可能掌握生產(chǎn)資料。如今一臺14nm的光刻機要賣數(shù)億美元,對于無產(chǎn)階級工人來說,他們是不可能通過資本的逐漸積累來掌握生產(chǎn)資料的。資本的壁壘讓這些失業(yè)工人一無是處,不管他們對于半導體生產(chǎn)設(shè)計如何理解透徹,沒有生產(chǎn)資料和設(shè)備,他們的知識就沒有價值。一旦產(chǎn)業(yè)發(fā)展放慢,他們的經(jīng)驗一旦固化,就可以被資本家用更廉價的工人取代,這些曾經(jīng)拿著較高薪水的工人會馬上失業(yè),最好的結(jié)果就是降薪降職稱。我進入IBM沒到一年,我司的半導體制造部門就被出售給global foundry,伴隨而來的是半導體研發(fā)和生產(chǎn)部門大規(guī)的裁員,和資深工程師的降薪降職。我剛?cè)肼殨r的同事走了好幾個,有的老員工被強制退休,招我入職的老板被降職降薪,最后我也走了。
去年乘著IEEE開會,我對幾個大的半導體公司進行了刺探和了解,發(fā)現(xiàn)總體比較悲觀,Qualcomm和Intel的資深工程師也都非常緊張,行業(yè)內(nèi)兼并不斷,隨便一說就一大堆,altera,英飛凌,freescale,等等等等,普遍規(guī)律是老工程師干掉,招一些工資低的小年輕取而代之,總體雇員數(shù)量縮減,兼并就是裁員的最好時機和借口,整個行業(yè)抱團取暖,寒冬已經(jīng)來臨。
另一方面形成鮮明對比的是程序員的高工資。我在思考,為什么互聯(lián)網(wǎng)行業(yè)的資本家必須要給工人開那么高的薪水?為什么程序員工作那么輕松,很多人從來不加班,每天寫個幾十行代碼,一年幾十萬美元的工資就有了。這個趨勢也是最近十年才越來越明顯的。七八十年代計算機屬于昂貴資產(chǎn),只有大型的資本集團才能購買,那時候的程序員也不掌握生產(chǎn)資料,離開了IBM的大型機,很多程序和技術(shù)根本沒有用武之地。那時候計算機專業(yè)的薪水相比別的專業(yè)沒有任何優(yōu)勢。
然而偉大的變革發(fā)生了,有史以來第一次,工人階級真正掌握了生產(chǎn)資料,擁有了和資本家議價的能力,真正的改變來自于幾點,一方面在計算硬件層面是個人電腦的普及和云計算技術(shù)的發(fā)展,計算硬件變得非常便宜而且容易獲取,另一方面在理論層面,互聯(lián)網(wǎng)技術(shù)的快速發(fā)展帶動了知識的快速傳播,導致以前曾經(jīng)很少人掌握的技術(shù)和理論被大眾可以輕易訪問,更重要的近年來的開源軟件和技術(shù)的快速發(fā)展,以前通過軟件和知識產(chǎn)權(quán)霸權(quán)來控制工人的方法也不奏效了。典型的例子就是LInux系統(tǒng)為代表的Google,Unix系統(tǒng)為代表的IBM,Windows系統(tǒng)為代表的微軟。曾經(jīng)的電腦技術(shù)霸權(quán)主義,比如微軟,IBM,惠普等公司,逐漸失去對產(chǎn)業(yè)的絕對控制地位。Google和Facebook等新型的IT產(chǎn)業(yè)資本就代表了這種新型的生產(chǎn)力關(guān)系,這些新型互聯(lián)網(wǎng)公司的領(lǐng)導者也是從舊體制里面脫離出來的,自己也受到了開源軟件和共享硬件的好處,明白這一新的生產(chǎn)力模式的優(yōu)勢,自然對于工人階級的看法和定位都不一樣,在這些企業(yè)工作的工人也享受了資本快速發(fā)展的利潤,直接獲得了其他行業(yè)無法比擬的財富。
傳統(tǒng)行業(yè)的工人屬于舊經(jīng)濟體制下的被剝削者,自己無法掌握自己的命運,隨時可能被資本拋棄。新經(jīng)濟下的程序員們掌握了生產(chǎn)資料,包括云計算資源和開源軟件,一旦對雇主不滿意,分分鐘創(chuàng)業(yè)單干,所以程序員行業(yè)創(chuàng)業(yè)成功的特別多。而且程序員們很容易通過開源程序技術(shù)給雇主設(shè)置招聘壁壘,讓自己的位置難以被新人取代。因為商業(yè)軟件真正的服務(wù)對象是雇主而不是雇員,商業(yè)軟件的設(shè)計目的就是分化雇員的技術(shù)優(yōu)勢,讓企業(yè)可以用低成本取代勞動力。使用開源技術(shù)而不是閉源技術(shù),可以保障工人的地位,讓工人得到前所未有的就業(yè)優(yōu)勢。也正是如此,所有我認識的真正懂計算機的無一不是Linux等類似技術(shù)的擁護者,而喜歡用微軟和Windows相關(guān)技術(shù)的大多不太懂電腦或是對計算機一知半解。
總而言之,程序員是一個偉大的職業(yè),我們不管是不是程序員,都要明白他們高工資背后的社會學和經(jīng)濟學原理。