後端工程師的第一堂課 (30) : 如何成為後端工程師?

Johnliutw
JohnLiu 的軟體工程思維
8 min readJan 22, 2023

這是篇共 30 篇的後端領域入門系列文章,預計 1 -2 週新增 1 個新文章。
在後端領域有許多資源在告訴我們怎麼寫好 Python, Golang, Java, PHP … 等各種程式語言。但卻很少告訴我們怎麼學會 Web 後端領域 的知識。

希望你可以透過這篇文章,搭配你正熟悉中的某門任何程式語言,讓你順利入門 Web 後端 :)

【後端工程師的第一堂課】全系列: https://medium.com/@johnliutw/list/da301cc31b15

感謝各位讀者的支持,這是 後端工程師的第一堂課 系列最後一篇,相信有追蹤此系列的讀者,已經對後端工程領域有更棒的認識。

假設你已下定決心,要投入後端工程領域的學習,希望以下的學習路徑參考,能夠幫助你有效的快速學會,身爲後端工程師的技術能力 !

1. 語法初學

第一步驟,如果你是完全初學的初學者,推薦使用像是 Codecademy & Codefree 等平台,免費的學會基本的程式語法:

這些網站最獨特的地方,是從教 文法 開始,也就是你可以先想想你想學習哪個領域,可能網站前端,就是 JavaScript ; 網站後端,會是 PHP 、 C# ;
資料處理就是 Python 等等…

平台通常會一步一步的,教你最基礎的該語言程式語法怎麼寫,非常適合初學者 敲鍵盤 學習的階段。

最棒的是,這些資源通常都是免費的,輕鬆零負擔的獲得認識一門程式語言的機會 !

2. 線上初階課程

對程式文法有一定程度的瞭解後,再來就可以去尋找 你所接觸語言 的線上完整課程。

這邊筆者推薦 HiskioUdemyHahow 三個網站,這三個網站算是目前能夠學習到高水平的程式課程,且中文語音的主流平台。

這些網站的特色,就是會針對你所選擇的語言,或是知識區塊,有一個較為完整的課程解說,不只是針對文法,也有針對應用面的教學與演練。

在這個階段再接觸這類型的平台是有原因的,主要是因為語法後,再來就要踏入比較實務上會遇到的一些問題。

例如想要透過程式語言搜集資料,則可以參考一些爬蟲或聊天機器人的課程,像是:

或者是 API 這類我們在本篇中的前期有提到,後端工程師領域一定要會的基礎知識:

這類型的課程基本上都會需要有基本的程式語法基礎,才有辦法繼續延伸學習,但是這階段的學習 CP 值最高,通常可以培養出最基本的業界實務能力 !

3. 進階線上 / 書籍閱讀

第三步驟則是可以開始嘗試書籍的閱讀,或是較為進階的線上課程。

許多人都會在一開始,就買本書開始 K 。這不是不好,但就筆者 1 on 1 輔導過數百位以上的學員經驗來說,根據一般人的耐心平均值,當覺得學得很艱深,而且看到還有一望無際的書籍厚度後,學習的意願和熱誠通常都會大打折扣,很快就會放棄。

但是在經過前兩個階段,比較輕巧活潑的學習方式,已經對程式學習有基本概念,英文打字有一定的進步後,面對較具深度,具備主題性,且學習時間要求較長的書籍,才比較容易攻略成功。

書籍推薦可以從 歐萊禮出版社的書籍開始,這個出版社是國際知名,專門出版程式學習書籍的出版社,書籍的質量和新穎度都非常高。

另外想嘗試不同出版社書籍的話,我個人也蠻喜歡 碁峰資訊博碩文化 的書籍,排版活潑,且質量也很好。

最後推薦到天瓏網路書店 選購,這一家網路書店,是全台灣最大的電腦書籍專賣店,基本上所有領域的最新書籍,都可以在這個平台買到。

以上主要是翻譯後的中文書部分,如果讀者能夠接受全英文的閱讀,也推薦讀者到 Amazon 看看熱門暢銷的電腦書籍,並利用 Google 查看有沒有 PDF 版本的可以閱覽,就是很好的學習資源了。

而在進階的線上課程部分,可以著重在像是金流主題的課程:

或是語言 + 框架大補包的打通課程:

都是很棒的選擇唷 !

4. CS進階知識與實戰專案

當進行前幾個步驟後,其實一個開發者所需具備的 應用知識,就已經有一定的水準了,再來建議從兩個方向下手學習: Side ProjectCS 基礎知識

Side project 指的是讀者去尋找生活中 已經存在的問題,並思考如何運用你的軟體技能來解決,而在設計軟體的過程中,一定會遇到各種不同的需求,而針對這幾個需求,要查詢哪些東西才能實作出來..等等等,去實際培養解決一個問題的能力和經驗。

再來是 CS 基礎知識,也就是電腦科學的知識,這邊指的不是怎麼寫 SQL 、怎麼寫 API ,而是去學習:

  • 資料結構
  • 演算法
  • 作業系統

等等比較硬,但是在電腦科學的領域非常重要且應用廣泛的知識群。因為這幾個知識比較艱深難懂,因此比較不建議初學者一開始就學這些,挫折感很重外,也不會有什麼學習成就回饋。但在會使用程式來解決一些應用問題後,學習這些領域就非常合適,會知道怎麼解決的更優雅且有效率。

演算法的部分,推薦使用 leetcode 平台起步,透過題目鍛煉 CS 電腦科學邏輯,這邊附上基本 75 題的應練習題組:

作業系統則推薦從台灣知名 Linux 教育家 — 鳥哥的網站去閱讀,可以一天安排閱讀個幾個段落,並長期維持,就能對作業系統有更深一層的認識!

最後,如果對於英文學習不排斥,再推薦 Coursera 這個平台。裏面主要都是高教的課程,主要是大學的教授出來開設 CS 知識的課,當然,教學魅力可能會跟其他線上課程的稍微有些落差,但教學的實用性是不打折的喔~

最重要的是,甚至還能申請修習國外 CS 學歷認證的學程,在家遠端拿本科學位 !! 對於轉職者來說,是個非常出色的選擇。

很高興您讀到了這邊,希望這三十篇後端工程師的基礎領域,橫跨程式語法、資料庫、API 到 DevOps 與資安等議題,能幫助您對後端領域有更廣泛的了解,也希望未來在軟體工程的道路上,能持續看到你與我同行 :)

對於後續更進階與詳細的學習指引,推薦參考這個 backend developer roadmap 唷:

--

--

Johnliutw
JohnLiu 的軟體工程思維

熱愛軟體全端技術開發,較為擅長 Web 領域,並有多年線上與線下授課經驗,專精軟體新手教學。 相關合作: johnliutw@hotmail.com