非資工本科系想轉職工程師,該如何自學程式?

how to learn program

又到了年底轉職潮,這時很多人都有計劃想要找更好薪水的工作,或是轉職到其他行業,今天就和大家分享我自學程式的一些心路歷程,以及自學程式該注意甚麼東西。

資工系 vs 非本科系自學程式

這個問題已經被大家問到爛,很多人一定會說,要找寫程式的人才當然找資工系畢業的,對沒錯,畢竟這些人學了4年的相關課程,或許有些人還讀了2年的研究所。

但是,資工系畢業,不代表它就會寫程式,也許大學四年只是混個文憑,畢業之後完全不會寫程式也沒有觀念,那跟一個在畢業後才發現對程式有興趣,且很有熱情的自學相比,你會選擇哪一個?

資工系的優勢就是,在面試時比別人多了一張門票,面試的機會就是會比非本科系的人多一點。我的想法是,不管資工本科系或是非本科系,只要對程式有興趣、有熱情,只要持續付出努力與學習,都可以找到發揮的地方。

對一件事情持續的學習與付出,必定會有你發光發熱的地方。

該如何開始

給學生的建議

如果你是高中生,如果對程式有興趣,建議可以先買程式相關的書來看,或是詢問學校老師校內是否有提供相關的資源可以學習。

若未來想讀資工相關的科系,也可以問問學長姐或是老師,詢問他們該如準備,畢竟你還年輕,一步一步從基礎札實的學習,對未來工作上會很有幫助。

給上班族的建議

如果你是想轉職工程師的上班族,因為我們平常日要上班,自學的時間有限,只能利用下班或放假的時間來自學。下班後自學勢必要犧牲掉休息的時間,但是只要相信你對程式有熱情,犧牲是值得的。

延伸閱讀:下班後做什麼? 每天只要做到這3點,1年後看見不一樣的自己

建議預先尋找好相關的學習資源,避免浪費時間在搜尋資源上,現在網路上很多線上課程,這裡整理出我自己也有使用的學習資源,可以線上學習的地方。

六角學院

六角學院有非常豐富的學習資源,UI設計、網頁設計、前端開發、後端開發、電子商務,幾乎想到的網站開發課程,你都能在這裡找的到。

我在六角學院學習了 Vue.js 的前端開發課程,在這裡我學到了開發 Vue.js 相關的知識以及跟著課程一步一步建立出一個電商網站,讓我在面試時能有一個作品去展示。

hahow 好學校

hahow 好學校也是我有在使用的自學網站之一,這裡的課程種類非常多樣,除了程式課程之外,你也能在這裡找到其他領域的課程,我相信除了程式技能之外,學會其他技能也是對自己非常有幫助的。

自學程式該有的觀念和心態

不管在學習任何事物上,都應該要保有認真學習的心態,也許你要花比其他人多一點的時間,自學程式更是急不得,一步一步的學習,有扎實的基礎,未來在工作上才能寫出好的程式碼。

學習寫程式就像下面這張圖的曲線一樣,一開始是最陡峭的,等到你學會之後,才會發現後面還有更多領域等著你去學習,程式設計師是大坑阿(誤)!

learning program curve
圖片來源:INSIDE

該選擇什麼程式語言

選擇什麼程式語言,應該看你想要往什麼方面發展,網站、手機APP、資料庫等等,網站開發又可以分為前端、後端。

如果你還沒有想法要往哪個方面發展,我的建議是從 Python 開始,Python 是直譯式語言,他比較接近人類使用的語言,就很像用英文在跟電腦溝通,對於新手來說比較好理解。

print('Hello World') # 看得懂這段程式碼嗎? 歡迎在底下留言告訴我。
https://www.youtube.com/watch?v=rfscVS0vtbw
學習Python – 初學者全教程

若目標放在大型企業的話,建議學習 C#、Java,對於軟體開發有一定的程式庫支援,我本身是先在資策會學習 Java 的課程,工作一段時間後才自學 Python。

英文能力

程式語言畢竟是用英文打出來的,我覺得要有基本的閱讀英文的能力,至少能看懂 API 文件在寫甚麼,或是要 google 找答案,大部分你搜尋出來的結果都會是英文居多。

找問題的能力

這裡找問題的能力指的是,你要知道遇到的問題是什麼,知道要下甚麼關鍵字去找答案。

舉例來說,

command line 指令操作

要學會基本的 command line 指令,不管在開發、環境建置,都會用到大量的 command line 指令操作。

在不同的系統上,command line 指令會不太相同,底下是基本的操作指令:

指令WindowsMacOS / Linux
切換目錄cdcd
取得目前所在的位置cdpwd
列出目前的檔案列表dirls
建立新的目錄mkdirmkdir
複製檔案copycp
移動檔案movemv
刪除檔案delrm
清除畫面上的內容clsclear

資料結構與演算法

資料結構與演算法是寫程式的基礎,就像數學是工程學的基礎一樣,一個程式設計師寫的程式好不好,要看他的資料結構與演算法是不是學得夠扎實。

雖然說不會資料結構與演算法也是能夠學會寫程式,但是如果妳會資料結構,你會在開發的時候使用適當的資料型態去儲存資料;或者是透過演算法,讓程式執行的更有效率。

資料結構與演算法相關學習資源:

結論

不管你自學程式的目的是轉職,還是透過程式來輔助你的工作,在現在資訊爆炸的年代,程式技能變得越來越普及,學會寫程式就像是多了一雙手一樣,讓你在工作上變得更有效率。

如果有甚麼我沒有提到的,或是文章中有錯誤的地方,歡迎大家留言補充,感謝大家耐心閱讀!

10 thoughts on “非資工本科系想轉職工程師,該如何自學程式?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *