程序員的優越感從何而來?

如題。經常發現程序員嘲笑別人不懂自己的工作,比如著名的「只差一個寫代碼的就好了」的創業故事等等。但是這在專業分工的社會,這不是很正常么?比如那些學物理、生物、哲學的,他們懂的其實碼農也不懂啊,但是似乎只有程序員特別愛吐槽,而且有時候已經超過了單純調侃的範疇,變成了嘲弄其他人。


『只差一個寫代碼的就好了』 笑話不是程序員講的,而是投資人講的。講的是沒有科技背景的創始人進入科技領域創業,卻對自己所需研發資源做出錯誤得離譜的估計,證明創始人根本不懂科技產業的基本規律。

這裡說的也不是創始團隊裡面沒有程序員,而是創始團隊根本不理解自己需要什麼樣的人。如果他拿招『寫代碼的』的標準去招人,而實際做這類產品卻需要一個高級架構師或者是行業專家,那麼項目必然會失敗,投資人是不會給預期這麼低的團隊投錢的。我認識的兩個創業團隊都是先拿到融資再招到 CTO 的,投資人也願意給錢。因為他們從來不會說出『只差一個寫代碼就好了』的話,而是針對自己的產品特性去找特定背景的工程師。

所以,這個笑話和程序員無關,也和優越感無關。它的意義和『刻舟求劍』、『南轅北轍』這些成語差不多。

類似笑話還有很多,不限於互聯網領域:

『我們要打造出一款超越 iPhone 的手機,現在團隊里還差設計師』

『我們要搞出抗艾滋病的藥物造福人類,但是現在差個懂生物的』

『我們要做國內最頂尖的中文媒體,現在還差個編輯』

『我們要幹掉順豐,現在還差一個送快遞的』


舉幾個類似的例子,就能明白了:
「我要開一家世界級的銀行,現在就差錢了。」
「我要當選總統,現在就差全國人民給我投票了。」
「我要打造一支稱霸全球的軍隊,現在就差車船炮艦了。」

這樣的例子有很多,其荒謬之處一看便知:把事情成功的關鍵要素當成了最次要的要素
但是,為什麼在「我有一個好的Idea,也有人願意投資,就差一個寫代碼的了」之中,荒謬卻不那麼容易看出來呢?因為IT領域是一個對於很多人來說全新的領域,大部分從傳統行業轉戰IT和互聯網的人對這個行業的關鍵要素——寫代碼的人——存在習慣性誤判

因為在傳統行業當中,成功的核心要素往往不是員工。員工不是稀缺資源,在當前的傳統行業就業惡劣大環境下,招員工是非常容易的事情,而且員工的替代性很強。傳統行業中,成功的關鍵要素是資金(開銀行的錢),政策門檻(總統的選票),生產資料(軍隊的武器裝備)等。所以從傳統行業過來的成功人士,都以為IT和互聯網行業的成功要素仍然是這些。

但是,事實恰好相反
在IT和互聯網行業,最不缺的就是資金。先不去看BAT每年在各種項目上瘋狂的砸錢,光是我們學校隨便幾個本科生搞個莫名其妙的項目,口才稍微好一點,就能忽悠幾個投資人砸個幾十上百萬。
在IT和互聯網行業,最不怕的就是政策。這個行業本來就沒有什麼成形的政策法規,對於互聯網中層出不窮的新商業模式,政策根本就來不及制訂。互聯網行業往往是政策的顛覆者,所以在創業項目發展到非常大的規模之前,根本不會有政策來管制(參考滴滴打車、餘額寶、電視盒子等案例)。
在IT和互聯網行業,最不愁的就是生產資料。不就幾台伺服器么。。。。

但是,這個行業中,成功的關鍵要素就是技術和設計。而技術和設計不是花錢換來的,而是程序員和設計師——也就是所謂的「寫代碼的」和「做美工的」——積累出來的。本來互聯網行業就是一個知識密集型行業,人大腦中的知識才是關鍵要素。這就決定了作為關鍵要素的「寫代碼的人」會有優越感。

這只是應證了最經典的經濟原理罷了。

-------------------------------------------------------我只是一條安靜的分割線-------------------------------------------------

有評論指出,「寫代碼的人非常多,不會構成稀缺資源」。針對這個問題在補充一下:
A:「我要開一家世界級的銀行,現在就差錢了。」 B:「好,我投資10塊錢。」
A:「我要當選總統,現在就差全國人民給我投票了。」 B:「好,我全家加姥姥、姥爺、舅舅、姑姑、嬸嬸.......投你10張票。」
A:「我要打造一支稱霸全球的軍隊,現在就差武器了。」 B:「好,我家裡有把BB彈手槍,兒子不要了的。」
最後當然是:
A:「我有一個非常牛逼的Idea,現在就差一個寫代碼的了。」 B:「好,我這就去藍翔幫你招一個。」
所以我的回答是:你當然可以輕輕鬆鬆招到一個沒有優越感的程序員,但這樣的程序員你敢要麼?
擁有關鍵知識的程序員,都是有優越感的,因為這是別人不具備的。從藍翔招100個寫代碼的人,比不上一個有優越感的人。


程序員應該有優越感。

很多人都忽略了,其實IT互聯網行業,本來就是程序員的行業,什麼產品經理啊,用戶分析師啊,設計師啊,交互啊統統是跟著程序員蹭飯吃的。沒有設計師,程序員也能自己做,沒有產品經理,程序員自己來也沒關係,只不過效率降低,產品不那麼完美罷了(事實上在IT行業早期,這些附屬職業的工作全都是程序員來完成的)。但是你想想,如果沒有程序員,我們其他這些蹭飯的人還混個毛IT啊。就像醫院一樣,那就是醫生的地盤,什麼護士啊,後勤啊,院領導啊,藥房人員啊,都是附屬職業,但是沒有大夫的話,醫療行業就不復存在了。

如果你能想到這些,就不會覺得程序員的優越感是無中生有的了。你看那些大夫在醫院裡啥時候不是牛哄哄的啊。你試試開個醫院,說一句「我們就差幾個給人看病的了」。


(PS:有評論說那是不是建築行業最優越的是搬磚工人,糧食產業最優越的是農民?這裡要注意,搬磚工和普通農民儘管也是行業中不可或缺的職業,但都是低技術要求的職業,很容易被替代。程序員和醫生則不然,需要長期訓練和學習,他們的工作有技術難度,很難被替代。退一萬步講,看一下IT行業不同職業同等級的薪水,也足以看到誰最有優越感啊。)

(再PS:程序員創造了IT這個行業。隨著行業發展的需求,越來越多的附屬職業被創造了出來,這是任何行業高度發展後的必然趨勢。專業化,分工化,設計師、產品經理、用戶分析、市場運營等等職業讓這個行業得以更充分地利用技術帶來的強大動力一同改變世界。但說到底,IT行業的根基是信息技術。這不是說職業有高低貴賤之分,而是說我們應該尊敬技術,感謝技術帶來的便利。)

(再再PS: 有沒有優越感,和秀不秀優越感是兩碼事。這裡只是說為什麼會有優越感。而現實中一些秀優越感的程序員給人帶來不快,那不是這個問題討論的範疇。不秀優越感的程序員是善良的程序員 :-)


利益相關:一名設計從業者。


我是學物理的,只想說一句「那是因為我們說的數學物理生物的笑話你們都看不懂所以才以為只有碼農才吐槽」。默默路過順便挺程序猿一萬次。


樓主發出一個明顯嘲諷程序員的帖子, 來問為什麼程序員愛吐槽? 你嘲諷我們, 我們不吐槽你, 難道還要給你一百塊錢? 你當我們都傻?!
當樓主能掌握百萬行代碼走向, 修復其中隱蔽的競態(Race condition)問題時, 再來嘲諷程序員好伐?
順便一說, 你見過程序員嘲諷物理學家數學家文學家沒? 事實上我認識的程序員數量不少, 很多都很謙卑, 我們嘲諷的都是那些說話不講邏輯得人...
再在順便一說, 其實我和身邊的程序員, 平日里都是自嘲, 嘲諷自己多窮, 多苦逼, 買不起房, 結不起婚, 每天加班, 公司老闆天天歐洲美洲澳洲飛, 我們天天啃盒飯... 不知道題主什麼專業的, 估計我沒嘲諷過, 但是題主卻來嘲諷我, 然後還說程序員喜歡吐槽? 不合適吧? 我們明明是最最喜歡自嘲的種族...


碼農也是你們叫的?


好的程序員的知識和思想是上萬小時的學習和編程中磨練出來的……不過似乎程序員的成就往往被低估,因為除了程序員自己,旁人(即使同為程序員)很難知道實現一個功能、修復一個bug需要多大的努力。
傑拉爾德·溫伯格在《程序開發心理學》里提到一個例子(銀年紀念版第189頁)


我認為碼農的優越感來源於創造。
編程工作並不像許多外行們想像中的那麼簡單,而寫代碼只是編程中的一部分,更多的是理解和抽象。每個軟體都源於對現實世界的抽象,這需要碼農們懂得很多,比如做最基本的進銷存管理系統就需要對進銷存的每一個步驟的邏輯弄得清清楚楚,甚至比它的使用者都要清楚得多,這樣你才能對它抽象,之後還需要對原本現實中的業務邏輯進行改進,讓使用者能在改進後的業務邏輯中受益,這就是你的創造。但進銷存只是一個很籠統的概念,事實上一個簡單的進銷存是沒有多少使用價值的,我們需要對特定的企業或者使用情況進行「量身定做」,得以更好的貼合使用環境,這樣你就需要了解整個公司相關的運作流程,並把他們抽象和優化到你的軟體中去。我並不是做進銷存方面的碼農,我舉的只是一個例子,事實上我們有可能遇上方方面面的需求,我們需要快速的理解這些需求,然後弄明白它們內在的聯繫,這並不是簡單的事情。試想,讓你用自然的母語描述一個現有軟體的功能和邏輯,你能說得清楚嗎?請不要漏掉太多細節。
優秀的碼農通常是由興趣驅動的,他們有強烈的求知慾,因為軟體來源於對現實世界的抽象,所以碼農們喜歡去了解現實世界。比如做社交網站和做圖像處理軟體要求的知識是很不一樣的,並不是說你會寫代碼就能去實現,你還需要現實世界中的知識!你甚至需要為此去閱讀專業的書籍。
以上並沒有提到技術方面的問題,對於技術,碼農們往往需要閱讀專業的英語書籍和資料,這是由於大多數書籍都是由美國人出版的,等翻譯出來常常需要一兩年的時間,這就需要碼農們有一定的英語基礎。另外,在開發比較高級的軟體中數學也是必不可少的工具,比如用貝葉斯定理來設計垃圾郵件過濾軟體,這就需要碼農們掌握一定的數學知識。
另外,有許多技術並不是現成的,比如人工智慧(例如:siri和cortana),如果你想開發出這些軟體,你只有一些基礎性的資料可以參考,此時你還需要研究精神。
一個好的碼農還需要具備匠人之心,愛上自己的作品,並堅持把它做到完美,這裡帶有一些藝術家的品質,有時候一個好的軟體作品就是一件藝術品。
事實上碼農需要的不僅僅是技術,而技術只是一種手段而已。對於不同的碼農要求有些不同,碼農這個概念實在太寬泛,兩個碼農也許做的是完全不同的東西,甚至他們之間都難以交流各自的作品。我們就像是工人,設計師,發明家和研究者的crossbreed。我們理解世界,抽象世界,產生價值,給人類方便;我們加速了這個世界的發展,減少了重複的勞動,甚至在不遠的將來用機器代替所有的體力勞動,解放所有人的雙手,在那時你也許會找不到工作,但你並不用為生活而發愁,因為機器會為我們生產足夠的物質財富,那時也許就是馬克思所說的共產主義社會吧。這是一次突破性的技術革命,而碼農們就是這次革命的主角,難道不能有些優越感嗎?即使是現在,如果沒有了碼農,世界會變成什麼樣?試想一下用圖紙繪製汽車然後手工打造,試想一下銀行用手工記賬...或者可以直接試想一下上世紀的五十年代。物理學家們給了機器軀體,碼農們給了機器靈魂。
碼農們可以優越,並且應該優越。


你提問的地方是誰做出來的?


我真心搞不懂。。。

我來告訴你真相,我們程序員,還真不是誰能做就說做的,你要保持旺盛的精力,敏捷的思維,不斷地學習。

還有碼農這個詞,你真心以為我們程序員自己叫自己碼農?呵呵你一臉,我們程序員自己在網上黑自己的時候,以為絕大多數人和我們一樣有智商,能看懂我們在緊張的壓力工作之下一種自娛自樂的精神,以及互相排解壓力互相調侃的一種狀態。沒想到你們還真當真了。整天碼農碼農,我們不愛理你就完了唄,非要自己過來找打臉?


不是很贊同這樓里大部分的答案,儘管程序員在現在的科技社會裡的確是非常重要的職業。
我念本科的那會兒也有一樣的想法,覺得程序員多麼厲害啊,那是搞技術的,比我們這種商科生高到不知道哪裡去了,甚至還因為自己的專業有了自卑感。
但現在才發現不是這麼回事。任何一個腦力勞動/技術集中的職業:科學、工程、醫學、法律、財經甚至包括高級技工,他們都有自己的技術路徑和專業要求。在以上任何一個行業里想要做好,都需要長期的積累和熱忱,也需要大量的時間投入,所以沒有必要特別高看某一個行業。
如果一定說要高看的話,我個人會特別尊敬做學術的和在國內做醫生的,因為他們的收入並沒有很好的補償他們的付出,能堅持下去很了不起。而程序員以及金融從業者的薪資水平對於其付出來說已經是比較高的了。
所以我認為,職業成就感可以有,而且也應該去追求,但特別的「優越感」其實無甚必要,任何行業都一樣。
最後回答題主的問題,主要是因為知乎的程序員群體比較多,有一定sample bias,而程序員大多也比較聰明,如果被惡意嘲諷的話也願意編個段子啥的反擊一下。這都不是什麼大事兒,看過笑過就好,就當圖一樂唄,別當真,大家都是普通工作~


不知道程序猿們怎麼想的,
但是作為一隻程序媛,當我看到新女性標準:

上得了廳堂,下得了廚房,
寫得了代碼,查得出異常,
殺得了木馬,翻得了圍牆,
開得起好車,買得起新房,
斗得過二奶,打得過流氓。

不禁覺得中間的幾句就是給女碼農寫的啊。

在別的妹子撒嬌發嗲地找男生修電腦時,
我在豪情萬丈跟我的男同學們一起寫代碼打dota。
凌霄花vs木棉有木有
(難怪我嫁不出去。。。。)
=======================================
其實我覺得這個問題主要出在
1.程序員太多了
2.程序員很喜歡上網
3.輿論導向讓程序員成了理工科geek木訥沒妹子的代表職業,滿滿的槽點,程序員們也就順坡自黑了。
4.雖然程序員們過得糙了點。但是畢竟工資水平還是高的(而且美國大家紛紛往cs轉也是因為計算機公司職位多待遇好),而且門檻低。所以這個職業現在很火。
5.有次聽到一個心理學節目,說好多阿斯伯格綜合症的人都去當程序員了,而且做的很好。(阿斯伯格綜合症類似自閉症,但是更接近常人的一種症)所以很多程序員其實並不太懂如何圓滑而友善地與人相處。
6.最重要的是。。。這個職業只要討好代碼就好了,不需要討好人。所以我們就狂就拽怎麼滴了!!!
========================================
話說樓主舉的那個例子「只差一個程序員了」
之所以被全體程序員轉發,是因為它穩准狠地對著我們的膝蓋射了一箭,戳到我們的自黑點了啊


我們看看哪些人經常被認為「有優越感」:

  • 上帝,因為他造人類和世界
  • 作家,因為他虛擬一個世界,創造新的世界
  • 發明家,因為他們發現新的東西、組合已有東西創造新東西
  • 科學家,因為他們發現世界,他們的發現可以更好的解釋世界
  • 政府組織及其中的成員,因為他們管理世界
  • 企業家,因為他們讓這個世界上的資源得到更好的分配和利用
  • ……

程序員的角色與上帝、作家、發明家類似,新的世界是經由他們創造出來的,所以,優越感是必須滴。


