我為什麼喜歡程式設計

阮一峰發表於2009-10-18

個週末,我在家核對More Joel on Software的最後定稿。

此書已經在申請書號了,一拿到書號,就可以印刷和銷售了。所以,不出意外的話,年底之前就能上架。

在複核的過程中,我又讀到了書中讓我最有共鳴的一段話:Joel談為什麼公正對程式設計師很重要。

我不知道別人的情況,我自己喜歡程式設計,很大的原因就是覺得程式的世界更公平公正,誰對誰錯,只要執行一下程式碼就知道了。這同現實世界截然不同,在現實的世界中,只要你有權有錢,善於搞人際關係和鑽制度的空子,你就能把錯的說成對的,把黑的說成白的。老老實實、埋頭苦幹的人,眼睜睜看著乾坤顛倒、小人得志,而只能束手無策、一籌莫展。

我們生活的這個國家,是一個禁止自由思考、黨決定一切的國家。在這裡,如果你想不撒謊、不幹壞事、並且被公正地對待,那麼可能你只能去程式設計了。

==================

不搞政治

作者:Joel Spolsky

譯者:阮一峰

老實說,只要有兩個以上的人待在一起,就會有政治。這很自然。我說"不搞政治"的真正的意思是"不搞惡性的政治"。程式設計師早就練出了對公正有非常良好的判斷力。程式碼要麼能執行,要麼不能。坐在那裡爭論程式碼是否有問題,這是毫無意義的,因為你可以執行程式碼,答案自然就有了。程式碼的世界是非常公正的,也是非常嚴格有序的。許許多多的人選擇程式設計,首要的原因就是,他們寧願將自己的時間花在一個公平有序的地方,一個嚴格的能者上庸者下的地方,一個只要你是對的就能贏得任何爭論的地方。

如果你要吸引程式設計師,你就必須去創造出這樣一個環境。當一個程式設計師抱怨"人際關係複雜"時,他們的意思明白無誤,就是指任何個人因素超過技術因素的環境。程式設計師在完成手頭任務時,不被允許使用最合適的程式語言,而是被命令只能使用另一種特定的語言,原因僅僅是老闆喜歡這種語言;沒有什麼比這更讓人氣憤了。晉升的原因不是成果,而是人際關係;沒有什麼比這更讓人抓狂的了。程式設計師被迫去做技術上落後的東西,僅僅因為上級或者得到上級支援的人堅持這樣;沒有什麼比這更讓人發火了。

沒有什麼比因為技術原因贏得一場由於政治原因本來要輸掉的爭論更讓人心滿意足了。當我在微軟公司剛開始工作的時候,有一個正在開發中的大型專案走入了歧途,專案的代號是MacroMan,目標是創造一種圖形化的宏語言。真正的程式設計師遇到這種語言會很有挫折感,因為圖形的特性讓你真地沒有辦法完成迴圈和條件判斷功能。此外,對於那些非程式設計師的使用者,這種語言也不會有很大作用,因為我覺得那些使用者不會習慣演算法思維,沒有辦法很快地理解MacroMan。當我說出對MacroMan的負面評價時,我的老闆告訴我:"如果火車要出軌,沒有東西能夠阻擋。算了吧。"但是,我還是不放棄,一再地不斷地爭論。那時我剛走出學校,在微軟公司中差不多跟誰都沒有利害關係,所以,漸漸地,人們開始傾聽我的核心觀點,MacroMan後來終止開發了。我是誰並不重要,重要的是我是對的。非政治性的組織就應該這樣,這種組織才會讓程式設計師感到高興。

總的來說,關注你的組織的社交動態變化,對創造一個健康的、令人愉悅的工作環境是很關鍵的,這樣可以留住程式設計師和吸引程式設計師。

(完)

相關文章