「程」為斜槓青年!大學生如何自學寫程式?程式語言怎麼選?一次告訴你!

自學程式夯,但是要怎麼開始是令許多初學者頭痛的難題。本文除了介紹寫程式的出路,也提供如何選擇程式語言以及推薦的免費學習資源,希望幫助所有想開始學寫程式,或是剛入門的新手無痛度過新手期,無論是寫網站、遊戲還是開發App,都能順利達成自己的目標!

程式不僅是未來趨勢更是現在進行式,自從108課綱正式將程式設計納入學生必學項目,許多人因此好奇:學程式究竟有什麼用?為什麼現代人人都要學寫程式?也有許多大學生就讀非資訊相關科系,希望透過多學習一門技能為自己的職能加分。

本文將從分析不同背景領域學寫程式的好處出發,帶你一起看見程式學習的無限可能。而正式開始學習前,本文亦提供選擇程式語言的依據,避免學習的語言特性與想要達成的目標不符。最後,供想要自學程式的你參考,免費的學習資源絕不藏私,不怕你用不完,只怕你不夠用。

領域知識加程式,迸出新滋味!

在真正開始學習之前,你知道為什麼越來越多非理工背景的大學生開始學程式嗎?

程式語言是工具,是手段,是解決問題的方法、促成結果的過程,而不是目的本身。然而世界上的問題那麼多,一個問題更往往涉及不同領域的專業,要想單靠程式設計師本身的力量解決問題實屬天方夜譚。因此一定程度的特定領域知識之下,再加上程式這項工具的輔助,常常可以發揮出1+1>2的效果。

2019年g0v公民科技創新獎助金入圍決選提案。跨領域結合程式學習,可以解決更多問題。圖片來源:公民科技創新獎助金 - 2019 - g0v Civic Tech Grant(截圖)
2019年g0v公民科技創新獎助金入圍決選提案。跨領域結合程式學習,可以解決更多問題。
圖片來源:公民科技創新獎助金 - 2019 - g0v Civic Tech Grant

同理,再看到職場上的實際狀況。大多數情況下,一個軟體產品在推出之前勢必經過團隊之手,也就是說,溝通是成為一個好的程式設計師(or軟體工程師)非常重要的軟技能。試想,當今天團隊要開發一款理財APP,A工程師徒具程式開發技術,B工程師卻在具備開發技術的前提下,同時擁有財金相關背景,可以和客戶討論專業術語和確認需求,相較之下,相信大家都知道誰更有求職優勢了吧?

104上某個程式設計師職缺的工作內容及條件要求。圖片來源:104人力銀行-不只找工作、幫你找方向的求職徵才平台
104上某個程式設計師職缺的工作內容及條件要求
圖片來源:104人力銀行-不只找工作、幫你找方向的求職徵才平台

學C++優勢也++?該學哪種語言?

似乎學習程式總離不開這個老問題:我該學哪種語言呢?

常見的程式語言如C、C++、Java、Python...,各有各的特色,儘管學會一種語言之後,要再入門其他語言會容易許多,然而先清楚各語言適合什麼樣的開發目的,既節省時間也少走彎路。以下是小編為大家整理的常見語言對照表

開發目標適合語言語言特色相關職缺
開發硬體驅動程式C/C++其實C++是十分強大的語言,但對於初學者而言較難上手,因此不建議一開始就從C相關語言入門(但相對地學會了再學其他語言就簡單很多)。Software Engineer - 軟體設計工程師, Windows/C++|天才視野資訊股份有限公司|台北市中山區-104 人力銀行
開發Windows App、Unity遊戲C#由微軟推出,相較於其他C開頭的語言容易入門。值得一提的是也常用來搭配Unity遊戲引擎一起開發遊戲。Unity遊戲開發工程師-疫情期間採視訊面試|尊博科技股份有限公司|台中市西屯區-104 人力銀行
AI、深度學習、資料分析Python因為語法平易近人,且AI、大數據皆為熱門關鍵字,因此近年成為許多初學者首選的入門語言,現在大學有程式設計課程的同學應該對它不陌生。AI工程師 AI Development Enginner|鉅芯科技有限公司|新竹市-104 人力銀行
開發商業軟體Java因為Java的安全性高,許多大型商業軟體選用Java為開發語言,但Java本身的泛用性蠻高,一般網站或應用程式也可以用Java開發。JAVA軟體工程師|聯強國際股份有限公司|台北市中山區-104 人力銀行
開發網頁(前端)HTML、CSS、JavaScriptHTML及CSS其實不算程式語言,但網頁開發基本上避不開;而JavaScript則是讓網頁「動起來」的關鍵。JSP前端工程師|聯訊網路有限公司|台中市西區-104 人力銀行
開發網頁(後端)PHP一個完整的網頁除了前端能夠正常與使用者互動以外,後端與資料庫之間的資料傳接也是非常重要的一環。而PHP就是非常好上手的一種後端語言。Laravel後端工程師|永恆國際網路有限公司|台中市北屯區-104 人力銀行
開發Android AppKotlin2017年Google宣佈Kotlin為Android的官方開發語言(本來最常用Java),此語言本身的特性也非常適合開發Android App。Android 系統工程師|BigGo_樂方股份有限公司|高雄市鼓山區-104 人力銀行
開發iOS AppSwift/Objective-C剛接觸iOS相關軟體開發,沒有程式基礎者,建議從Swift入門。儘管都是iOS開發專門語言,但Objective-C的難度還是比較高。【擴大招募!】iOS APP工程師 (Swift)|禾智有限公司|台北市松山區-104 人力銀行

相關職缺僅供參考,如果目標是成為工程師的同學,也可以看看除了程式語言以外還需要具備哪些能力或條件喔!

上104人力銀行看更多工作機會

好康不藏私,免費學習資源推薦!

首先跟各位介紹必知的104好用工具—104學習精靈

104學習精靈使用介面—簡單易上手,輕鬆又實用!;圖片來源:104學習精靈|分析職涯競爭力,在職進修有方向
104學習精靈使用介面—簡單易上手,輕鬆又實用!
圖片來源:104學習精靈|分析職涯競爭力,在職進修有方向

104學習精靈主要有四大功能

  1. 數十種產業、職務任君挑選,總有一種是你的夢幻職業!
  2. 羅列企業所需技能,再也不必一一爬文!
  3. 學習資源共享共好,互相交流一起升級!
  4. 透過技能挑戰找不足,定期盤點再接再厲!

心動不如馬上行動,現在就開始學習

看完104學習精靈還覺得不夠嗎?以下再加碼提供其他網路學習資源:

除了上列介紹的幾項,大家也可以善用關鍵字(例:程式語言名稱+免費+學習)至各大搜尋引擎、YouTube、Moocs(開放式課程)平台搜尋,或許會發現意想不到的寶藏。另外,程式學習的過程中總避不開bug的噩夢,這時候到線上社群如FB社團、程式設計論壇Stack Overflow看看其他人的問題,甚至自己發文求救(當然要記得保持基本的禮貌),比較不容易碰壁也會讓學習進程加快許多喔!

後記

person using MacBook Pro
學習本身和程式一樣,是沒有終點的

無論學習程式是不是一種熱潮,相信此時此刻閱讀這篇文章的你,一定有一個想要透過程式達成的目標,希望學程式這件事情能為你的生活帶來正向的改變,也祝大家在Coding之路上一切順利(顧肝很重要),一起加油!


更多有關新鮮人求職、實習與職涯相關資訊,都在《104職場力