親愛的老板:程序員的10分鐘就是3個小時
英文原文: Dear Boss: For a programmer, 10 minutes = 3 hours
導讀:國外程序員艾德·韋斯曼(Ed Weissman )從業 32 年。某天老板告訴他產品有個問題,10分鐘可以修復問題,誰知結果一干就是 3 個小時。本文就是艾德記錄下的過程。
10:48
老板:嗨,艾德,蘇在底特律說,“產品歷史屏幕”上經常出現錯誤的發票號碼(Invoice Part Number)。你能幫我們搞定這個問題么?
艾德: 我現在在忙其他事。你到我的任務隊列中提交一個 ticket 吧。
老板: 這事 10 分鐘就夠了。
艾德: 你確信么?
老板: 嗯,確定。我一會開個網絡會議。蘇會演示給你看,然后你有空的時候再仔細看看。
艾德: 好的。
老板: 嗯。去你的 Outlook 中查收(會議)邀請吧。
11:05
收到 11:30 的網絡會議的 Outlook 邀請,接受。
11:25
從我的 IP 電話呼叫了網絡會議的 800 號碼。撥了兩次,都占線。從 IP 電話打我手機,同樣是忙。哎,IP 電話系統再次壞了。從我手機呼叫了網絡會議的號碼。我是第一個上線了,然后又掛掉了。在瀏覽器中點擊鏈接進入了網絡會議,還是第一個。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
11:38
老板進入會議,問:蘇在哪里?
艾德: 我不知道。
老板: 你能看到我的屏幕么?
艾德: 不能。
老板: 哦,等一下。我來做主(Let me be the host)。現在能看到了么?
艾德: ?嗯,可以了。但我想蘇是不是去展示問題了。
老板: 對。我一會讓她做主。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
11:47
蘇進入會議:我們怎么在這里呢?
老板: 來這兒的目的就是讓你給艾德展示“產品歷史屏幕”出什么問題了。
蘇: 展示“產品歷史屏幕”的問題?
老板: 你知道的,你不說發票部分號碼有時候會出錯么?
蘇:你指 mil-spec 訂單?
老板: 我真的不知道。你不發送了 ticket 么?
蘇: ticket 號碼是多少呢?
老板:稍等,我查一下。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
11:53
老板: ticket 號碼是 13827。記住了吧?
蘇: 我怎么在我電腦上查看 ticket。
老板: 點擊內網中的 IT 控制板。
蘇: 我點不了啊。網絡會議軟件全屏了。
老板: ?那你在鍵盤敲擊 Alt+F4,然后去內網。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
11:57
蘇: 搞定,ticket 號碼是多少呢?
老板: 我應該寫下來了。我再找找……
老板: 13827.
蘇: 嗯,我看到了。 這個問題出現過幾次。沒人知道為什么。通常在 R27-83 這個號碼時出問題了。
老板: 好,給艾德看吧。
蘇: 我怎么回到網絡會議界面呢?
老板: 你得重啟了。剛才 Alt+F4 給關閉退出了。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
12:04
蘇: 好了,網絡會議軟件打開了。你能看到我么?
老板:不能,你得點擊“Host”按鈕。
蘇:在哪里?
老板: 在右上角的小方框中。
蘇:是“History”框么?
老板: 不是,是“Attendees”框。
蘇: 好的。現在你能看到我了么?
老板:不能。再試。
蘇: 我試了。好像你得退出主模式吧。
老板: 哦,我忘了。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
12:14
老板: 我退出主模式了。你再試試。
蘇: ?好的。現在你能看到我的屏幕了吧?
老板: 可以看到。
艾德: 我也可以。
蘇: 好的,如果我進入主菜單,點擊“Operations”,然后點擊“Sales”,再點擊“History”,我到了“Sales History”菜單。看到了吧?
老板:嗯。
艾德: 看到了。
蘇: ?然后我按“Part”點擊“Sales History Display”。輸入”R27-93″,主屏幕彈出來了。然后我點擊“Invoices”,我摁 F5,再 F3,再 F7,發票號碼(Invoice Part Number)就變成了”GT548″。不應該這樣的。
艾德:好,讓我查看一下,再答復你。
老板: OK,再見。
蘇: OK,拜拜。
艾德現在陷入了主模式,因為其他兩位退出了。他不能退出。窗口鎖定了。他重啟電腦了。
12:38
艾德登錄,進入開發系統。進入主屏幕,點擊“Operations”,然后點擊“Sales”,再點擊“History”,到了“Sales History”菜單。然后按“Part”點擊“Sales History Display”。他輸入”R27-93″,主屏幕彈出。他然后點擊“Invoices”,摁 F5,再 F3,再 F7,發票號碼(Invoice Part Number)還是”R27-93″,本該就如此。在開發系統中工作正常。
12:46
艾德通過他的秘密后門登錄產品。進入主屏幕,點擊“Operations”,然后點擊“Sales”,再點擊“History”,到了 “Sales History”菜單。然后按“Part”點擊“Sales History Display”。他輸入”R27-93″,主屏幕彈出。他然后點擊“Invoices”,摁 F5,再 F3,再 F7,發票號碼(Invoice Part Number)變成了”GT548″。蘇沒說錯。
12:57
艾德查看了版本控制系統。這個問題弗瑞德(Fred)在 11 月 11 日已經 check out。艾德運行了一個 diff,看到弗瑞德已經發現他更改后的第 425 行的代碼有問題,并修正了。
1:03
艾德呼叫弗瑞德,看他在忙啥。Voice mail。
1:07
艾德給弗瑞德發電子郵件,解釋問題。
艾德繼續看 Hacker News。
1:17
弗瑞德回撥艾德。艾德告訴他去看郵件。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
1:28
弗瑞德回撥:OK,我想起來了。程序出錯,是因為一個離岸外包的程序員改變了“Operations”目錄下所有程序的 header。他在重新編譯前不小心刪了一行代碼。不知怎么地,還通過了 QA,現在蘇發現了這個 Bug。
艾德: 那么你現在能修復么?
艾德:不行吧。這個模塊中還有 12 個其他的改動。我先看看,再打給你。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
1:36
弗瑞德回撥:在 XL500 模塊通過之前,我是改不了這些變動。模塊被凍結(on hol),必須得讓 QA 先批準。所以我們只能等了。
艾德:好的,謝謝弗瑞德。我一會就給老板發郵件告訴他。
艾德給老板發了解釋郵件。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)
1:48
老板: 好,這個看起來是個問題。貌似我不得不升級指導委員會了(Steering Committee)。艾德,很高興你能分出 10 分鐘來。謝謝。
(艾德開始在瀏覽器的另一個選項卡中看 Hacker News。)