寫代碼本來不是自己特別懂的領域 但是身邊寫代碼的朋友挺多 加上我本身畢業於某盛產程序員的大學 耳濡目染之下有些自己的體會
首先 我們需要理解的是程序員和普通人沒區別 所以明顯的神馬特性的人都有 而且往往容易相處的程度也是呈正態分布的
其次 我認為題主的困惑是一種統計學陷阱 這樣說吧 喜歡在網上各種逛各種大放厥詞充分體現優越感的的往往在行業里就和我一樣估計是個年輕的半吊子 然後偶爾出言不遜神馬的也可以理解了
第三 實際上絕大多數程序員都很低調 而且本身工作辛苦 很少在網上和人有交集 我認為題主對程序員的認識太片面了 很多有意義的工作都是程序員完成的 他們當然也不會出來顯擺或者秀優越 但是顯然程序員這個群體中不乏做點娛樂大眾的東西然後整天自高自大的 當然 這僅僅是少數(這一條是基於我的基本感受了 沒有調查過具體數據 真實性有待考證)
第四 大多數程序員挺忙的 工作多了就要發泄 關鍵是你指望他們出門去發泄嗎?關鍵是就算想也沒時間啊 所以他們就只能上網吐槽了 所以我建議程序員們多運動
第五 我認為少部分程序員的優越感是對於現實的不滿 簡單的說 一個人拿著高薪 有一定的知識在現實生活中實際上可以炫耀的地方很少 這不是錦衣夜行嗎?所以他們就變成了「少數不友好的程序員」 當然了 我認為任何一個心智成熟的人應該都不會這麼幹了
其實原因還挺多的 我覺得優越感這東西說白了體現了一個人內心的虛弱和膽怯 所以看到有優越感的人同情下就好了 題主有點偏激了 我認為你討厭的是優越感而不是程序員的優越感。。

綜述一下 其實任何一個行業在發展的過程中都會出現這種情況 這是因為行業膨脹太快 吸納進的人素質高低參差不齊 再加上本身需求大行業薪水明顯高 社會地位驟然提升少部分本身心智不夠成熟的人就跳出來了造成的 舉個栗子吧 當年電氣時代電報員還優越感十足 結果後來發展成熟電報員數量過剩 那些還保留著優越感的電報員被戲稱為「電信騎士」
所以 我認為關鍵是互相理解和尊重

順便說一句 我很能理解部分那少部分程序員的處境和不滿 但是並不代表我能夠容忍一些莫名其妙的攻擊 比如說題主的問題的某條評論中「金融二道販」這種說法 或者某些程序員喜歡把金融行業當靶子冷嘲熱諷 我就呵呵了 你以為金融不寫代碼嗎?那那些統計軟體自己就能跑起來?套利模型都是天然出現的?對於這種人 我想套用樓上某位答主的回答「既然看不起搞金融的那就別花錢啊」

14.8.8添加
本來都沒怎麼看這個話題了 結果今天點進來一看徹底被排名第一的答案嚇尿了 這麼不友好的答案被頂的如此高簡直喪心病狂 我倒不是覺得這態度讓我有多反感 我只是看到居然有這麼多人認同感到微微的寒意
我本人算半個工科生 可惜學的金融工程學這種奇葩學科 我不知道知乎上有多少人聽過產業結構這個說法 任何產業 不管是產業間還是產業內部 產業結構可以說是制約產業發展的上限 我之前的回答可能沒說太清楚 我的實際上呼籲的是「相互理解」這個意思
我不知道多少程序員對其他行業有真正客觀的了解和認識 但是我認為如果程序員能夠多了解點其他行業的東西做出來的產品肯定酷炫好多倍 一個設計工廠的工程師懂了材料不是更牛逼嗎?同理一個技術優秀的程序員如果了解其他行業不是能做的更好嗎?
唉 感覺人和人的互相理解好睏難啊


就優越咋地了,你來咬我呀~?

————————————————————————————————————————
哎呀太叼遭人嫌了。因為大家都沒有看問題日誌的習慣,我就把問題日誌截圖放上來吧:


好多人都說得很好了,我也沒什麼資格給大家補充。只是針對下面這一句話稍微談一談。

比如那些學物理、生物、哲學的,他們懂的其實碼農也不懂啊

