方格精選

我是如何成為程式設計師的? 分享 5 種自學的方式

閱讀時間約 8 分鐘

前言

我在國中時期開始大量買書來看,讓我快速奠基,也了解到很多事情。那個時期除了 FrontPage 外,也買了硬體裝修、Visual Basic、ASP(不是 .net)、RedHat Linux、資料庫等書,每一本書都有經過系統化的編排,也常常會講許多額外的知識,無形中可以學到超多東西,我真的很喜歡用讀書的方式來學習。
但閱讀學習也不是沒有缺點的哦,因為書籍撰寫還是會花時間,往往會跟不上業界的趨勢(資訊產業最常有這種問題,可能三秒就淘汰一個技術),但是作為基礎知識的打底、相關觀念的建立的話,我還是大推買書、看書。
因為資訊技術的迭代其實也只是就有技術的更新,觀念上都不會有太大的改變,當你對一件事情熟悉之後你要跨到另外一個同樣領域的新東西時不會耗費太多的時間,但我也不是叫你要讀過期十幾年的東西就是了 … 三五年內的東西都還是有很大的參考價值的。
最近也常看到一些廣告,說寫程式是必備的能力、國中小學要開始學寫程式之類的話題,認真覺得這件事情如果真的推動了,那應該會扼殺不少人對電腦的興趣吧?(哈哈)
我不認為每個人都應該要學寫程式,畢竟每個人都有自己專長的地方,有的人擅長設計、有的人擅長經營、有的人擅長管理。 但我也覺得寫程式是一個培養的興趣,也是訓練自己透過不同方式去思考的一種方法,如果說要把寫程式編入學校課程並且要作為考試成績的話,我倒覺得是萬萬不可的就是。
在本站第一篇文章中我就有提過我是一個碼農,從第一次開始寫程式到現在也已經有二十年左右(從國中到現在),而我究竟是怎樣自學而成的呢?
今天就來跟大家分享一下自己過去學習的途徑,好好地來談一談,希望也是對大家能有所幫助呢!

第一種: 學校課程

在學校學習應該是很多高中職生或資訊相關科系的五專生或大學生會遇到的事情了(當然我相信也是很多學生想逃避的事情)。
以前在讀高中的時候,高一電腦課會教 Visual Basic 來大致了解怎麼寫程式,科展與同學合寫一個計算機來參展,算是一個很特別的體驗。
大學的時候就開始接觸更多種不同類型的程式語言,譬如 C / Java 等等的,可以說蠻多人接觸寫程式的第一關應該就是透過學校的教育來進行學習。
而如果你是已經出社會的人,其實在職專班也是會有相關的課程,不嫌麻煩的話可以將在職專班列為是一個學習的途徑。

第二種: 網路文章搜集

在那個部落格還沒盛行的年代,網路上其實就已經有相當多的學習資源可以看,就像是學習 Linux 必看「鳥哥的 Linux」一樣,在網路上搜尋你想學習的程式語言名稱就可以得到相當多的教學文章,像是「良葛格學習筆記」這樣的網站。
而在部落格如雨後春筍冒出來之後,分享技術文章的人就越來越多了,大家也更能夠透過搜尋找到自己想學習的資源或片段。
再來就是到了有IThome 鐵人賽、Stackoverflow 的時代,越來越多創作與疑難雜症問答的資源出現,網路搜集相關學習資源就越來越方便了。

第三種: 線上課程學習

最近這幾年開始興起了一陣線上學習風,尤其是疫情之後更是促使各類領域的課程都紛紛搬到網路上進行販售、教育,有一點線上補習班的感覺。
現在也有很多線上課程平臺可以學習,我自己將其分為「學校」與「私塾」兩種類型

學校

這類的線上課程平臺,他們提供某(些)個領域的主題,邀請講師上傳他們的課程內容並且協助進行販售,這樣的平臺我認定是屬於線上學校
常見的平臺有

私塾

