老舊系統維護方式:工程師不說的秘密

更新 發佈閱讀 5 分鐘

上一篇 為何系統越老,工程師越「痛」? 提到軟體工程師在維護老舊系統時所面對的痛點。當然,處理老舊系統的時候,其實我們還是有一些使用者也不會知道的故事。今天就跟大家分享,我們工程師如何實現關關難過,關關硬過。


raw-image


🫣祖傳的CODE,能跑請勿動

別說祖孫代溝,連資訊系統和工程師也會存在代溝悲劇。根據TIOBE程式語言最新資料統計,2025年前6大程式語言分別為:Python、C、C++、java、C#、JavaScript。那 2026 、2030、2040 年呢 ?人人都追著 AI CODING 學習,深怕落後他人。但是進入職場後,才發現你學的新技術在老系統裡根本寸步難行。怎麼辦?

我們唯一做法就是:能跑請勿動🤣🤣

元老也會有退休的一天,燙手山芋的系統傳到年輕一代,只能說能跑就不要動。任何一行程式碼的調整都會影響整個系統。有些寫法跟現在程式碼撰寫方式不一樣,框架也不一樣。

業管單位天天想加功能,主管大大畫餅功力越來越強,工程師只能沉默:我對這個老叩叩還有代溝。老系統框架已經固定了,你要加功能猶如房子頂樓加蓋鐵皮屋導致系統結構脆弱。臺風一來屋頂吹飛,就像脆弱的功能駭客一攻擊就裸裸的內部核心程式被看光光。

原則:千萬不要直接「動到最核心」的程式碼

📝工作日誌、技術手冊是寶藏

雖然前期系統開發並未留下頗多系統規格書,但是工程師都有自己一套技術筆記。工作筆記不是寫給主管,是寫給 一年後的自己。系統需要導正資料的步驟、每個使用者權限設定、維護計畫等,工程師都會寫下筆記預防下次會再碰到。前人離開,沒時間交接,筆記傳承,也是一個珍貴的寶物。

處理老系統很像偵探遊戲,要闖關就把前人的筆記當作寶,不斷地摸索研究。空檔時間就查看系統紀錄檔(System Log)就會知道過去什麼因素造成系統傷害。 根據手上的筆記慢慢實作與驗證找出它為什麼這樣運作。

🕵️ 先評估再承諾

需求者:這功能很簡單吧?上面加一個輸入框就好啦!
工程師:請給我時間先評估可行性。

這種對話是不是常聽到。其實不是工程師不會,而是本身系統有風險。接到需求時,我們都不會急著回覆對方。儘管業管單位一直吵,主管一直催,我們都會先評估一下影響的範圍。

資安最重要。系統要加什麼功能,改什麼邏輯,我們會先考慮「此功能恐是否符合資安要求」。假設使用者要求密碼輸入框要加入「小眼睛」看一下自己輸入什麼密碼。雖然密碼加「小眼睛」很簡單,但是在政府機關、大專校院都有一套資安法規要遵循, 是不一定允許這樣調整喔~~~

微調影響程度。最常見的方式就是檢查程式邏輯、模組的關聯、是否會造成使用者操作錯誤、還有的技術雷。老系統比較複雜,看起來簡單的微調,但程式異動影響範圍甚廣。我們會根據影響範圍提出建議階段性修補或是替代方案。

👩‍💻修補系統如同修補老房子

在不影響系統核心架構的情況下,工程師處裡方式如同修補老房子。老房子哪裡漏水就抓漏,水管電線老舊就更換。資訊系統一樣,哪裡有BUG 就改哪裡,使用者操作錯誤就導正資料,硬體設備或資料庫版本老舊,就更換新版本,新設備。

新框架、新CODE 寫法沒辦法直接套在老系統上,我們只能以修邊方式補強功能或是額外架一個中介服務將新資料寫入舊資料庫。也許你會覺得現在有 AI,很多事情透過AI 協助都可以迎刃而解。但是我們最怕就是動到大動脈,核心程式修到面目全非就一發不可收拾。畢竟系統還是穩定的運作,尚未遭到資安危機。