且不論「碼農」這個具有輕蔑性稱謂的事兒,單說那些學物理、生物、哲學的人懂的,程序員懂不懂的問題。
這個,你可能真的錯了。程序員是個大人群,其實我們真的有很多人懂物理、生物、哲學……順便幫你補上化學、生態學、經濟學……
相對論曾經是我們飯桌上的談資,就跟那些大老闆們喝酒時侃女人一樣,只是我們討論地更High一些。
物種起源和進化論,我們聊天時,甚至討論軟體升級和演算法時,都會提及。
君不見計算機演算法中那些神經網路演算法、銀行家演算法?它們都是來源於計算機之外的世界……
所以,我們其實懂。

另外,好的程序員,不是了解如何寫程序,而是知道如何把現實問題轉換成程序來更好地解決。
那麼這些現實問題是什麼?程序員不懂,怎麼用程序解決?

所以……我們比那些學物理、生物、哲學的人更有優越感,因為我們很多人是從他們進化、升級而來的。

ps. 我的大學專業是精細化工。


一篇沒有乾貨的回答,這麼多贊,好像有點騙贊的意思?
本來隨手一答,因為馬上放假了所以比較閑,澄清幾點。
1.最主要的一點,題主問題好好問,我就好好答。對於這個問題,問題描述里的「碼農」、「程序員為什麼這麼屌炸天」等言論,以及字裡行間透出的題主對於程序員的主觀意識,讓我不想好好回答這個問題。本來我們還是蠻低調的,既然你說我們屌炸天,那我不屌炸天一點,好像有點吃虧誒。

2.說我確實在秀優越感的,我的回答如下圖

且不說文中大多是調侃的語氣(難道有人真的認為我會去日題主?),最容易讓人覺得我在秀優越感的關於物理化學生物相關知識的那一段,已經有人在評論區指出我以為的一知半解就是不懂就,我也承認了。而之所以說這個的原因是,我想說明程序員並不只是會對著電腦敲代碼而已,而是對於其他方面有一定的欣賞和認知能力,而不至於成為對牛彈琴中的牛,要完全說懂的話,我們要是完全懂什麼量子物理學的話,那還在這裡敲代碼幹嘛 做物理學家多牛逼,那才叫優越!

3.在我看來,優越感是對於自身存在價值的肯定,與他人無關,秀優越感的才是才是人品問題,真愛生活,遠離傻逼,從你我做起。

以下為原答案
----------------------------------------------------------------------------------------------------
14年的問題,現在才刷到,真是莫名惶恐。然而作為題主口中的「碼農」,我覺得有必要來答一波。

如問題描述,有幾點需要反駁一下
1.為什麼有優越感
先問一句,為什麼不能有優越感。別人說的我都懂,我說的別人不一定懂,為什麼不能有優越感。(這裡就不舉例說明什麼專業知識了,計算機行業分支太多,每個分支都不同,PS:還不是因為我太菜。/捂臉)
請題主先證明搞物理化學生物等科學研究從業者沒有優越感。

2.題主還真理解錯了我們工程師(碼農也是你能叫的?叫我們工程師!),物理化學生物我們還真的不是完全不懂,我們最近在做一個項目,客戶那邊經常改需求,我們這邊才做好,結果客戶又改了需求,又要改,然後我們自己開玩笑講這是阿基里斯悖論(不懂的自行百度),並且關於微積分,傅立葉變換,量子物理學,天體力學,相對論等,雖然知識淺薄,至少看也能看個一知半解,還會覺得蠻有意思的,化學生物也差不多,我本科學了一年化學,後來轉專業學了計算機,據我所知也有很多是別的專業後來轉行做計算機的,所以我們還真的不是什麼都不懂。當然,對於以上提到的人員,我們會持有應有的尊重和欽佩之情。

3.我也很討厭那種秀優越感的人,但是,請題主分清楚,有優越感不等於會秀優越感!優越感某種程度上來源於工作中的成果和自己在工作中處於的位置的重要性,而秀優越感,是為了滿足自己心理上的一定程度的虛榮心,有優越感是客觀存在意義的心裡體現,秀優越感則一定程度上涉及到個人性格及品行,兩者存在本質上的區別。

