這是關於一個具有極高智商但卻極端個人主義的程式設計師的故事,這種類型的程式設計師我們都知道,也都不喜歡。我們可以不用這樣的人嗎?
有一些我曾經共事過的程式設計師,他們極其的聰明,但也極端的古怪離奇。
「古怪離奇」也許用來形容一個事件或一個觀點更合適。也許稱這類型的人為書呆子更合適。但不管怎樣,我的印象中,大多數時候,他們並不會帶來太大的麻煩。
並不是他們的腦瓜不靈。很多時候,這些「優秀」的程式設計師往往是團隊中最有能力的。他們的智商和解決問題的能力都是其他人無法企及的。
很多時候,他們是公司裡能夠解決那些將會讓公司損失百萬美元問題的唯一的人。當然,大多數情況是因為最初他們參與了開發設計或給了最初的指導。
如果是他們自己故意製造了這將要到來的災難,我一定都不會吃驚,這樣一來他們就能成為救世的英雄。
不幸的是,在眾多的IT企業文化中,英雄崇拜是普遍現象。一個明顯不合群的程式設計師但卻會被經理們高捧在眾人之上。
管理者們需要在意這樣的程式設計師嗎?我曾在以前的文章裡談到過這樣恃才放曠的程式設計師,比如Tyler——無視規定,破壞團隊建設。是的,我相信管理者絕對應該重視他們,因為他們會影響到團隊其他人員,影響到整個團隊,他們會給團隊帶來長久的不確定的風險。
可問題是,管理者們喜歡依賴於這樣的有才華的程式設計師,把他們當作中流砥柱。
我以前也這樣過,現在想起來內心有愧。你很容易陷入這種境地,你會因此悔斷腸子,因為他們會讓你丟掉工作。
這些年來,我曾和很多種這樣極富挑戰型性格的人共事過。我這裡選一個有代表性的例子:我向你保證,喬希絕對是一個真實存在的人;但我給他起了另外一個名,以免他發癲到我家來找我。
我第一次見到他是在我新上任第一天處理一個危機的時候。喬希在我之前很多年就來了這個公司。我們的團隊的任務是解決公司的軟體產品中的各種問題。
我們當時都在會議室裡,免提電話裡傳來客戶的咆哮。他已經受夠我們的產品環境中的一個遲遲不能解決的問題,威脅要取消訂單。
於是我把喬希叫了進來,他就是產生這個問題的程序的開發者——更像是個主謀。一般情況下,沒有人會把喬希帶到客戶面前,因為他的外表,怎麼說呢,讓人想起Charlie Brown卡通中邋遢的Pigpen。
我知道這不是可視電話(也不會傳導氣味),所以應該沒問題。而且毫無意外,喬希一個小時內就解決了這個問題。客戶得到了安撫,我也鬆了口氣,避免了在我的管理下丟失客戶。
我問技術支持小組的技術負責人,問什麼喬希一個小時解決了這個問題,而我們的團隊花了兩天時間都解決不了?回答讓我震驚。
他說「我昨天問了喬希,向他求助,但他笑我。他說如果我們沒有能力解決這個問題,那我就不配待在這裡。」
我的這個技術負責人繼續解釋說,儘管他翻遍了所有產生錯誤的程序代碼,問題實在讓人費解,他查不出問題出在哪。我問程序的文檔在哪,他轉著眼珠,不自然的傻笑,「什麼文檔?」
先對喬希的背景做一下介紹。他有時會穿印有挑釁性標語的T恤。上班時你有時會找不到他,甚至好幾天。
不止一次我身邊的女同事說他在她們面前說髒話。然而,他仍然在這個公司裡,而且是拿的薪水最高的程式設計師。
我決定跟喬希聊一聊。當走進他的辦公室時(他是唯一一個有私人辦公室的程式設計師),我感覺需要拿著一個手電筒,因為太黑了。更像是個洞穴,而不是辦公室。
寧願找個衣服夾夾住我的鼻子。
我記不清確切的說了哪些話,但過程大概是這樣的。
「你好,喬希」,我說,聲音儘量輕鬆高興。
靜悄悄。
喬希依舊狂暴的敲著他的鍵盤。我繼續說,「嗯,喬希,我能佔用你一分鐘時間談談客戶發現的那個問題嗎?」
他沒有停下來,嘴動了一下,「你說。」
「我想說的是謝謝你解決了那個問題,但我也知道,昨天我的團隊向你求助時,你不肯幫他們。」
喬希,注意力並沒有從鍵盤上移開,支吾了一句「怎了?」
「我想知道,你為什麼不肯幫他們?」
「我很忙,」他愛理不理的說。
「我知道,但如果你能幫一下….」
他打斷我,語氣中帶著輕蔑的說「幫他,讓我去向那個白痴去解釋如何做他的工作?我寫我的代碼。我的代碼好用。over。」
我不知道這次談話怎麼結束的,而且,這不太像是一次談話。我決定找喬希的經理談一談。
我一提起這個話題,他的經理噌的站起來去關上了她辦公室的門。
她說,「小心,你應該放棄這個念頭。這是喬希。他喜怒無常,如果我不全力支持他,他隨時都會拍屁股走人。他寫代碼的速度比團隊裡任何一個人都快。」
我試圖向她解釋,喬希應該融進團隊中,寫的程序也應該有文檔。她的回答是,有能力的程式設計師都不需要文檔。
「代碼」就是文檔。她根本無視整個「團隊」的抱怨。
隨後她笑了,說,「我直說吧,如果沒了喬希,我們就不能按時完成下一次的發布,我也就不能坐在這裡了。over。」
一天內兩次「over」。可是,這事兒沒這麼就over了。當有更多的客戶方面的問題出現後,CEO出面並強行解決了這個問題。
你猜在CEO和喬希的談話後發生了什麼?第二天他沒來上班。他走時甚至沒有拿走留在辦公室裡的東西。
他就這樣….失蹤了。
跟著他走的還有他掌握的對那些複雜(傑出)的代碼的理解。一大群優秀的和「水平一般」的程式設計師最終把這留下的爛攤子整理清楚,但公司為此耗費了大量的時間和金錢。
我們可以稱喬希這樣的程式設計師為怪胎,瘋子,或蠻不講理,可毫無疑問,他們的智商是高人一等的。但是,如果你一直任著他們這樣下去,他們遲早會成為你公司,團隊或事業上的定時炸彈。
[英文原文:Are Quirky Developers Brilliant or Dangerous? ]