軟體工程師到底在做什麼?

很多人以為寫程式就是坐在電腦前面瘋狂打字,螢幕上一堆看不懂的東西在跑。實際上,軟體工程師的日常大概是這樣的:花 20% 的時間寫程式,花 80% 的時間在想「為什麼這個東西不會動」。

認真說,工程師做的事情其實是「解決問題」。老闆說「我們需要一個購物車功能」,工程師要做的不是馬上開始寫程式,而是先搞清楚:購物車要能做什麼?加商品、改數量、算運費、結帳?每一個動作背後都是一個小問題,工程師的工作就是把這些問題一個一個拆解,然後用程式碼來解決。

所以學程式,不是在背語法。語法 Google 就查得到。真正要練的是「怎麼把一個大問題拆成小問題」的能力。

會 Google 就成功一半了。認真的。全世界的工程師每天都在 Google 查東西,這不丟臉,這是基本技能。

前端和後端是什麼?

想像一間餐廳。你走進去,看到的裝潢、菜單、服務生的微笑,這些是「前端」——使用者看得到、摸得到的部分。廚房裡面在備料、炒菜、洗碗,這些是「後端」——使用者看不到,但沒有它餐廳就開不了。

網站也是一樣。你在瀏覽器上看到的按鈕、動畫、排版,都是前端工程師做的。你按下「送出訂單」之後,資料怎麼存到資料庫、怎麼通知商家、怎麼算金額,這些是後端工程師處理的。

前端 後端
使用者看得到嗎? 看得到 看不到
主要語言 HTML, CSS, JavaScript Python, Java, Node.js
常用工具 React, Vue, Tailwind Django, Spring, Express
日常挑戰 跨瀏覽器相容、RWD 效能、安全性、資料庫

該學什麼語言?

這大概是新手問最多的問題了。答案是:不要想太多,先選一個開始就對了。語言只是工具,就像你不會糾結「我該用藍筆還是黑筆」一樣,重要的是你寫了什麼,不是你用什麼寫的。

語言 特色 適合場景
JavaScript 萬用,前後端都行 網站、App、什麼都能做
Python 入門最簡單 AI、數據分析、自動化
TypeScript JavaScript 的進化版 大型專案、團隊開發

如果你完全沒方向,先學 JavaScript。它什麼都能做——網站前端、後端、手機 App、桌面應用,甚至可以拿來寫遊戲。學一個語言,打開所有大門。

學程式的正確順序

1
搞懂基本概念

變數、條件判斷、迴圈。這三個東西搞懂,你就有能力寫出簡單的程式了。不用急著學框架,先把地基打好。

2
做一個小東西

待辦清單、計算機、猜數字遊戲,什麼都好。重點是從頭到尾自己做一遍,體驗「把想法變成可以用的東西」的過程。

3
學 Git(版本控制)

Git 就像遊戲的存檔功能。寫壞了可以回到上一個版本,多人合作的時候也不會互相蓋掉對方的程式碼。這是所有工程師都在用的工具。

4
看別人的程式碼

去 GitHub 上找有興趣的開源專案,看看別人怎麼組織程式碼、怎麼命名變數、怎麼處理錯誤。看得越多,你的「程式碼品味」就越好。

5
做一個完整的專案

有前端、有後端、有資料庫的完整作品。不用很複雜,但要「能用」。這會是你面試時最有力的武器。

常見的學習陷阱

Bad

把整本書看完再開始寫

Good

看一點、寫一點、錯一點

學程式最大的陷阱就是「準備太久」。看了三個月的教學影片,一行程式碼都沒寫過。學程式就像學游泳,你不跳進水裡,永遠學不會。

Bad

什麼都想學

Good

先精一個,再擴展

今天學 React,明天學 Vue,後天看到 Svelte 又心動了。這樣什麼都學不好。先把一個工具用到熟,理解背後的概念,之後切換到其他工具會快很多。

總結

你可以做的作品

  • 個人網站 用 HTML + CSS 做一個自我介紹頁面
  • 待辦清單 App 學會 CRUD 操作的最佳練習
  • API 串接小工具 串天氣 API 或匯率 API 顯示資料
  • 計算機 練習 JavaScript 邏輯和 DOM 操作
  • 個人部落格 用 Hexo、Hugo 或 Astro 架一個

需要具備的觀念

  • 變數、條件判斷、迴圈
  • 函式和模組化
  • 前端和後端的分工
  • HTTP 請求和 API 溝通
  • 版本控制(Git)
  • 資料結構基礎(Array、Object)

其他主題

AI 怎麼用? → SEO 入門 → 資料庫怎麼選? → 工程師怎麼成長? → 專案怎麼管? →