4.請題主在言語的措辭上謹慎一些,至少「碼農」這個詞用的就不太好。我們程序員平時自嘲是碼農,搬磚的,然而我們的工作職位上明明確確寫的是XX工程師,再不濟,至少也是稱呼我們編程人員,我表示不懂題主的這個「碼農」的意思何在。雖然我們程序員有優越感,但是我們不會管人家司機師傅叫開車的。/微笑

說個題外話,作為一名女程序員,我還真就蠻有優越感的,為什麼?因為我們是稀有物種啊,同樣有顏有身材,你來敲個代碼我看看。還不用考慮太多的職場規則,小心翼翼的跟領導同事打交道,也不會有工作職責之外的處理不完的郵件和文件,只管敲代碼就好,你說我為什麼有優越感/攤手

職業無高低貴賤,我們有優越感,但我們同樣尊重其他行業的從業人員,反而是題主,貌似挺看不起我們程序員啊。


哪有什麼優越感啊,天天被各種高富帥鄙視,牛逼的房地產老闆啊、牛逼的律師啊、牛逼的醫生啊、牛逼的廚師啊、連牛逼的計程車司機都賺得比我多,優越個屁啊。


這只是鄙視圖罷了,結構很複雜的,不要試圖把一大堆節點優化成一個程序員節點。


為什麼你會喜歡上程序員這個工作呢?

在鍵盤上輸入cout&<&<"Hello world! "&<&< endl;
甚至更簡單的PRINT」Hello world!「

按下鍵編譯。須臾,漆黑的屏幕上,或者白色的結果輸出區里就會跳出來一行」Hello world!「
在這一瞬間,按下按鍵的人就如同成了那台計算機里的上帝。

甚至再往後,可以拖動滑鼠繪製對話框,做出來像模像樣的程序界面。或者向MCU里燒寫代碼,讓一個機器小車按自己的意願運動起來。是的,就像人月神話里說的那樣,編程能讓人很容易的看到可以對世界多多少少做出具體改變的結果。有的時候這種改變在不久以前還如同魔法一樣。這種改變讓人著魔。

然後,也許那個人就希望以後做一個程序員了。

我的大舅過去在軍隊里是一個程序員。我上初中的時候,他發現我開始學習basic,就在來我家串門時把我拉過來,不容分說的強行教我線性代數等等一大堆完全不是我那個時候應該學的東西。並且他告訴我,這些東西以後寫程序都用得上。可是那時候我對這些東西並不感興趣,自己只想知道如何在屏幕上畫一個坦克,然後畫更多,好讓他們互相打起來。以及如何讓電腦播放一段音樂。可是他說這些都不重要,都不重要。

他在70-80年代于軍隊中的某個單位里負責用計算機破譯密碼。那個時候他們使用的所謂超級計算機運算速度還不如現在的手機快,但面對的密碼,卻比現在民間常見的密碼可怕得多。

但做這些事的時候他們能看到什麼呢?只有鋪得滿桌子的密文、手寫的矩陣、真值表,以及放在軍裝口袋裡的機器指令表。是的,機器指令。對他們來說,彙編和高級語言那些可能的5%甚至1%的效率下降是絕對不能容忍的。他們早就做到了比編譯器更了解計算機的程度了(說到這個,幾年前曾經和他提過腳本語言這玩意。他聽了以後大為詫異,甚至認為這種東西根本沒有存在的理由)。他們也不需要上機輸入代碼--有錄入員干這件事。也不太有機會看到穿孔紙帶,甚至那台為他們工作的計算機。debug這件事,除了偶爾在小型機上跑一些測試以外,基本上都是在紙面上和頭腦里進行。

而運行的結果,大多也是在紙上罷了。

由於破譯的實效性和單次運行時間之長,他們的很多程序必須要在事實上不允許出錯的情況下上機。並且,留給他們的開發時間短得可怕,因為情報分析和軍事部署需要的時間更緊張。程序員們當然知道沒有bug的程序是不可能的--更何況工作時間少得完全不近人情。但是那些軍隊里的領導們不懂也不會考慮這個。需求就是如此,必須搞定,這是軍令。

如果是現在的程序員,看到這樣的工作,大約會瘋掉吧。

