為什麼從電腦通訊工程轉系到生物醫學工程

大一電通、大二轉 BME。多數人認為「轉錯了」── 但延畢的兩年讓我確信:跨領域是我的長處,不是包袱。

#生涯#跨領域#biomedical-engineering#醫療資訊

重點摘要

我大一就讀銘傳大學電腦通訊工程學系(CCE),大二主動轉系到生物醫學工程學系(BME)。多數人聽到這個決定的第一反應是「為什麼不直接讀資工 / 醫科?」── 這篇文章想說明:對我而言,CCE 教我「怎麼蓋系統」、BME 給我「為什麼蓋這個系統」。兩件事我都需要。


大一的 CCE 課表給我的

電腦通訊工程學系的核心 ── 網路、作業系統、訊號與系統、嵌入式 ── 對於想做「軟體 / 韌體 / 通訊」的人是紮實基礎。一年下來我學到:

  • TCP/IP 協定堆疊 ── 這個知識在我之後寫 Cloudflare Workers / WebSocket 都直接用上
  • 作業系統的 process / thread / IPC 模型 ── 後來我在 Electron 桌面應用做 sandbox + IPC 隔離時,這套基礎讓我不需要從零學
  • 資安基礎 ── 對稱加密、雜湊、PKI、TLS 握手 ── 這些後來變成我寫零知識加密 vault 的底氣

但越讀越覺得不對勁。大一下我開始問自己:「我想做什麼用途的軟體?」


為什麼選 BME 而非資工?

我跟學長談過、跟教授談過、跟自己談過。最後想清楚的是:

我不是想成為「會寫軟體的人」,我想成為「能用軟體解決醫療問題的人」

這兩件事看起來只差幾個字,實際上選擇路徑差很多:

純資工路線跨醫工路線
大三大四深入 ML / DB / 編譯器大三大四接觸生理學、解剖、生醫訊號
畢業後進大廠 / 新創寫一般軟體畢業後跨足醫療軟體 / 醫材 / 醫資管
主修強、副修可能放棄跨領域必然有部分淺、但能對話

我選後者。我寧願在自己想做的領域是「半個人」,也不想在不想做的領域是「全人」


BME 真實學了什麼

兩年下來,BME 的課表給了我這些別系不會教的東西:

1. 醫療場域的「正確」標準跟工程不一樣

工程上的「正確」是 unit test 過、效能達標;醫療上的「正確」還要再加一層 ── 判讀結果要能對應臨床實務、站得住腳。一個 KDIGO 分期演算法即使數學上完全正確,若脫離了實際的臨床判讀脈絡,在醫療場域仍可能不被接受。

這個觀念的轉變在我寫 ClinCalc 規則引擎時很有用。我的目標不是寫一個「公式算對就好的計算器」,而是一個貼合臨床判讀脈絡、依循臨床指引判讀邏輯的解讀工具。

2. 文獻閱讀肌肉

BME 強迫我讀 KDIGO 2024 / 醫療資訊管理 SCI 期刊 / 系統性回顧 ── 這些文獻的寫作風格跟工程 RFC 完全不一樣。一開始我讀 30 分鐘只能看完一段,半年後可以一小時讀完一篇 ── 這個肌肉以後做研究會省很多時間。

3. 醫療術語跟解剖學

「eGFR」「HbA1c」「SOAP」「ICD-10」「TOTP-MFA」── 在 BME 的人這些術語混在一起完全不違和。跟資工背景的朋友聊 PostgreSQL RLS、或跟醫療背景的朋友聊腎絲球過濾率的臨床意義,兩邊的語言我大致都接得上。這兩個題目我各寫了一篇白話入門,也算是自我檢驗能不能講清楚:Row Level Security 是什麼看懂體檢報告上的腎功能 eGFR


兩年延畢,我把時間花在哪

延畢的兩年我幾乎全部用在這兩個系統上。從 0 開始啃了不少課表裡沒有的東西:

  • 把 KDIGO 2024 原文(Kidney International 105 卷 4S 附冊)讀完,再把 G1–G5 分期演算法翻成 TypeScript
  • 對照 OWASP Top 10:2021 與 RFC 6238 / 4226,推導 TOTP 雙重驗證的鎖定策略
  • 從 Electron 官方 security checklist 一條條對到 main / renderer 程式碼,確認沒留 nodeIntegration 漏洞
  • 為了把零知識加密做對,把 PBKDF2、AES-256-GCM、雙金鑰衍生的數學基礎讀過、再對照 Web Crypto API 實作一遍
  • 為了寫 Med-HALT / Med-PaLM 那兩篇 blog,把原始 arXiv 論文一段一段啃下來

中間踩過不少坑、也修了不少:第一次寫 RLS 直接讓查詢回傳全空,debug 兩天才發現 service_role 在 dev 環境繞過了 policy;TOTP 初版 client / server 時鐘差 30 秒就驗證失敗,加 ±1 window 才穩;零知識 vault 第一版 PBKDF2 跑 5 秒才解鎖,改 Web Crypto 後壓到 200ms。

每一段這樣的軌跡疊起來,才有現在兩套系統的樣子。

我可以針對核心設計(為什麼用 RLS、為什麼選 KDIGO 2024 而非 2012、為什麼 TOTP 鎖 30 分鐘)說清楚自己的判斷依據;比較細的程式碼層級,我會搭配 IDE 邊翻邊講比較準。


給類似處境的人的建議

如果你大一在「不確定的科系」糾結要不要轉:

  1. 問自己「我想解決什麼問題」,不是「我想學什麼」。前者引導你找領域,後者只引導你找書
  2. 轉系初期過去的基礎跟新領域不完全對得起來,要花時間自學補。願意把時間花在這些「課表外」的東西上 ── 補基礎、做專案、寫筆記、讀指引原文 ── 每樣都會慢慢長成自己的肌肉
  3. 跨領域不等於什麼都會 ── 是「我在我的領域內,跨另一個領域可以對話」。這個 mindset 比 「全才」更務實

兩年後回看

我不後悔轉。這條路要靠自己摸索、沒有現成的「轉系該怎麼做」標準路徑可以照著走。我用兩年延畢做出兩套自己會用、也希望對別人有用的醫療系統 ── 對我來說,這個時間花得不冤枉。

接下來研究所推甄、業界求職,這個跨領域的故事都會再被講一次。對我而言,找對領域比走最快的路重要。


延伸閱讀