Benjamin

新人工程師,偶爾分享工作心得(預計?

工作隨筆-犯錯之後

新的一年不管是工作還是課業又或者其他的個人目標都要繼續邁進了,先祝各位新的一年平安順利。


從去年年底到今天,我的部門在執行一個實作商模的大更新,前後花了將近兩的月吧?由於牽涉到收費方式建立,金流方面的嚴謹度要求不同一般,除此之外金流還必須與財務部門的功能串接,再結合付費方式及其背後的銀行等等。

協同作業的過程中遇到許多以前開發不會遇到的麻煩,像是作業時間延遲、回傳值正確/錯誤的判斷與想像中不同等等,無法直接看到對方的程式,等待的過程真的是件挺痛苦的事情。畢竟原本自己產品的開發遇到錯誤,透過內部的規範就能較容易理解錯誤發生的部分及原因,就算看不懂原本的設計也能找到當初設計的人詢問。

補充一點,我負責的偏向顯示面,關鍵的金流串接和財務報表計算由前輩負責。雖然接下來的一年肯定也有不少東西等著動工(畢竟還在領人家薪水),不過今天完成上線之後就可以鬆口氣了。

至少今天早上我們大概是這樣想的。


比較重大的更新時,為了避免更新過程中用戶誤觸產生髒資料,更新之後會由企劃再次驗收完畢後才開放對外連線,因此上週就公佈今天的封站時間10:00~14:00,結果在驗收時出現了不少意外的情況。

API(應用程式介面)這種東西,在運行的期間會根據不同路徑與參數的HTTP請求,存取資料庫或其他資料來源進行組合、計算,再回傳處理後的資料給發出請求的對象。

API執行到一半停止運作絕對是異常的情況,但今天上線後卻碰到數次,在找到問題及驗收完成之前,開站的時間也就只能逐漸往後延了。

下午主管找到了問題,把我們幾個後端工程師都找過去,給我們看一段程式碼,並確認我們是否理解它的意義。

catch (AthenaException e) {
    e.printStackTrace();
    System.exit(1);
}

恩,簡單的來說就是前輩在開發的時候誤用了官方的範例程式碼,導致一旦出錯就會將整個程式停掉。

主管確認過我們了解之後就要求前輩進行修正,其他人各自繼續執行原本手上的工作。這不是責怪,只是避免同樣的問題不要再次發生而已。


回想去年,這樣的事我也發生過幾次。

其中有次星期四上線後無法正常運作,多名同事加班後仍無法立即處理,只好還原回更新前,待星期五修正之後下週一再次上線。
然而下週一遇到其他的問題,最後到了晚上十點半之後才順利解決,以上全是我開發的一部份功能造成的。

當時一起加班的同事和主管都沒有責怪我,只是在詢問後得到還沒完成/又錯了的時候表現出有點無奈的情緒,隔天主管還提醒記得申請加班。「你留下來確實是在工作,就申請下去吧沒有問題。」站立會議上專案主管也只說了聲「大家昨天辛苦了,問題解決就好。」對於大家的包容真是非常感謝。

遇到錯誤先找原因,接著找解決方法,最後再全體同步資訊,確保未來其他人不會在同一個坑踩第二次,一切都是為了整體的效率和品質著想。


相信這樣的經驗會對我產生長遠的影響吧。

Like my work??
Don't forget to support or like, so I know you are with me..

CC BY-NC-ND 2.0
1

Want to read more ?

Login with one click and join the most diverse creator community.