這類型就會是一些人自己出來透過一些平臺(像是 Teachable / YouTube / Medium ) 放上自己製作的課程影片或文章,提供他人付費閱覽,這樣「老師」自己出來開的就是被我歸類為私塾
私塾類型的就像有
  • 阿謙的 258 學院 – 規劃籌備中,有興趣的歡迎留言聊聊
  • 慢活夫妻的理財課程 – (舉例一下)

第四種: 電腦補習班或家教

我想這個類型的大家應該就熟悉多了吧,像是聯成電腦、巨匠電腦、資策會等等專業的資訊能力補習單位,通常會由業界的老師過來比較有系統化的方式授課,並且輔導進行證照考取或就業等。
有時候也可以在某某家教網上看到短期的程式家教,不管是一對一或一對多都是有的。
這類型的學習管道也是可以參考一下,通常會比學校教育要再來得有深度一點(尤其是家教部分或是小班制的授課單位),也會比較貼近當前業界可能會需要的知識(尤其是現在軟體設計進步得非常快,有時候學校教的東西都會比業界再落後個幾年都是正常的)。

第五種: 看書

回想當初我也是透過看書才開始接觸到電腦這個世界,小時候我家裡是沒有電腦的,對電腦的認知也只有去電腦展看看、學校電腦課摸摸、同學家玩遊戲碰碰才會有機會學習到,還記得曾經我的親戚跟我說他按下「Enter」鍵把遊戲中的狗狗踢出去的時候,我還轉頭問我媽什麼是 Enter 鍵呢(但重點應該是不要欺負狗狗才對,這在多年之後我才發現到我當初怎麼會重點錯了)
而後因緣際會下我買到一本電腦套書之後發現原來電腦其實是很簡單的東西,照著書就可以做出一樣的事情,我就央求我媽幫我買了一部電腦(也剛好要上國中了),開啟了我這個爆肝的人生之路。
國一的時候,請我媽帶我到金石堂買了一本微軟出版社(現在還有人知道這間出版社嗎)出版的 Front Page 2000 的書,從此與網頁設計結下不解之緣,後面還經過了什麼我們下一篇再談。
總之,我的網站開發與軟體開發人生可以說與看書是完全脫不了關係,而且比起電子書我更喜歡看實體書,所以我真的十分推薦每個人都可以從看書入門,開始學習如何程式設計!

學習迷思

在以前流傳著一句話,寫程式的人必須要英文與數學很好,這究竟是真的嗎?不妨來談談這個迷思。
其實我覺得這件事情在早期來說是因為使用電腦的人大多是數學相關科系的學生為了要跑實驗數據或什麼的,透過寫程式來達成他們的目的,而造成大家對寫軟體這件事有了一個錯誤的認知。
當然我們就英文與數學兩件事分別來探討可以知道這兩個如果都擅長會有多吃香,但不代表一定這兩個都要掌握多少才能寫程式,其實寫程式是任何一個人都可以做到的哦!

迷思一: 英文要好

大家應該都知道電腦不是臺灣的產物吧? 國外發展資訊技術的時間非常地久,很多相關新的技術也大多是英語系國家的人發展出來的,所以有蠻多新的技術都是透過英文來發表的。
又或者,很多人都會在實作技術(譬如做網頁、寫 App)的過程中遇到過一些困難,有些人就會將這個解決問題的過程寫下來,通常也大多是英文居多,又或者是在 Stackoverflow 等問題解決平臺上分享。
所以如果今天有著基本的英文讀寫能力的話,在學習新的技術或者找尋卡很久問題的解決辦法時,可以不只有翻找亞洲語系的文件,能直接閱讀更多國家的開發者(程式工程師)提供的新聞、解決思路。

迷思二: 數學要好

以前流傳著一句話:「程式設計 = 資料結構 + 演算法」
資料結構是我們如何設計一個儲存資料的架構,用來做運算或是交換;演算法就是如何透過一些數學的方式來減少程式執行的時間或者指令,進而加速程式的運作效率。
數學好的確在演算法上面會比較吃香,但其實數學不好也還是可以寫程式,雖然會比較辛苦一點,而且會建議要再花點時間練習數學,不過我也是有認識的人以前數學考零分,程式也是寫得很不錯!