可他們從來沒抱怨過。

而他們,也幾乎是那個時代最優秀的程序員群體之一了。而放到現在,大約可以輕鬆秒殺掉幾乎全部的從業者。

事實上那時候他們的惡趣味之一就是調戲新來的人。尤其是恢復高考之後的那幾批新的畢業生。曾聽說過他們那裡新來一個THU的學生,心中高傲得不行。自以為天之驕子,完全看不起他們那幫工農兵大學生和只發中專學歷的速成班培訓生。於是有人在某次開會時當眾把那學生的代碼刪得只剩了1/4,但性能提高很多。據說那個學生當天回宿舍哭了一晚。

曾經覺得這樣的故事有吹牛的成分在裡面,直到有一次他把我寫的一個求質數的代碼刪到體無完膚之後仍然能正常輸出結果。那時候我是一個985高校計算機專業的畢業生,他則是臨近退休,並且已有10年沒寫過代碼。另外那次我的代碼是用C寫的,而他在那之前從沒用過C,我花了點時間和他講了下C的語法規則。就這樣。

那時候他們作為項目里塔尖上的人,每個人手底下都有很多助手。有的人甚至助手多達上百人。那些人的工作大約就是幫著解一些式子、畫真值表、寫一些小的模塊或者IO組件,以及和機房做協調等等。那些人每天會做些什麼呢?除了工作以外,大約就是抱怨抱怨領導不近人情的要求、天寒地凍還鳥不拉屎的地方(他們工作的基地在完全無人煙的山裡)、什麼時候能去籃球場打球、以及熬多久才能混到一次探親假。大約就是這樣了。這些人大多是速成班的培訓生,如此的來了這個單位,然後又如此的轉業或者複員離去。有些不那麼喜歡這麼抱怨的,或許會有一天升到上面,成為新一代人嘴裡抱怨的對象。

說白了,那些人很苦,那些人很累。但是,那些人的工作誰都能做。

今年曾經和大舅的一個戰友有過交談,他和大舅不同,轉業之後仍然在行業內工作,如今是各種項目的評審專家。他和我抱怨說,現在的程序員們浮躁得不行,本事沒有多少,就會說一句:不行。他還說當年大學裡培養出來的計算機人才雖然稀少,但是個個都是精英。而現在的大學呢,只會量產寫程序的農民工。我聽了苦笑:我們叫碼農。他聽了一笑:對,碼農。

所以那些靠諷刺、編段子來獲得優越感的程序員,大多是那些水平不高的傢伙。他們只能依靠這些抖機靈的方法來掩飾現實的殘酷和自己的無力。可是不管你如何諷刺,現實始終就是這麼殘酷,而自己依然是這麼無力。

而真正優秀的程序員們,他們的優越感是來自他們所做出來的成果,來自他們設計的演算法,來自他們寫的代碼,以及靠這些東西贏得的不可思議的挑戰。哪怕是面對著可笑到無理的要求,他們也只會拉著參與項目的成員到會議室里坐下,然後說:讓我們討論下解決方案。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PS:大舅那個時代的程序員們不僅是技術做得夠好,項目的組織能力更是一流的。而且,他們還大多是情商比較差的人,所以依靠的都是嚴密的邏輯思維和軍人強大的紀律性。我很不喜歡後者,也一直嘗試遠離。但不得不說,他們那個時代的人真的是可以做出相當厲害的東西。


作為程序猿,你不懂我工作內容,我絕不會嘲笑你。知之為知之,不知為不知,誰笑誰傻逼。


但是你不懂裝懂,我必然調侃你。


你不懂裝懂,還說不懂的是我,那我只有打你臉。

其實我說這些,在哪一行都一樣,參考Y開頭的某大V被各種專業人士打臉的回答。


推薦閱讀:

IT 工程師被叫「碼農」時是否會不舒服?
如果男性程序員為降低bug 率可穿女裝,那女性程序員應穿什麼?
為什麼程序員無論到哪兒都喜歡背電腦包,哪怕裡面沒有裝電腦?
目前中國頂級優秀的程序員都有誰?
你們都是怎麼學Python 的?

TAG:程序員 | 計算機科學 | 思維方式 |