# 三十二、兩個故事
我要說兩個故事,都是我過去工作時發生的。我認為這兩個故事足以清楚闡明,管理良 好的科技公司與一團亂的科技公司間有何差別。最終的差異在于相信員工并讓他們把事情做 好,還是把他們視為作業員對待,必須不停監視控制以免偏離主題并造成破壞。
我首次工作是在微軟,第一份任務是要想出一套新的Excel宏語言策略。很快的我就寫 出第一份”Excel Basic”規格初稿(后來發展成Visual Basic for Applications,不過那是 后話了)。不知怎么的,微軟里有個叫「應用架構組」的神秘小組聽到這份規格。由于他們 認為自己就是負責集語言策略之類的東西,當然得關心這份文件。于是就要求看看我的規格。
我到處問應用架構組是什么來頭,不過似乎沒有人認為他們是玩真的。原來這個組只有 四個人,是最近才請來的博士(這就微軟而言很罕見)。我把我的規格印了一份給他們,還去跟他們開會看看能否聽到什么有趣的東西。
其中一個說:「哇啦哇啦!」另一個又說:「哇啦哇啦,哇啦哇啦哇啦!」我不認為他 們講得出什么有意思的東西。他們非常迷戀子類別繼承(subclassing),似乎認為在Excel 寫宏的人會用到大量的子類別繼承。無論如何,最后其中一個人說:「不錯,這些全都很有 意思。再來還要做什么?要找誰批淮你的規格呢?」
我笑了。雖然我在微軟只待了幾個月,也知道沒有什么「某人批淮我的規格」這種事。 慘啊,沒有人有時間讀我的規格,更別提批淮了。程序員每天都在催我多寫出幾頁,讓他們 能多寫點程序。我的主管(還有他的)己經講得很清楚,沒有其他人懂宏或者有時間去做這件 事情,所以不管我做出什么東西,最好是正確無誤的。而在微軟這個怪研究小組工作的博士 卻假設事情會更正式一點。
我很快就明白,應用架構組對宏的了解比我還少。至少我還和幾個宏開發人員和Excel 老前輩談過,知道實際上大家是如何用Excel Basic的,不外就是每天重新計算某張電子表 格,或者依照某個模式重新安排數據等等。不過應用架構組認為宏只是個學校習題,也不知 道實際上大家都是用宏在做什么。其中一位感受到壓力,就提了一個想法:既然Excel己經 有底線和雙底線功能,可能會有人想寫一個宏去做三底線。是啊,真低級。于是我開始盡可 能的婉轉地忽視他們。
這似乎惹惱了應用架構組的頭頭Greg Whitten。Greg好像是微軟員工代碼六號的元老。 他從盤古開天起就在這里了;沒有人能明確指出他做過什么事,不過他常常跟比爾蓋茨吃午 飯,而GW-BASIC是依他的名字命名的。Greg召開了一個「大」會議,開始抱怨Excel團隊(指 我啦)如何惡搞宏策略。我們逼他提出明確的原因,不過他的論點就是沒有說服力。我這個 大學剛畢業的菜鳥和六號老員工爭論而且顯然贏了,感覺真是不錯。(你能想象這種事會在 那種穿灰法蘭絨西裝的公司發生嗎?)當然很重要的原因是程序團隊(由現在己經是微軟副 總的Ben Waldman帶領)的全面支持,因為程序團隊負責寫程序,所以他們對于做事的方法有 最終的決定權。
我很樂意讓事情到此為止。不過如果應用架構組需要人關心想再吵架也沒關系。他們想要我就會奉陪,只要能讓程序員專心做事就好了。不過后來發生的事情更有意思,而且讓我 很感動。我跟幾個同事在Redmond的晴空下吃午飯,Pete Higgins朝我走過來。當時Pete是 Office部門的總經理。我當然知道他是誰,不過不認為他會了解我。
「約耳,怎么回事?」他說:「我聽說你跟應用程序組有點過節。」
「哦,沒有啦。」我回答:「我都可以搞定。」
「不用多說,我了解了。」他說完就走了。第二天就有謠言傳回來:應用架構組解散了。 還不只這樣,小組的成員都分散到微軟不同的部門,而且離得很遠。我再也沒有聽到他們的 事了。
我當然是非常的感動。在微軟這家公司里,如果你是Excel宏策略的項目經理,即使來 公司還不到半年也不要緊,你就是Excel宏策略之神,連員工代碼六號的老員工也不能擋你 的路。事情就是這樣。
這件事傳遞了一個非常強烈的訊息。比如說它讓大家對自己的工作更有責任感。也不能 再用「管理階層批淮了規格」這種想法來當借口,因為管理階層并不會仔細看他們的規格。 管理階層只管雇用聰明人并安排工作給這些人做。另一個意義是表示這里是個絕佳的工作場 所。有誰不想成為所屬領域的王者呢?軟件本質上就很容易分割成小塊小塊的組件,所以總 是可能分割出人員間的責任,讓每個人擁有一個領域。這可能正是軟件人喜歡在微軟做事的 原因。
過了幾年我換去Juno工作。這是一個在線服務和免費電郵的供貨商。這次的經驗和在微 軟工作時正好相反。我底下有兩個程序員對我負責,可是我的直屬主管卻一直在破壞我的(很 少的)權力,他跳過我直接分派工作給我下屬,而且常常沒通知我。連休幾天假這種小事, 他都認為應該由他決定淮假與否。
進Juno幾年后,我去處理新的用戶登入功能。我要負責翻修整個Juno 3.x(—個重要的 改版)的登入流程。當時我己經是技術團隊里相當資深的成員了;我的考績很好而且主管們 似乎也欣賞我的工作成果。不過他們就是沒辦法信任我。大概是命令與控制那套老想法的緣 故吧。
登入過程中有個地方要求使用者輸入生日。Juno的登入程序很長,大約有30個畫面,要 使用者填收入、喜好運動、有幾個小孩、年紀多大還有其他一百個左右的問題。生日只是其 中很小的一部份。為了想讓登入程序再簡單一點點,我想把生日欄改成不限格式,這樣就可 以輸入”8/12/74”或”August 12, 1974”或”12 Aug 74”或其他內容。(你曾經用過Outlook 嗎?這就像Outlook—樣,隨便打什么日期它都可以接受)。
我的主管并沒有深入了解就決定他不喜歡這個作法。對他來說這變成自尊心問題。他先 吼了處理這個畫面的設計師(根本沒先告訴我)又再罵我。然后每天都提醒我一定要把它改成 他要的樣子。接下來他找公司執行長來評估,還開批斗大會讓執行長批斗我的新設計。事實 上連Juno的執行長都非常樂意干預公司最底層完成的工作。真是一脈相傳的標準作業程序啊
我當然是很生氣。這其實只是件小事,不過是喜好而己。某些人會喜歡我的作法,而某 些人喜歡他的。不管怎樣訊息己經很明確的:你他X的照做就是了。這是非常命令與征服式 的心態,像是在比誰比較勇而不是在討論使用接口設計。
我并不是說這是我離開Juno的原因,不過它的確解釋了我離開Juno的理由:不管你多么 努力工作又有多聰明,也不管你是否在「負責」,你對再微小不過的事都沒有權力。把你該 死的點子訓練以及聰明睿智放一邊,把那些讓我們付錢請你的一切東西通通都丟到一邊吧。 而且Juno的經理很多,大概占總員工四分之一,所以他們有的是時間可以到處亂伸手指,確 定他們能掌控。在微軟卻是副總自己從九號大樓出來找你,確定你有權力能把事做完。這對 比還真是強烈啊。
就某種程度而言,無能至極的管理流程是Juno之所以是一個紐約市公司而非西岸公司的 因素之一,所以還不太能深入現代的管理風格。這也是Juno經理人經驗極度不足所導致的問 題,而源頭則是在最上層,一位只待過D. E. Shaw的29歲執行長。他會干預每件能插手的大 小事,連出狀況時錯誤訊息的字句也要管;這位執行長會定期大聲責罵敢質疑其睿智的部屬, 然后部屬再把氣出在程序員身上,程序員只好回家踢狗發泄。相較之下,在微軟事情都是由 最底層完成,大多數經理的工作好像只是到處閑逛,把家具搬開不要擋到路,好讓大家可以 專心工作。
- 第一部分 位與字節:編程實踐點滴
- 一、語言的選擇
- 二、深入底層
- 三、joel測試:改進代碼的12個步驟
- 四、每一位軟件開發人員必須、絕對要至少具備UNICODE 與字符集知識(沒有任何例外!)
- 五、輕松寫就功能規格說明書 - 第1節:為什么煩心?
- 六、輕松寫就功能規格說明書 - 第2節:什么是規格說明書?
- 七、輕松寫就功能規格說明書 - 第3節:但是……如何?
- 八、輕松寫就功能規格說明書 - 第4節:技巧
- 九、輕松制訂軟件進度表
- 十、每日連編是朋友
- 十一、難伺候的故障修復
- 十二、軟件開發中的5個世界
- 十三、稿紙原型開發
- 十四、不要被太空架構師所嚇倒
- 十五、開火與運動
- 十六、人員技能
- 十七、源于計算機學科的三個錯誤思想
- 十八、二元文化
- 十九、自動獲取用戶故障報表
- 第二部分 開發人員的管理
- 二十、面試游擊指南
- 二十一、重金激勵害多利少
- 二十、二不配備測試人員的五個首要(錯誤)原因
- 二十三、任務換人有害無益
- 二十四、絕不去做的事情,第一部
- 二十五、冰川下的秘密
- 二十六、漏洞抽象定律
- 二十七、程序設計界的LordPalmerston
- 二十八、評測
- 第三部分 Joel對常態問題的遐想
- 二十九、RickChapman解讀愚昧
- 三十、在這個國家狗是干什么的? 我們有多么天真?
- 三十一、作為哼哈二將,只管去做事
- 三十二、兩個故事
- 三十三、巨無霸麥當勞與天才廚師JamieOliver
- 三十四、沒有什么像IT看起來那么簡單
- 三十五、提防非自主開發綜合癥
- 三十六、策略I:BEN&JERRY公司與AMAZON
- 三十七、策略II:雞與蛋問題
- 三十八、策略III:讓我回去!
- 三十九、策略IV:大件與80/20神話
- 四十、策略V:公開源代碼的經濟因素
- 四十一、墨菲法則肆掠的禮拜
- 四十二、微軟公司是如何敗北API之戰的
- 第四部分 對.NET稍多的評說
- 四十三、微軟精神失常了
- 四十四、我們的.NET對策
- 四十五、請問,我可以使用連接程序嗎