迷思總結

所以如果當你想學習寫程式但再遇到有人這樣跟你說的話,你可以選擇忽略、也可以選擇回答他我上面說的東西。 這兩個能力好有很大的加分,但並不影響你在學習或者實際開發程式上面哦!

總結

如果真的是想自學寫程式的話,這邊再簡單做個總結
  • 透過學校教育 – 五專或大學資訊相關科系的課程
  • 透過網路資源 – 像是良葛格筆記
  • 透過線上課程 – 像是 HahowUdemy
  • 透過補習班 – 像是巨匠電腦、聯成電腦之類
  • 透過閱讀 – 是我最推薦的入門方法,直到現在我都還會這樣做
有任何其他方法也歡迎留言告訴我唷~
avatar-img
6會員
3內容數
在這裡,我只是簡單地去分享我在軟體開發的這條路上有的經驗與心得,希望可以幫到各位想踏入這個領域的新朋友們,消除你們的不安、解決你們的疑惑,一同在這條路上越走越遠。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
自學,讓你主動探索領域的更多面貌。雜食與自學的開始,在於各種的不滿足。正規教育即是照著課綱的規劃,經由老師授課學習;自主學習則是依據自己想學習的部分去主動找尋資源,主動學習。對我而言,這兩種都很重要。
Thumbnail
該文章討論了學軟件的不同方式,包括自學、上課和邊上班邊學的比較。分享了自學和上班邊學的經歷,以及對Youtube創作和返工零碎時間的看法。文章提到了自學軟件的困難和需要長期實戰經驗,以及在Youtube上開頻道的不易,並分享了在上班途中的零碎時間利用方式。該文章有助於想了解不同學軟件方式的讀者。
離開工程師的工作之後,我轉往兒童程式教育的跑道,這份工作將我原有的程式技能結合上我所關心與有興趣的兒童教育,轉換跑道的路上並不輕鬆,不論是工作方式或心境的調整,在克服的路上都是學習。 我很幸運用最快速的方式接觸到不同年齡層的學生,第一個班級就是18個中班孩子只能用慘烈來形容每堂課的準備與挫敗,當然
Thumbnail
學習程式語言是一個不容易的過程,但有效的學習方法可以幫助你克服挫折,這篇文章分享了一個程式設計師的學習心得以及一些建議,包括課後實作、短期學習、跟別人比較等注意事項,同時提供了一些相關的教學資源。
Thumbnail
在我剛開始寫程式的時候,深切地感受到要學的東西實在太多了,尤其在課堂上學的東西跟在公司要打造產品的技能非常的不一樣,有非常多需要自學的地方。 在我剛開始實習的時候,除了看書、看文章、用線上網站練習新語言的語法,我覺得幫助我最多的就是直接練習寫一個 Side project 了。
Thumbnail
Hahow 好學校平臺的線上課程一直都是我跟身邊的人都非常愛用的學習平臺,這次要跟大家推薦超值得上的一門課,就是圖文不符推出的 '讓圖不只是好看的-資訊設計思考力',除此之外Hahow 好學校平臺還有非常多優質課程供你選擇,現在就到下方連結去看看吧!
記得小學四年級,第一次在學校上了電腦課,當年還是256k。 家裡雖然有電腦,但媽媽是不給我和弟弟使用的,電視也僅有三台節目。 所以,成長的過程我都是看商業週看、哈佛雜誌、遠見😂 倒也不是要說我很有文學素養,畢竟當年的我也沒有選擇的權利, 無聊之虞總得找點事情來做! 也就因此養成了自己閱讀的習慣!
Thumbnail
想要製作線上課程嗎?很多人對製作課程充滿疑慮,其實對課程生產持有固有印象,以及沒有嘗試過用課程形式做輸出。本文將介紹職場人可以拿來作為課程資料的知識資產包括三個層次,以及具備做一門課程的能力。值得沉澱下來做成課程的知識資產對於有需要的學員都將有很大幫助。
Thumbnail
前文提到我按照某公司培訓營的指示自學了Scratch,並完成了一個不太理想的「半成品」程式。幾個月後,我參加了另一個課程,不同的是這次是使用PHP,為期三天(週三至週五),每天上課四小時,總計約12小時。課程內容包括基礎語法與環境架設、網路爬蟲、實際構建購物車並與資料庫進行串接。
Thumbnail
自學,讓你主動探索領域的更多面貌。雜食與自學的開始,在於各種的不滿足。正規教育即是照著課綱的規劃,經由老師授課學習;自主學習則是依據自己想學習的部分去主動找尋資源,主動學習。對我而言,這兩種都很重要。
Thumbnail
該文章討論了學軟件的不同方式,包括自學、上課和邊上班邊學的比較。分享了自學和上班邊學的經歷,以及對Youtube創作和返工零碎時間的看法。文章提到了自學軟件的困難和需要長期實戰經驗,以及在Youtube上開頻道的不易,並分享了在上班途中的零碎時間利用方式。該文章有助於想了解不同學軟件方式的讀者。
離開工程師的工作之後,我轉往兒童程式教育的跑道,這份工作將我原有的程式技能結合上我所關心與有興趣的兒童教育,轉換跑道的路上並不輕鬆,不論是工作方式或心境的調整,在克服的路上都是學習。 我很幸運用最快速的方式接觸到不同年齡層的學生,第一個班級就是18個中班孩子只能用慘烈來形容每堂課的準備與挫敗,當然
Thumbnail
學習程式語言是一個不容易的過程,但有效的學習方法可以幫助你克服挫折,這篇文章分享了一個程式設計師的學習心得以及一些建議,包括課後實作、短期學習、跟別人比較等注意事項,同時提供了一些相關的教學資源。
Thumbnail
在我剛開始寫程式的時候,深切地感受到要學的東西實在太多了,尤其在課堂上學的東西跟在公司要打造產品的技能非常的不一樣,有非常多需要自學的地方。 在我剛開始實習的時候,除了看書、看文章、用線上網站練習新語言的語法,我覺得幫助我最多的就是直接練習寫一個 Side project 了。
Thumbnail
Hahow 好學校平臺的線上課程一直都是我跟身邊的人都非常愛用的學習平臺,這次要跟大家推薦超值得上的一門課,就是圖文不符推出的 '讓圖不只是好看的-資訊設計思考力',除此之外Hahow 好學校平臺還有非常多優質課程供你選擇,現在就到下方連結去看看吧!
記得小學四年級,第一次在學校上了電腦課,當年還是256k。 家裡雖然有電腦,但媽媽是不給我和弟弟使用的,電視也僅有三台節目。 所以,成長的過程我都是看商業週看、哈佛雜誌、遠見😂 倒也不是要說我很有文學素養,畢竟當年的我也沒有選擇的權利, 無聊之虞總得找點事情來做! 也就因此養成了自己閱讀的習慣!
Thumbnail
想要製作線上課程嗎?很多人對製作課程充滿疑慮,其實對課程生產持有固有印象,以及沒有嘗試過用課程形式做輸出。本文將介紹職場人可以拿來作為課程資料的知識資產包括三個層次,以及具備做一門課程的能力。值得沉澱下來做成課程的知識資產對於有需要的學員都將有很大幫助。
Thumbnail
前文提到我按照某公司培訓營的指示自學了Scratch,並完成了一個不太理想的「半成品」程式。幾個月後,我參加了另一個課程,不同的是這次是使用PHP,為期三天(週三至週五),每天上課四小時,總計約12小時。課程內容包括基礎語法與環境架設、網路爬蟲、實際構建購物車並與資料庫進行串接。