开源 linux Windows 程序员 HTML5 apache centos Android Python wordpress shell google linux命令 Ubuntu mysql java nginx Firefox 微软 php

亲爱的老板:程序员的10分钟就是3个小时

国外程序员艾德·韦斯曼(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。)
time-management-clock

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。)

英文原文:Ed Weissman      编译:伯乐在线

延伸阅读

评论