💪 該如何面對「老系統的焦慮」?

新鮮人入職第一年的我,每次看到老系統卡卡、奇怪流程,我都很焦慮。我也多次向主管反應要將系統砍掉重建。經過歲月的磨礪,現在已經不是那個不知天高地厚的菜鳥。家有一老如有一寶,老舊系統能穩定運作靠的是前人持續努力、深度思考、堅持不懈,並勇於嘗試與從失敗中滾動式調整邏輯。熱情投入其中,跟著前輩腳步思維,還真讓我找出一片天。

留言
avatar-img
思樂風 - IT 媽媽科技筆記
11會員
32內容數
我是思樂風 ( IT 媽媽科技筆記 )。 你是非資訊背景的人、你對網路科技充滿好奇、但你很怕遇到詐騙。 你想玩 AI ,但你怕踩雷。 你想轉職軟體工程師,但不知道從哪摸索。 想要了解更多,趕快加入 我的專頁吧 我們一起探索、一起加油。
2025/11/14
軟體開發生命週期(SDLC)包含以下主要階段:需求分析、系統設計、程式開發、系統測試、部署上線與後續維護。從需求分析直到系統部署上線,大約需要幾個月、半年、甚至一年。系統後續維護可能長達10 年、20 年 甚至 30 年。最近單位元老要退休,IT 媽媽接到一套系統,其年齡比我還年長。
Thumbnail
2025/11/14
軟體開發生命週期(SDLC)包含以下主要階段:需求分析、系統設計、程式開發、系統測試、部署上線與後續維護。從需求分析直到系統部署上線,大約需要幾個月、半年、甚至一年。系統後續維護可能長達10 年、20 年 甚至 30 年。最近單位元老要退休,IT 媽媽接到一套系統,其年齡比我還年長。
Thumbnail
2025/11/04
是不是常看到這些廣告字眼: 「全職媽媽 8 週轉職前端工程師!」 「0 基礎3 個月成為高薪全端工程師!」 「 行政轉前端工程師」 「 AI 工程師轉職」 這些廣告很吸引人,但卻容易誤導。今天我來分享自己個人的學習經驗,若您最近想轉職軟體工程師,這篇文章希望可以幫到您。 👉 真實情況是
Thumbnail
2025/11/04
是不是常看到這些廣告字眼: 「全職媽媽 8 週轉職前端工程師!」 「0 基礎3 個月成為高薪全端工程師!」 「 行政轉前端工程師」 「 AI 工程師轉職」 這些廣告很吸引人,但卻容易誤導。今天我來分享自己個人的學習經驗,若您最近想轉職軟體工程師,這篇文章希望可以幫到您。 👉 真實情況是
Thumbnail
2025/10/24
近年 AI 熱潮席捲全球,「哪些工作將被 AI 取代」成為新聞媒體的熱門頭條。其中,「軟體工程師」因為工作內容直接與程式碼相關,幾乎每次都榜上有名。那麼軟體工程師真的會被 AI 取代嗎?
Thumbnail
2025/10/24
近年 AI 熱潮席捲全球,「哪些工作將被 AI 取代」成為新聞媒體的熱門頭條。其中,「軟體工程師」因為工作內容直接與程式碼相關,幾乎每次都榜上有名。那麼軟體工程師真的會被 AI 取代嗎?
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
你是否也曾有過這樣的時刻? 螢幕上的 IDE (整合開發環境) 亮著,Terminal 裡的日誌滾動著,邏輯閘與資料流在你的腦海中清晰可見。你是一個解決問題的專家,一個在 0 與 1 的世界裡建立秩序的創造者。然而,你內心的 CPU 卻卡在一個無限迴圈裡,耗盡資源,瀕臨死當。 薪資單上的數字逐年
Thumbnail
你是否也曾有過這樣的時刻? 螢幕上的 IDE (整合開發環境) 亮著,Terminal 裡的日誌滾動著,邏輯閘與資料流在你的腦海中清晰可見。你是一個解決問題的專家,一個在 0 與 1 的世界裡建立秩序的創造者。然而,你內心的 CPU 卻卡在一個無限迴圈裡,耗盡資源,瀕臨死當。 薪資單上的數字逐年
Thumbnail
在整體面試中,除了技術能力以外,Yahoo(像許多大公司)也會重視溝通能力、問題拆解能力、以及你對技術/產品/公司文化的理解。從網路上面試者的回饋來看,Yahoo 的前端面試傾向偏重原生 JavaScript、瀏覽器機制,以及你處理現實工程問題的方式(而不是只做 LeetCode 題目)。
Thumbnail
在整體面試中,除了技術能力以外,Yahoo(像許多大公司)也會重視溝通能力、問題拆解能力、以及你對技術/產品/公司文化的理解。從網路上面試者的回饋來看,Yahoo 的前端面試傾向偏重原生 JavaScript、瀏覽器機制,以及你處理現實工程問題的方式(而不是只做 LeetCode 題目)。
Thumbnail
本文分享 Zalando 資深前端工程師的面試流程、各階段的重點,以及準備建議,旨在幫助有意挑戰歐洲大型科技公司的工程師。
Thumbnail
本文分享 Zalando 資深前端工程師的面試流程、各階段的重點,以及準備建議,旨在幫助有意挑戰歐洲大型科技公司的工程師。
Thumbnail
軟體工程師職涯升級計畫啟動!本文深入探討陣列與串列這兩種基礎資料結構,比較其特性、優缺點與常見操作,並輔以JavaScript範例程式碼及時間複雜度分析,幫助讀者學習如何根據不同情境選擇合適的資料結構,寫出更高效的程式。
Thumbnail
軟體工程師職涯升級計畫啟動!本文深入探討陣列與串列這兩種基礎資料結構,比較其特性、優缺點與常見操作,並輔以JavaScript範例程式碼及時間複雜度分析,幫助讀者學習如何根據不同情境選擇合適的資料結構,寫出更高效的程式。
Thumbnail
某些使用情境下,為了節省大量的安裝時間,及確保每台機器的安裝設定的一致性,製作一個免安裝版的映像檔就非常有必要了。 這次Violet來教大家如何製作純文字介面的免安裝ISO檔,同時也會說明如何使用指定的Kernel版本。 教學使用的作業系統為Debian11 bullseye,Kernel版本為
Thumbnail
某些使用情境下,為了節省大量的安裝時間,及確保每台機器的安裝設定的一致性,製作一個免安裝版的映像檔就非常有必要了。 這次Violet來教大家如何製作純文字介面的免安裝ISO檔,同時也會說明如何使用指定的Kernel版本。 教學使用的作業系統為Debian11 bullseye,Kernel版本為
Thumbnail
要轉換到另一個領域,需要投入相當的時間,一旦準備的時間拉得越長,轉職要面臨的壓力也就可能隨之增加。 這次就將 Podcast 先前邀請到多位軟體工程師分享的轉職經驗彙整成整理包,讓大家可以更快找到自己需要的轉職資訊,把更多時間留在提升專業技能上!
Thumbnail
要轉換到另一個領域,需要投入相當的時間,一旦準備的時間拉得越長,轉職要面臨的壓力也就可能隨之增加。 這次就將 Podcast 先前邀請到多位軟體工程師分享的轉職經驗彙整成整理包,讓大家可以更快找到自己需要的轉職資訊,把更多時間留在提升專業技能上!
Thumbnail
完成第一步轉職,任職後端工程師也一年多了,除了學習到完整的多人開發流程、職場上反覆的CRUD跟理解前人的智慧後(legacy code),在日復一日的生活裡,作為 Junior 的下一步要做什麼?
Thumbnail
完成第一步轉職,任職後端工程師也一年多了,除了學習到完整的多人開發流程、職場上反覆的CRUD跟理解前人的智慧後(legacy code),在日復一日的生活裡,作為 Junior 的下一步要做什麼?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News