今天要說的,是關於我在前公司砸鍋的故事。

前公司是軟體公司,我是前端工程師。我砸的鍋有多嚴重呢?當時公司主要賣出的重要模組,新增、編輯的功能全都壞掉⋯⋯就是這麼誇張!

而這個Bug,剛好也是我自己發現的。那時候新版本發布沒多久,假設是2.2.0版本好了,當時我閒著沒事在看Code,忽然發現某個地方壞掉,而且還是共通性很高的元件(Component)。我當下很明確的知道:完蛋了,這邊壞掉的話公司的電話一定會被打爆!

我去查壞掉的原因,發現竟然是因為我在上個版本要修某個Bug,結果沒注意而導致這裡壞掉的。但好在這個Bug只要修一行就可以完全解決,不用花太多時間。

我認真看了一下這個Bug的出現時間,是2.2.0版本後才發生的。於是我開了另一個Server起來跑2.1.X的版本,確認沒有這個Bug,我就安心了。由此可以總結:

  1. 這個Bug會引發的災情很大,必須立即處理。
  2. 但是影響範圍只有2.2.0版本,之前的版本不受影響。
  3. 2.2.0版本在我發現Bug的當下剛發布沒幾天,有更新此版本的客戶不多。
  4. 這個Bug的解決方法已經找到,可以隨時更新。

歸納完之後,我就直接跑去找我的老闆(研發部門主管)說這件事。然後問他:「2.2.0版本現在有哪些客戶更新了?」我老闆知道事情不太妙,就馬上打給FAE(Field Application Engineer,應用工程師)主管確認。

幸好版本的確剛發布,只有一個客戶更新2.2.0這個版本,所以災情其實很小。事前告知FAE他們這個客戶更新的版本會有問題,他們之後也比較好應對。同時我們也公告給整個FAE部門的人,讓他們知道2.2.0這個版本不能使用,要等2.2.1版本再更新。

我的主管聽到我的報告後,糾結沒幾分鐘,就決定直接再出一個新版本把Bug修掉。你們可能會覺得很奇怪,主管是要糾結什麼?聽起來為了修這個Bug,直接出一個新的小版本很合理啊?

這就很值得一提了。事實上發生這件事的前一週週會上,我主管才被副總要求不要這麼常出新版本,避免客戶覺得我們公司的Bug很多,穩定性不足等等。

雖然還真的是⋯⋯Bug滿多的。

當時我的主管表面上點頭說是,但心裡也是無奈到不行。我想我主管糾結的原因,就是副總之前要求過他的這句話。但不管是我,還是我主管,我們心底都很明確的知道一件事——現在不處理,之後會死得更慘!

如果現在裝死,FAE在不知情的狀況下,會讓很多客戶更新2.2.0這個有重大問題的版本,接著就會客訴接不完。既然最後都是要修這個Bug,為什麼不在還不會有客訴的階段就解決這件事呢?

如果拖到那個時候才修,可就不是簡簡單單帶過、被唸一句就沒事的。到那時候可能副總跟FAE主管會一起對我的主管發飆。如果是不知情的狀況也就算了,知情不報、不處理就是該電死。

好在我的主管沒糾結太久,直接指示我出一個新的小版本,把這個Bug處理掉。主管事後也沒責怪我,這件事就這樣平淡的結束了。

為什麼明明是一個超級大包,最後卻能平淡的結束呢?

我認為決定性因素有以下3點:

  1. 馬上查清影響程度、影響規模(可能影響到多少客戶)。
  2. 馬上確認是否可以解決此問題。
  3. 把所有事情告訴主管,讓主管評估和決定該怎麼做。

我們來拆解一下:第1點的影響程度、影響規模其實是FAE部門最關注的,因為會影響到他們要如何應對客戶。第2點是我的主管比較關注的,畢竟我們是RD部門。第3點,是尊重上司的行為。儘管我心中已有定見(當然是快速處理完最好),但最後決定要怎麼做也是由主管決定,而決定完的後果,也是由他來承擔。

原本出了一個Bug,主要會影響到的就是我自己(要負責維修)、FAE部門(要被客訴、處理客戶情緒、額外出版本更新)、我的主管(要被工作量額外增加的FAE謾罵、可能會接到一堆大客戶的電話、可能要去大客戶的會議室下跪、要盯我維修進度),而這些可能性都在最前期就被消滅。

我想最關鍵的一點,還是「同理」吧。如果我站在他們的角度,我也不想莫名其妙增加一堆工作,所以我才會提早說出這些問題。雖然他們心底難免還是有「怎麼又有Bug了」的想法,但他們也知道這種情況越早處理,工作量越少,所以也不會有太強烈的譴責。

就我的觀察,通常會有情緒、會想謾罵時,都是「不知道該怎麼辦」的時候。我超討厭被罵,被罵我通常都會氣很久,那段時間根本沒辦法做事,我會把所有力氣都花在「不要成為下一個謾罵他人的人」上面。

所以為了不要被罵,我練成了「先組織好所有長官需要聽的資訊,再去報告」的技能。因為資訊已經夠多了,我也沒廢話,直接講重點。

通常我講完,長官會直接開始思考後續要如何處理。屢試不爽,就算是平常脾氣很爆的長官也一樣。

看到這邊的你,如果很害怕出包,總是不知道出包時該怎麼解決,你可以試試以下方法。記得找主管報告時,不要長篇大論,兩句話解釋你出的包,再說明以下3點:

  1. 問題的影響程度、影響範圍。
  2. 先想好1~3個解決方案。
  3. 問主管覺得接下來應該怎麼做。

如果你已經處理完才報告,可以再詢問主管,有沒有更好的處理方式?還是照你現在的處理方式就可以了?

就算你已經自行解決了問題,還是必須讓你的主管知道發生了什麼事。主管的職責就是了解下屬的動向及問題,如果他不知道,其實他是失職的,我們沒必要在主管不知情的狀況下,讓他成為一個失職的上司。

因此,我建議工作上重要的事情,最好都要向你的老闆報告,尤其是出包的時候。如果你出包後會自行解決,其實你的評分不會下降,反而會上升;你的主管也會認為你是個值得託付的對象,升遷的機會甚至會更高。

*本文獲「S判」授權轉載,原文:搞砸工作時第一時間往上報,後果是最輕的

責任編輯:湯明潔
核稿編輯:陳柏燕