揭開程式設計師裝 13 行為的面具

geekpark發表於2013-11-30

  程式設計師一直都是很善良的IT工種,勤勤懇懇不辭辛苦的工作,不過今天的文章不是為了宣揚程式設計師的偉大。儘管在網際網路的發展中,他們貢獻了無數的程式碼,用自己的技術推進了網際網路的程式。我們還是要扒一下程式設計師的裝 13 行為,可能會有很多程式設計師看了本文會十分的憤慨。

 程式設計師你還說沒有裝 13

  寫程式碼離不開各種程式設計工具,有眾多工具供選擇便有花樣的喜好,對裝 13 的程式設計師來說,是堅決要抵制 IDE 的,IDE 臃腫緩慢,一定是要用 vim 加編譯器的組合。vim 和 emacs 就代表高階,用 IDE 就是 low 。我不否認很多大牛使用 vim,但也有不少寫不出好的程式還要用 vim 裝的,很多明明用起來很吃力,操作不熟練,好像非要用 vim 才能寫出優秀程式碼一樣。

  用 vim 配合各種快捷鍵、擴充套件覺得順手,加上 vimer 本身優越感,其他的編輯器一如 emacsnotepad++ 之流就是渣,深愛一種編輯器便唾棄其他的,即便是口上不說,在黑客馬拉松上看到別人在用什麼 UltraEdit 寫程式碼,內心也會鄙夷一番,頓生自己很牛 X 的幻覺。

  還有自認為 Mac 寫出來的程式碼比 Windows 寫出來的優秀,去咖啡館看一看,拿 Mac 的就兩種人,不疼不癢的文藝小青年和自以為是賈伯斯的碼農。

  聽說寫程式碼很牛的工程師都用Happy Hacking Keyboard,在好不容易掙了點錢之後,狠下心花了 2k 多買了個HHKB鍵盤,還必須得是無刻字版。看著清一色沒有任何字母的鍵盤,一想到也用上了這麼高階的鍵盤,好像技術能力也飆升了一樣。技能不怎麼樣,裝備是不能落下的。

  滑鼠的發明讓使用者使用電腦的門檻降低了很多,圖形化的介面加上自由移動的滑鼠點選方便了操作。在程式設計師眼裡並不是這樣的,滑鼠對他們來說就是累贅,它是效率的殺手。一定要用各種指令,所有的操作都在鍵盤上狂敲,這樣才能體現出技術水準。

  對於某些崇尚開源文化的程式設計師來說,只有開源的軟體才能讓他們興奮,不開源的軟體都是受到異樣的眼神看待。甚至在他們眼中,是不能理解為什麼會有人寫出這麼爛的 Windows 。他們恨不得所有的軟體都是開源的,這樣就可以更多的複製那些優秀的程式碼,而那些自己寫的程式則是不希望讓外人看到原始碼,大多是因為自己程式碼寫的太爛。

  不加班的程式設計師不是好程式設計師,他們經常以自己在深夜程式設計為榮,甚至宣稱在深夜開發才有靈感。最好還要在半夜發條狀態:每天看著星光回家感受特別充實之類的。實際上的原因很簡單:碌碌無為的白天引發的愧疚心。

  某些自身的需求,比如在豆瓣租房小組裡找房,一般人瀏覽一下小組內容,就可以獲得自己需要的資訊。程式設計師們一定要用高大上的方法,要寫個指令碼,抓一下資料,然後再根據自己的需求關鍵字檢索一下,否則不足以凸顯程式設計師的獨特技能。

  對於產品的升級,增加新的功能,程式設計師們會以工程難度大、很難實現為理由,牴觸做一些改進,如優化之類的。已經做好的工作不想改動,那麼背後真實的原因是什麼呢?往往是之前寫的程式碼太爛了,不願意回首再讀,設計之初沒有考慮擴充套件性。他們甚至寧願重新寫,也不願再改動程式碼。

  在一些上司不太懂技術的公司裡,一個專案分配下來之後,程式設計師會用各種專業的技術語言來跟上司溝通,用上司聽不懂的重構、迭代等術語來“阻止”這個專案,實際上不就是為了給自己多爭取點專案時間。

  程式設計師的世界裡,是恨不得所有的電腦都和他的一樣。用最後一點耐心完成某個專案的程式碼後,提心吊膽的在自己的電腦上執行沒有問題了,提交上去之後,伺服器怎麼就跑不動了。在我這執行沒有問題的程式,為什麼在你這邊就出現問題了,一定是你的電腦配置有問題。反覆問清楚你的情況之後,確定這不是你的問題,才承認是自己程式的 bug。

  本來能10行能解決的程式,一些程式設計師一定要把它拆開,一層一層的用設計模式去做,不斷的物件導向的包裝,包裝的一層一層又一層,碼出來 100 多行程式碼,這樣他們才感到高興。雖然不會太影響執行效果,但程式碼讓人無法看,於是下面每一個讀程式碼的程式設計師都會覺得上一個寫程式碼的是傻X。

 說的就是矇蔽自己的程式設計師

  網際網路技術的發展中,程式設計師的功勞毋庸置疑,他們用一行行的程式碼打造了很多產品,豐富了我們的各種體驗。他們有著心懷用技術改變世界的夢想,但種種對技術的偏執也產生了很多裝 13 的行為。上文列了這麼多的症狀,程式設計師這麼一善良的物種未能倖免。我們來看一看程式設計師裝 13 行為背後的動機。

  在電腦發展初期,還沒有圖形介面的時候,一提到黑客、程式設計師,我們都會自行腦補他們面對著黑壓壓的螢幕,敲著各種字元。vim 和 emacs 純文字的工作環境也讓他們沉浸在寫程式碼的快感中,久而久之 vim 就代表著老練,以至於後來有些程式設計師崇尚 vim ,以為用 vim 就代表技術能力強。使用通用編輯器並不是問題,但熟練編輯器的使用和技術能力強是兩碼事, 當你所常用專案中有某個 IDE 擁有十分吸引你的特色功能時,嘗試使用它。何苦逼著自己很吃力的用 vim ,跟自個過不去。

  程式設計師喜歡用自己的技術來解決一些問題,這本不是裝 13 的行為,可以說是值得鼓勵的,很多偉大的網際網路產品都是從最初一個不經意的意外嘗試開始的。這並不是意味著遇到問題就首先想到用程式碼解決,花一大段時間來解決一些技術難度不大的問題,沒有實質性的意義。非要用技術來解決這個問題,凸顯自己好像技術很強的樣子,就是裝。

  也不知從什麼時候開始,加班成為程式設計師的習慣。在各種傳奇的創業團隊經歷多少個日日夜夜開發的故事鼓舞下,以為半夜開發就能寫出很牛 X 的程式碼,就能有更多的靈感。不斷的這種事跡,讓他們逐漸在潛意識中植入白天寫不出好程式碼的概念,於是白天的工作效率也就很低下,而這種靠深夜開發獲得成就感的行為,實在是可悲。

  裝 13 的本質就是不願意承認事實,用一種假象來矇蔽別人。對程式設計師來說,不願意做一些改動,優化工作,不能理解為什麼在自己電腦上執行沒有問題在伺服器上就跑不了,這種情況就好解釋了。他們找出各種理由來搪塞,試圖掩蓋事實。真相大多是因為之前的程式碼寫的太爛,可讀性不高。而當自己與其他人合作的時候,看到別人寫的程式碼,心裡也會默默的鄙視一番,實際上你寫的也好不哪去。

 大家都知道了,你裝 13 給誰看

  程式設計師是需要不斷的學習的,在還沒有寫出牛 X 的產品的時候,好好打怪升級。切合自己的實際需求,來選擇合適的工具,技術不怎麼樣的非要硬逼著自己裝出很牛 X 的感覺,也就騙騙自己,技能不夠用再好的裝備也發揮不出來水平,相信玩過遊戲的都有過經驗。也別非遇到什麼問題都想著寫個程式來解決,對這樣的程式設計師們,我有一個問題,你現在有女友嗎?

  一個簡單的問題,好像必須複雜化才能凸顯自己的能力似的,於是想方設法的用各種程式碼設計,碼完了自己看著是開心了。等回頭需要改動的時候,程式碼寫的一團糟,自己都不忍心回首,就別找理由來忽悠別人了。

  相關文件:程式設計師裝逼速成手冊:你們感受一下

相關文章