獻給當初對我說“為什麼不由你來寫?”的人:Bill Bowlus(1)
你手上拿著的是一本關於最佳實務的書。它會比較乏味。但也許會比較有意義,你能從中得到知識,讀後甚至對你產生些許影響,但讀起來肯定還是乾巴巴而無趣的。為什麼這麼說呢?
最佳實務的書是乏味的,因為這個“最佳”是跟具體的專案、具體的人、他們的目標以及偏好緊密相關的。一個實務是不是“最佳”,大家可能看法不一。作者必須把實務列舉出來讓讀者自己來選,並分析在什麼時候、因為什麼原因作出最佳選擇。雖然這種做法是現實的、負責任的,但也是令人厭煩的,最終無法取悅讀者。為釋疑而設計的案例研究會使文字有味一些,但作者仍必須把選擇的機會留給讀者,否則作者就會顯得傲慢、教條並且死板。
然而人們喜歡看到傲慢、教條、死板的學者之間的針鋒相對。大家喜歡引用學者們的觀點片段,與朋友和同事一起討論。為什麼不把這些最佳實務當作觀點欄來爭論呢?惟一的條件,就是要有人願意將自己扮演成一個思想保守的傻瓜。
本書的由來
2001年4月,在我歷經了Bank Leumi、Jet Propulsion Laboratory、GRAFTEK、Silicon Graphics、Boeing等公司總共16年的職業程式設計師生涯,再在微軟做了6年的程式設計師和經理之後,我轉入了微軟內部的一個以在公司範圍內傳播最佳實務為職責的團隊。當時這個組正在運作發行名叫《Interface》月刊網路雜誌的一個專案。它很有意義,且富有知識性,但同樣也是乾巴巴而無趣的。我那時建議增加一個觀點欄目。
我的上司Bill Bowlus建議由我來寫。我拒絕了。作為一個半大孩子,我努力成為一個協調員,撮合多方產生成果。成為一個愛嘮叨的實務學者會毀掉我的名譽和效力。因此,我當時的想法是說服一個大家公認的小心眼的工程師來寫,他可能是我在微軟以前6年工作經歷中接觸過的一位固執的開發經理。
但Bill指出,我有22年的開發經驗,4年的開發管理經驗,寫作技巧也還行,而且有足夠的態度來做這件事。我只需要放下自身的心理包袱。另外,其他的開發經理都忙於常規的工作,不可能每個月來為我們寫觀點。最後Bill和我想出了一個用假名撰稿的點子,於是I。 M。 Wright的“Hard Code”欄目誕生了。
從2001年6月開始,我使用“I。 M。 Wright,微軟逍遙的開發經理”這個署名為微軟的開發者和他們的經理寫了49個“Hard Code”觀點欄。這些欄目的標籤行都打上了“絕對誠實,重拳出擊”的標語。每個月,成千上萬的微軟工程師和經理都在讀這些欄目。
前16個欄目在《Interface》內部網路雜誌上發表了。隨後同事(Mark Ashley和Liza White)給我分配了更多的主題。我和《Interface》的美工Todd Timmcke還一起製作了作者的很多搞怪照片。當網路雜誌停刊的時候,我才得以喘息的機會,但也停止了寫作。
14個月之後,在我們組的同事Amy Hamilton (Blair)、Dia Reeves、Linda Caputo、Shannon Evans和Marc Wilson的幫助下,我又開始在內部站點上發表我的欄目。去年11月份,我將所有的欄目轉移到了一個內部的SharePoint部落格上。
2007年春天,正當我打算休掉幾年前獎勵給我的假期的時候,我現在的經理Cedric Coco給了我在休假期間將“Hard Code”出版成書的授權。而微軟出版社的Ben Ryan也同意了。
除了我已經提及的人,我還想感謝《Interface》的其他成員(Susan Fario、Bruce Fenske、Ann Hoegemeier、John Spilker和John Swenson),其他幫助過本書出版的人(Suzanne Sowinska、Alex Blanton、Scott Berkun、Devon Musgrave和Valerie Wolley),支援我的管理層(Cedric Coco、Scott Charney和John Devaan),我現在的和以前的、複審過我的欄目並提出過很多主題的團隊