# 「自學程式現場」哈囉，世界！

> 自學程式的挑戰不分年齡與背景，無論是對程式語言的選擇還是轉職的疑慮，這篇文章提供多方的見解，幫助讀者釐清學習路徑。從新手應學習的程式語言到面試準備的建議，讓每位想學程式的人都能找到合適的方向。

Published: 2021-09-16
URL: https://kaochenlong.com/self-taught-hello-world

---

「我不是本科系的，有辦法學程式嗎？」
「我想學程式，應該學哪個程式語言」
「學 XXX 程式語言好找工作嗎？」
「我已經三十好幾，現在轉職會不會太晚？」
「現在應該要學前端還是要學後端？」

上面這些都是我們的粉專常會收到的訊息，也在 PTT 的某些版也是常常吵架的主題。先說，我個人覺得吵架沒有不好，我喜歡激烈而且有料的對話，只是吵架到最後可能會因為吵輸了面子掛不住而容易失焦，偏離原本的主題。

&lt;!-- more --&gt;

## 我是...

我是[高見龍](https://kaochenlong.com/)，我是台北醫學大學畢業的，順利的話我應該是參加國考然後當個營養師（但就不順利嘛，不然我怎麼會在這裡？）。所以就以資訊相關領域來說，我應該可以說自己不是本科系的學生。

我目前最喜歡也是賴以謀生的程式語言是 Ruby，已經寫超過 10 年了，現在還是每天在寫。在這之前因為興趣或是討生活，曾經寫過：

#### ASP

純 ASP，就是古老時代沒有 .NET 的那種 ASP（講「純」好像哪裡怪怪的）。這是我第一個接觸的程式語言，我第一個作品是幫忙修改學校的校務系統，現在想起來都覺得有點抖。

#### Perl

曾經用 Perl 幫我妹的公司做了一個排煙檢測站的預約系統，聽說現在還有在用。是的，我有妹妹。

那是第一次從 Microsoft 的世界跨到 Open Source 的世界，除了覺得 Perl 的語法很新奇之外，當時也覺得怎麼會有這麼多傻瓜願意把自己的程式碼無私的公開出來給大家用，沒想到我後來也變成這樣的傻瓜。

#### PHP

PHP，一開始用純 PHP（又是純）做一些網路行銷的專案，例如留資料、票選、抽獎之類的功能，後來用 Zend Framework 幫國內某加油站做過官網並串接內部金流系統。

#### ActionScript

雖然當年大多都只是用 ActionScript 做一些網路行銷的專案，但我認為我大部份的程式基礎，例如物件導向、設計模式等等都是在這個階段練起來的。以現在的標準來看，在當時那個年代 Flash 可是網站前端的霸主，而且還是跨瀏覽器，安裝率將近 100%，現在很紅的 JavaScript 當時不知道輸幾條街去了，最多就只是拿來做表單驗證而已。

#### Python

一開始用它寫簡單的爬蟲玩具，後來搭配 Django 做前面提到的網路行銷案的後端。有趣的是，在我寫了許多年的 Ruby 之後，沒想到我的個人部落格的關鍵字搜尋量第一名竟然還是 Python 相關的關鍵字 orz

### Ruby

我本來 Python 寫的很開心，直到某次參加了某位 [i 姓大大](https://ihower.tw/blog/) 的課程，發現基本語法雖然沒有跟 Python 差很多，但卻有趣很多，搭配 Ruby on Rails 開發框架比我當時用的 Django 方便好多，然後我就變心跳槽到 Ruby 的世界，直到現在還在寫。

## 「自學程式現場」系列會包括哪些主題？

是說，因為開班授課的緣故，我常會被貼上「賣課程」的商人標籤，這我不否認，因為這的確就是我每天在做的事。而且，老實說我就是因為開班授課或是企業訓練，才有機會發現原來很多人嘴巴上說的會或是自以為的會都不是真的會。不要說程式語言，光就說 `Git` 這個小工具就好，我看到很多亂七八糟的有趣用法，真正體會到「你的會不是我的會」。

我大部份技術都是自己從書上或是網路上看影片或線上課程學來的，細節我會後續的文章跟各位分享。算一算從年輕開始到現在寫程式已經超過 20 年，從社群分享到開班授課也超過 10 年的時間，幫助過許多學員成功由非本科生轉職成軟體工程師，我想我應該算是有相關的經驗值可以跟大家分享「自學程式」這個主題。

這個主題預計會有一些大哉問型的問題，像是：

- 新手應該要學什麼程式語言？
- 本科生（或學歷）重不重要？
- 現在學寫程式會不會太晚？
- 程式語法學了但很快就忘了怎麼辦？
- 是不是每個人都適合寫程式？我是不是沒有寫程式的天分？
- 學 XXX 好不好找工作？
- 英文不好怎麼辦？
- 工程師是不是常爆肝？
- 怎麼樣才會變強！

也有比較實際一點的，像是：

- 學 XXX 的薪資水準如何？
- 面試應該怎麼準備
- 前端（或後端）要學哪些東西？
- 演算法重不重要？需不需要刷題？

還有一些比較有趣的，例如：

- 傳說中的「前端難民」是怎麼回事？
- 坊間的程式速成班可信嗎？
- 軟體工程師年薪百萬是真的嗎？

中間還會再安插幾段實際帶著大家寫一些簡單的程式的影片，讓大家感覺一下寫程式是什麼感受（絕對不是像台灣鄉土電視劇裡演的那樣）。希望這個「自學程式現場」系列文章，能對各位帶來一些的幫助。

...to be continued ✌️



