# 自學程式，你應該知道的四件事情（五）學習程式到轉職工程師

> 自學程式的趨勢愈來愈明顯，對於想轉職為軟體工程師的人來說，了解報酬、風險及適性度是關鍵。本文章提供四件重要事情，幫助你在學習程式的過程中更有效率，並提升職場競爭力。無論是語言選擇或學習目標的設定，這些經驗都將助你一臂之力。

Published: 2020-05-13
URL: https://kaochenlong.com/become-a-developer

---

在這「全民學寫程式」的年代，寫程式的門檻逐漸降低，無論你是打算成為軟體工程師、還是希望透過「自學寫程式」來提升自己的職場競爭力，我都想跟各位分享四件事情；這四件事情是我過去寫程式二十多年以及教學十年經驗來所累積的心得，目的很簡單：

「協助你縮短程式語言的學習時間，並達到更好的成效」

而本篇文章討論的主題是「透過學習程式，轉職軟體工程師，其實比你想像中的踏實」，我們現在開始吧！

&lt;!-- more --&gt;

1. [我該學什麼程式語言？](/2019/07/19/how-to-choose-a-programming-languge/)
2. [對新手來說，如何「喜歡上寫程式」？](/2020/03/06/enjoy-programming/)
3. [程式的學習曲線與大魔王「絕望沙漠」](/2020/03/07/despite-of-desert/)
4. [設定容易評量且具體的學習目標](/2020/04/28/set-your-learning-goal/)
5. 工商：[學習程式到轉職工程師](/2020/05/13/become-a-developer/)

從事程式教育的這幾年來，我們協助了許多學生轉職；有的從行銷轉職到後端工程師、也有[從 Bartender 轉職全端工程師](https://5xcampus.com/astrocamp/testimonies/from-bartender-to-developer)。當初會做程式教育的原因很單純，就是我很喜歡 Ruby 這個程式語言，我希望能讓更多人體驗 Ruby 甚至成為 Ruby 工程師。做一段時間以後，逐漸有學生開始因為我們的課程而轉職成功並改變他們的職涯，我就開始思考：

「學習程式，對他們來說，真的是一條踏實的道路嗎？」

這裡所謂的「踏實」，我從三個觀點來定義：

1. 報酬
2. 風險
3. 適性度

## 一、報酬

先談談報酬吧！雖然近年來因為越來愈多有能力作為「入門工程師」而有[將整體的平均薪資拉低](https://buzzorange.com/techorange/2019/05/10/tech-salaries-tw/)，但以「轉換跑道」來說，軟體工程師還是一個不錯的選擇。

而且，與其他產業比起來，軟體產業是相對比較不會有「老屁股卡在前面」這回事，原因主要有兩個：

1. 產業較新。
2. 人才流動性高。

因為產業相對較新，以 Web、App 以及衍生的相關職業來說，其實是近十年來才開始大紅大紫、吸引大量的人才進入。同時因為技術的泛用性可以適用在許多不同領域（生醫、財經、電商、物流等），職缺數量也持續的在上升；因此，被「老屁股」卡住的機會比起其他成熟的產業，數量上少很多。

其次，軟體產業有個「人才流動性高」的特性。意思是如果你在 A 公司使用 Ruby on Rails，在轉換到另一家 B 公司如果也是使用 Ruby on Rails，工作能力幾乎是沒有打折！同樣的道理，在台灣寫 Ruby ，除了語言能力外，幾乎也是能無痛轉移到日本、新加坡、德國等地方。因此，越來越多台灣優秀的軟體人才，其實不斷地離開台灣而去追求更好的發展（苦笑）；正因為許多中堅份子離開，伴隨著就是入門工程師有更多的機會被迫面臨第一線、高強度的挑戰，如果能生存下來，能力上升得非常快。

## 二、風險

從海內外各家數據顯示，軟體工程師還是成長最快速的領域之一。除此之外，我認為軟體工程師有兩個特性可以將讓工程師的職涯風險降到很低：

1. 移動能力
2. 學習能力

移動能力在「報酬」的部分其實已經提過了，移動能力不只讓「入門工程師」在台灣的升遷不受影響，在風險性上，在累積一定的實力後，將會擁有「國際移動能力」，意思是，如果未來台灣的軟體產業無法持續成長，你可以帶著你的專業、技術，換到其他國家。你的專業與價值是跟著你這個人，而不是留在公司。

學習能力方面，有朋友問我說「前端工程師未來會不會被淘汰？」。未來的事我說不準，或許會、或許不會；但如果你是一個合格的工程師，如果有前端工程師消失的那一天，你應該有能力在「那一天」來臨之前，將自己的程式能力轉移到另一個領域。舉例來說，我有認識一個年輕人，他大學是念社會系的，後來轉職成全端工程師，工作兩年以後，申請上美國排行前 20 的研究所，畢業之後，他的出路將不會侷限在「網站工程師」；另外也有一位物理系的同學，先從全端工程師開始他的職涯，工作一年後，他開始上網路自學「人工智慧 AI」相關的課程，再一年後，他拿到在日本網路公司 AI 工程師的工作，這些都是「工程師」將自己的經驗從 A 領域轉移到 B 領域的例子。

所以這個議題的結論是：工作或許會被淘汰，但在那天來臨之前，你應該有能力轉移自己的寫程式能力到下一個領域。

## 三、適性度

「學生要是不喜歡寫程式怎麼辦？」

我會建議學生想體驗「寫程式」的感覺，可以先試試線上課程，先了解自己對於「寫程式」的感覺；很多事情，用看的、用想的無法體會，如果嘗試的成本很低，為何不[現在就開始](/2019/07/19/how-to-choose-a-programming-languge/)呢？（笑）

很少職業是「開始嘗試之前就可以初步了解適不適合」，例如網路上常看到「我想重考藥師，但我不知道我...」或是「我想重考獸醫，因為...」，但大部分的工作，你很難在工作前了解「自己適不適合」，舉例來說，你在成為藥師之前，你很難體驗「藥師工作到底是怎麼回事」；但軟體工程師，只要有電腦有網路，跟朋友一起做個 side project ，只要很短的時間跟很低的成本，很快就可以體驗軟體工程師日常的 60%。

針對以上三點，水準以上的報酬、較低的職涯風險、容易檢測適性度，是我認為「轉職軟體工程師」其實是個踏實的選項的原因。

最後，如果你有打算要轉職成為軟體工程師，我們有[相關的課程](https://5xcampus.com/camp)，歡迎來跟我們聊聊！



