實(shí)際上IT行業(yè)在中國并不是特別差的行業(yè),而程序員的工資也并不低,但為什么中國的程序員總被稱作碼農(nóng)或者說是苦逼的程序員?中國的程序員生活和歐美的有什么不一樣?
之前,研發(fā)頻道曾發(fā)過《東方程序員怎么看西方程序員》和《西方同行眼中的東方程序員》這兩篇文章。來自世界各地的程序員們各抒己見。或許,從上面兩篇文章中也多少能得出“為什么中國的程序員總被稱為碼農(nóng)?”下面是來自知乎網(wǎng)上各位大牛的看法。讓我們來一起看下!

一位叫吳濤的程序員的回答:
編程活動(dòng)和機(jī)械電子一樣可以視為一種工藝(craftsmanship),從事此類工藝活動(dòng)的人可以叫做工匠或者工程師。經(jīng)歷過工業(yè)革命的歐美國家,有深厚的工程根底,從機(jī)械到電子再到軟件,都是國家產(chǎn)業(yè)的支柱,滋養(yǎng)著社會(huì)中堅(jiān)力量的中產(chǎn)階級(jí)。工程師的社會(huì)地位普遍比較高,他們有工藝的傳承,有文化圈,有產(chǎn)業(yè)的歷史。
而國內(nèi)目前的軟件工業(yè)和制造業(yè)非常相似,以來料加工式的低水平重復(fù)勞動(dòng)為主。就好像農(nóng)民仰賴著老天提供種子、土壤、陽光和水,中國程序員仰賴著洋人提供設(shè)備、技術(shù)和理念,從微處理器、操作系統(tǒng)、編程語言、編譯器、IDE、編程框架到應(yīng)用程序,除了做晶圓的沙子是本地產(chǎn)的,幾乎沒有什么屬于自己,每天的工作內(nèi)容主要就是把別人已有的東西按照自己的——甚至不是自己的——需求裝配一下,沒有什么創(chuàng)造性,也很少有業(yè)界的技術(shù)積累和傳承出現(xiàn),即便有也流傳不開,畢竟程序員文化水平普遍不高——「有知識(shí),沒文化」,就是說這樣的狀況。記得劣質(zhì)盜版VCD滿天飛的時(shí)代,有個(gè)程序員做出一款丑陋但是解碼容錯(cuò)能力很好的播放器,貼合國情,一炮成名,結(jié)果好容易寫本書,沒有幾個(gè)句子能寫通順的。這種技術(shù)書籍的拙劣狀況一直保持到現(xiàn)在,而且拙劣的方式更加多樣化了。沒有技術(shù)傳承,沒有文化圈,不乏有人上大學(xué)之前對編程一竅不通,學(xué)計(jì)算機(jī)只是因?yàn)橛?jì)算機(jī)「熱門」而已。如同包辦的婚姻,沒有一絲愛情,最后以編程為業(yè),只是因?yàn)橐膊粫?huì)做別的什么了。
另一方面,國內(nèi)程序員不論薪水如何,的確很苦。許多人長期被迫加班,最后甚至?xí)蔀橐环N自愿的習(xí)慣。可生產(chǎn)率和產(chǎn)品質(zhì)量并未因此而提高,就像千百年來用慣鋤頭和鐮刀的農(nóng)夫,很少有人會(huì)想要去學(xué)習(xí)、改進(jìn)自己使用的工具和習(xí)慣,甚至對于新興的思潮和方法抱有非理性的抵觸情緒。生活如此悲慘,卻又如此不思進(jìn)取,和農(nóng)民的問題很相似。再加上,就好像城里人眼中的鄉(xiāng)下人一樣,程序員們木訥、邋遢、缺乏情調(diào)、土。可偏偏又自負(fù)而且互相看不起。
總而言之,在中國做一個(gè)程序員,很少有什么事情能讓人覺得自己從事的工作很體面。那么,在整個(gè)社會(huì)以自嘲為風(fēng)尚、許多行業(yè)都喜歡好勇斗狠地自輕自賤的狀況中,使勁貶低自己的職業(yè),自嘲和群吵時(shí),就不會(huì)有什么心理包袱。不過,就好像黑人可以自稱或者互稱「黑鬼」,但是白人如果敢講立刻會(huì)惹禍一樣,喜歡以此自稱的程序員并不見得能容忍其他人這樣稱呼自己。
最后,英語有類似的說法,將帶有隔斷的辦公室叫做cube farm,常見于傳統(tǒng)的軟件公司。以諷刺(但不限于)軟件公司日常生活為主題的漫畫Dilbert就有不少格子辦公室里的場景。不過cube farm說的并不是程序員們像農(nóng)民,而是說他們像地里的莊稼或者果樹,產(chǎn)出成果,等待收割。畢竟,歐美發(fā)達(dá)國家的農(nóng)民生活往往比程序員更好。高收入,農(nóng)機(jī)勞作,大片的私有土地,寧靜的田園生活。農(nóng)民的生活在那里,如果不是令人向往,至少也并無貶義。
補(bǔ)充:本版同文所說的code monkey在英語中的語用,與「碼農(nóng)」在中文里的用法并不一樣。
code monkey是指以計(jì)算機(jī)程序員或者那些以編碼為生的人。這個(gè)術(shù)語可能包含輕微的貶義,這意味著開發(fā)者可能編寫代碼,但不能執(zhí)行復(fù)雜點(diǎn)的任務(wù),比如:構(gòu)建軟件結(jié)構(gòu)、分析和設(shè)計(jì),一般指初級(jí)程序員。
如果一名code monkey正在努力增加知識(shí)和提升職業(yè)技能,那么會(huì)有另一個(gè)等級(jí)名詞賦予他。
其實(shí)code monkey這個(gè)術(shù)語在層次劃分上還是有點(diǎn)困難的,因?yàn)橄衲切┱嬲炀毜拈_發(fā)人員或程序員他們?nèi)匀辉谧鼍幋a工作。或許像這樣劃分會(huì)好一點(diǎn):
- coder:編碼員
- programmer:程序員
- software engineer:軟件工程師
- software analyst:軟件分析師
- software architect:軟件架構(gòu)師
或許還可以在前面加“初級(jí)”、“中級(jí)”、“高級(jí)”這幾個(gè)前綴。這些都反映了一定的等級(jí)、技能水平和薪資。
請注意:它只能在小范圍確定的某種層次結(jié)構(gòu),例如在一個(gè)公司、甚至一個(gè)部門。一個(gè)在A公司工作的“程序員”可能比B公司的中級(jí)架構(gòu)師所要求的技能更多。
下面是關(guān)注前端技術(shù)的鄧陳華同學(xué)的回答:
首先, 問題的題目”為什么中國的程序員總被稱為碼農(nóng)?“是有一定的可辯論性的,因?yàn)槲宜私獾氖聦?shí)是,大多時(shí)候是“中國的程序員自稱為碼農(nóng)”,很少有不同行的人稱呼程序員為“碼農(nóng)”。當(dāng)然,可能和我所處環(huán)境有關(guān)系。認(rèn)可濤吳所說的“自稱碼農(nóng)的程序員并不見得能容忍其他人這樣稱呼自己”,因?yàn)檫@就像他所舉的例子,黑人允許自稱,但不允許白人稱呼,同樣的詞在熟人說來是親切、是自嘲、甚至可以是自諷,但在外人說來,那不僅是不尊重,還有可能是侮辱。
其次,身處互聯(lián)網(wǎng)行業(yè),程序員工作辛苦,加班再正常不過,項(xiàng)目進(jìn)度、突發(fā)情況、公司文化都可能成為加班的理由,雖然收入不一定差,但夠苦逼。另外一方面, 程序員魚龍混雜,水平參差不齊,而互聯(lián)網(wǎng)向來是一個(gè)強(qiáng)調(diào)能力的開放行業(yè),有多少能力就拿多少工資,這樣注定有相當(dāng)大一部分因?yàn)樗讲粔颍瑢?dǎo)致收入問題成為“碼農(nóng)”的心病。
而“ 工作辛苦”、“收入低”和農(nóng)民有類似,所以無論自嘲或者是被別人冠以“碼農(nóng)”的稱謂,辛苦、收入低這兩個(gè)標(biāo)志包含其一的可能性非常大。如果兩者兼有,那就是純種‘碼農(nóng)’一枚,夠苦逼。
當(dāng)然,還有第三種情況就是像趙劼姐夫這樣,“彈鋼琴的碼農(nóng)”,已經(jīng)做“碼農(nóng)”做到一種境界,并不一定強(qiáng)調(diào)其辛苦、更不會(huì)收入差,以“碼農(nóng)”調(diào)侃的口吻戲謔人生,這個(gè)心態(tài)和大家自稱屌絲是一樣的,更多的自嘲自諷。其實(shí),這樣收入高而且相對不這么辛苦的精英“碼農(nóng)”在行業(yè)內(nèi)也不少。
下面是在讀研究生吳洲提供的,來自圖靈中文社區(qū)電子雜志《碼農(nóng)》第一期的首卷語:《所謂碼農(nóng)》一文的解釋:
對于“碼農(nóng)”這個(gè)稱呼,有些人喜愛有加,有些人不以為然。區(qū)別在于對待“農(nóng)”這個(gè)字的感覺。農(nóng)當(dāng)然是指農(nóng)民,這個(gè)詞寓義很豐富,既可以說它偉大,也可以說它渺小。說它偉大,是因?yàn)槲覀兊纳骐x不開農(nóng)民,而且中國一直是個(gè)農(nóng)業(yè)為本的國家,曾經(jīng)說是百分之八十的人是農(nóng)民,這意味著往前翻?兩代,你我眾人皆是農(nóng)民出身。以此觀之,農(nóng)可謂大哉。說它渺小,則是因?yàn)榇蠹业挠^念里,農(nóng)民意味著有很多缺點(diǎn),冠冕堂皇的說法是劣根性,比如目光短淺、思維陳舊、自私小氣等等,總之是為我們受過教育的人群所看不慣的種種毛病——這些毛病雖然我們自己也有,但是我們看不見——于是乎“農(nóng)民”成為了罵人時(shí)常用的字眼。
其實(shí),把自己的編程生涯與田間地頭的鋤禾日當(dāng)午對應(yīng)起來,確是有那么些相似之處的。你能想象得到,田間整齊栽種的秧苗,與屏幕上顯示的錯(cuò)落有致的代碼行有幾分神似。各種莊稼的種植是有講究的,正如你要注意編程風(fēng)格。施肥灌溉,猶如你對代碼進(jìn)行的編譯鏈接。除草除蟲,自然是在做著debug 。你挑水來我澆園,大概是在小菜園中進(jìn)行的結(jié)對編程。因?yàn)榭刻斐燥垼r(nóng)民們也要學(xué)點(diǎn)云計(jì)算,去五道口職業(yè)技術(shù)學(xué)校進(jìn)修的人也多起來了。收割的季節(jié),活多人少,也常常是要搞外包的,因?yàn)閐eadline 很重要。不過坦率地說,“碼農(nóng)”這個(gè)叫法讓人體會(huì)更多的是滑稽、搞怪、無厘頭。畢竟一個(gè)是簡單的體力勞動(dòng),一個(gè)是高智商的腦力勞動(dòng),不可同日而語。而程序員卻偏愛這樣的時(shí)空錯(cuò)亂的感覺,自嘲
(我就是個(gè)農(nóng)民!)的同時(shí)卻又自命不凡(我是碼農(nóng)我怕誰?!),特立獨(dú)行極了。
碼農(nóng)的草帽底下,是一顆充滿創(chuàng)造力的自由不羈的頭腦。他們遵從最佳實(shí)踐而痛恨陳規(guī)教條,他們欣賞天才而不迷信權(quán)威,他們喜歡思考而不輕易茍同。他們是技術(shù)人,卻追求人文理想;他們敢于吶喊,說出自己的觀點(diǎn)和主張,也更善于腳踏實(shí)地,用自己的點(diǎn)滴工作去改變現(xiàn)狀。碼農(nóng)們是勤奮的,加班加點(diǎn)的工作是常有的事情,城市夜間的燈火,有多少是在碼農(nóng)們的辦公室和居所點(diǎn)燃?周末四處舉辦的技術(shù)交流和講座,又活躍著多少碼農(nóng)的身影?線下讀書,線上討論,冥思苦想,動(dòng)手實(shí)踐,新技術(shù)驅(qū)動(dòng)著碼農(nóng)們的腳步,碼農(nóng)們在改變著我們的生活。生存離不開農(nóng)民,生活離不開碼農(nóng)。
各位“碼農(nóng)”,你們是如何看待這個(gè)稱呼的呢?對于上面幾位大牛的觀點(diǎn),你們有啥想說的?不妨和我們分享一下吧!