看到 AI 搶走工作的新聞,走工程師這條路會不會錯?
你是不是也帶著這樣的不安、反覆思考著?
其實我以前也一樣。
每天做著沒什麼變化的工作,卻又焦慮「這樣下去不行」
雖然持續學工程,但真的方向對嗎?
AI 最近好像很厲害,我努力學的那些職位還會存在嗎?
我也曾過著那樣的日子。
不過,實際在現場工作三年後,我有了些體會與感受。
那就是:成為工程師所需要的,是知道並實踐「對事物的思考方式」以及「與 AI 的相處之道」。
這次我想透過自己在現場的經驗,分享我個人認為「工程師初學者成為未來工程師時需具備的思維與態度」。
※當然,非工程師初學者的人也希望能有所參考。
「數學不好就做不了工程師」
我以前一直有這種印象。但實際到現場後發現,中學或高中學的數學知識幾乎用不到。
工程師需要的不是解題的數學能力,而是 「邏輯思考」。
什麼是邏輯思考?
當你經常有意識地練習並實踐這種思維,會提升你 開發的品質與速度。
開始任務就先猛動手的人其實不少。這樣常常會造成事後大量返工,也容易因看不到目標全貌而降低輸出的品質。
就像戴著眼罩去跑完 42.195 公里一樣。
相反的,如果在開始任務前先釐清目標,並把到達目標的流程拆解出來再開始,你會比較容易又準確地更快到達終點,這一點應該很好想像。
邏輯思考其實就在日常工作與生活的延伸上,很多時候我們是無意識在做的。
舉例來說,想吃泡麵時,把流程大致拆成「買泡麵、燒開水、等、吃」,並且無意識按順序完成。
像這樣其實平時就已經在做了,所以不需要想得太難。到了工作層級會需要訓練,但誰都可以做到。
當你在做作品集等想要展示的輸出物時,試著把構成它的要素、以及開發的步驟,不只留在腦中,而是寫在試算表或紙上並實踐看看。
剛入職時面對陌生系統,我常常會呆住,不知道從哪下手。那時有人教我一套讓開發更順利的「三個步驟」。
① 確認整體樣貌
不要一開始就看細節程式碼,而是先把系統的目的、為了達成目的所構成的要素,以及那些要素間的連結與範圍把握住,確認整體樣貌。
如此一來,當你要開發系統中某個部分時,就會知道自己在做什麼,處於整體的哪個位置,不容易迷失。
② 將負責範圍細分(拆解)
看到整體後,把自己負責的部分切出來。不管看起來多複雜,只要細分開,就只是「單純工作」的集合而已。
③ 明確輸入與輸出
把「輸入什麼會得到怎樣的結果」這個流程搞清楚。不要試著一次理解所有內部邏輯,只要抓到「入口與出口」的關係,實務上就能驚人地順暢運作。
例:想像會員註冊功能
下面是 Java 的簡單範例,但概念對任何語言都相同。
// 會員資訊註冊的簡單處理範例
public String registerUser(UserRequest request) {
// 1. 輸入(Input):取得使用者輸入的姓名等
String name = request.getName();
// 2. 內部處理:這裡的細節可以先放一邊,重點是先把流程拆解清楚
if (name == null || name.isEmpty()) {
return "請輸入姓名"; // 回傳錯誤作為輸出
}
// 3. 輸出(Output):儲存到資料庫並回傳完成通知
userRepository.save(request);
return "註冊已完成!";
}
如果你覺得「程式碼內容全部都要理解才行」,很容易陷入泥沼。先用 「看入口與出口」 的感覺去做,很多最初的困惑就會消失。
捨棄完美主義
我本來是太認真、完美主義導致卡住的人。常常抱著「要 100% 理解才交出去」這種心態,結果進度變慢。
但在現場學到的是:早一點交出 「自己認為 60 分的成果物」 的重要性。
遇到錯誤無法解決,短時間內難以達到 100 分,是很常見的事。
另外,認為只有 100 分才會被認可的錯誤想法,或想以完美狀態提交的自尊心,會讓你卡住,並可能造成別人的困擾。
我從經驗中了解到:與其自己孤軍奮戰三天追求 100 分,不如先交出 60 分並說「我做到這裡了,這部分卡住了」向團隊請教,對整體反而更有幫助。
能以 60 分交出的人,結果會成長得更快
如果你不是在現場,也在程式教學班做題目,遇到卡點就早點問講師會是好方法。
那些把作品集拼到 100% 才肯發表的人,不妨先以 60 分把東西放出來看看。
你會從前輩或外界得到很多你自己沒察覺的視角,比如「有更好的做法」「其實我希望你這樣做」等。快速蒐集這些觀點並虛心採納的人,成長速度會非常快。
如果你覺得自己對 100 分太執著,不妨試試看這種方式。
把 AI 當作夥伴
「AI 會寫程式,工程師的工作會消失嗎?」
我也聽過這種擔憂,但未來的時代,AI 與其說是威脅,不如說是
要把 AI 變成「強而有力的夥伴」
這樣的意識來面對 AI 是很重要的。
未來工程師被期待的,不是從頭完美寫出程式的能力,而是能夠運用 AI,達成高效率且高品質的成果。例行性的程式撰寫可以交給 AI,人類則會更多專注在「應該做什麼系統才能解決問題」的設計與目的設定上。
但如果你只是把 AI 當成出答案的工具,然後把那些答案當作成果直接交出,那是危險的。
那樣會讓你處於 AI 的平等甚至下位,而非主導的角色。
應該要駕馭 AI、思考如何讓 AI 給出最佳答案,把 AI 當作夥伴(也就是善用它並站在判斷的一方)、並掌握自己的決策權。
思考 AI 所產出成果之後的成果
不僅是讓 AI 幫你寫程式就結束,而是要想:以 AI 寫出來的程式所實現的功能,要如何做得更好?
透過本文第一點所述的邏輯思考來鍛鍊思維,你就能提出 AI 想不到的點子與解法,成為不會被 AI 替代的人才,我相信如此。
這個問題不分有經驗或沒經驗的工程師都可以做。每天學習中撥出十分鐘也好,停下來思考這類問題,或許是個好的開始。
這次主要是針對工程師初學者,分享成為未來工程師所需的思考方式,表達了我率直的看法。
如果有人願意先把我說的做做看,那我會很高興。
在充滿不確定性的時代裡,希望我能發出對想走工程師這條路的人有幫助的文章,哪怕只幫到一個人。
謝謝你讀到最後。
PRUM 的工程師 95% 以上都是從無經驗者錄用。
歡迎到我們的企業網站看看。