Loading...

自學程式設計在軟體工程師越來越熱門的趨勢下,是近年來很多人的目標,不過半途而廢的人卻是大多數。原因在多數人不知道自己會面對的問題,又該如何有策略和心理建設去解決。這篇帶大家了解自學程式會遇到哪些主要的挫折,你該如何跨過這些坎。

自學程式受挫? 5道你要跨過的坎

你沒有「好」的動機/理由學寫程式

程式是個工具,幫助你解決問題、自動化改善你的生活,或是打造應用App去幫助人解決問題。把「工具」當「目的」會很容易不知道自己為何而戰。

如果只是為了錢或聽起來很酷,會很容易就想放棄。你要知道你想解決什麼問題,想完成什麼,所以最好的方式是,做你真正想要實踐的project,設定目標來一步步完成它。

但若你的目標是:我想轉職工程師獲得更好的薪水!那你更應該先了解自己適不適合當軟體工程師,想要當怎樣的工程師。軟體工程師百百種,你想要從事什麼類型的工作,會很大程度決定你達成目標的路徑。你有了路徑才會有一步步實踐目標的踏實感。

延伸閱讀:你適合轉職軟體工程師嗎?先問自己這三個問題

不知道該從何學起 該學什麼程式語言

一般人會問該從什麼程式語言學起,會問這樣的問題通常不知道自己為什麼要學寫程式。如果你心中有個project想要完成,會更容易知道要用什麼程式語言去做。

  • 若你想打造網站應用 Web App,你會從JavaScript開始
  • 若你要做iOS的App,你會學Objective C或 Swift
  • 若你要做Android App則會學Java

事實上,你其實可以用JavaScript去建各種project,如果你還不知道該學些什麼,可以問問你認識的工程師,或是直接私訊問 ALPHA Camp

不知該從哪學起,可以在「程式設計入門」課探索你對程式的興趣

程式語言地圖 了解你該學Python Javascript還是其他程式語言
你該學什麼程式語言 Source: Carlcheo

延伸閱讀:2019 年全球開發者技能報告:70% 國際企業在招募JavaScript人才

遇到問題卡關卡很大,覺得自己笨或根本沒程式天份

寫程式其實和游泳一樣,看影片、看人游是學不會游泳的,一定要自己下水去游了喝幾口水,才知道游泳是怎麼一回事。寫程式也是寫下去才知道你會不會寫,程式跑不跑得動。當你知道理論下去實作卡關時,通常不是你笨或沒天份,你只是還不夠熟悉解決問題的方法而已。

  • 遇到這種情形你可以先把大問題拆解成小問題,然後逐個擊破。
  • 一次專注在解決一個問題,不要想同時解決多個問題。當你測試完一個task沒問題之後,再推進到下一個。不這樣做你可能就會累積很多未爆彈,然後根本不知道問題出在哪。
  • 先確定你知道你要做的task如何運行,不知道可以問Google大神,或是在善用像是Stackoverflow上,找答案或問問題。更好的選項是可以找到個有經驗的mentor幫你。

記得寫程式卡關和遇到挫折是正常的,就算是資深的工程師也會遇到瓶頸,但是心態是不要自己嚇自己,持續地用運算思維思考,將大問題拆解成小步驟一步步解決。在寫程式debug時掙扎非常正常,不要因為程式崩潰自己也崩潰了。

Ask for Help. Accept Help.

你不知道何時或該怎麼求助

設想你遇到問題時,已經花了十個小時在找解方。結果問到一個人給你一個解法,這時候你是不是大聲歡呼然後前進到下一個task。錯了!你應該要做的是

  • 回顧你之前的思考流程,問自己之前什麼地方想錯了,你能不能用別種思路來想到這個解方。
  • 問那個告訴你解方的人,他的思考邏輯和過程是什麼,從他們的思路中學習並且應用到自己未來解決問題的流程之中。

設定找解答的停損點,開口問人吧!如果遇到很多問題花了大把時間,次數一多會大幅增加挫折感進而放棄,最好是找個工程師mentor能適時幫助你,在自己尋求答案時設個停損點,不要無止盡的在同一個問題上耗費大量時間打轉。

學程式怕卡關?在AC提問無壓力,同學、助教隨你問

一個字,忙。兩個字,太忙

忙碌是最合理的理由(或藉口),要真正學會一門技能並實際應用需要時間,很難有什麼速成的方式,更何況對自制力要求更高的自學,不過若你真的要學會寫程式,開始時每週至少花10-15個小時(越到後期可能所需時間會到每週20小時),如果換算下來就是每天要擠出90分鐘,你捫心自問若一天都湊不出90分鐘,是沒有真的把學會程式技能放在你人生的優先順序中,還是真的有心無力呢?

自學程式必看!如何做好每週時間管理、不再半途而廢?

成功自學程式的5個訣竅

練習、練習、再練習

訓練自己的大腦寫code的肌肉記憶。養成習慣是困難的,就像運動重訓一樣,一種避免放棄的方法是,每天都找時間寫,最少半個小時,並在日曆上標記你今天做了練習,當你每天標記時間一長,心理機制就會不希望自己中斷,變成兩天打漁、三天曬網。即便中斷一天或兩天,也馬上再重啟新的連續練習日,只要一兩天不寫就渾身不自在,養成自己練習寫程式的習慣。

用機制獎勵自己

每一次你達成某個里程碑,就買個東西給自己或吃頓大餐(當然也可以用不花錢的獎勵替代)。更好的方式是直接開始從事你真的在乎的project,每完成一小步,你的成就感自然會與日俱增,也離你真正想完成的目標更進一步。

在初期量先重於質

先求有再求好,從錯誤中學習但不要害怕錯誤,重點是在持續練習持續寫code,培養正確的運算思維,能從邏輯、問題拆解、除錯、找答案中持續進步學習!一開始寫得爛是正常的,沒有人剛開始學英文講話就有native speaker水準,寫程式當然也是如此,不要對自己有錯誤的預期,也不要對自己太harsh。「你不會開始就很厲害,但你想變厲害現在就該開始」。

學習如何學習

這不是一句繞口令,尤其你若未來想要成為軟體工程師,終身學習必不可免的。程式世界廣大,你不可能所有問題的解方都學會放在腦裡,但你的核心技能就是你的學習能力,在面對不同的問題時,能夠知道如何找答案找解方,面對任何問題都不會害怕。

自學力就是競爭力!「有效學習」必讀的 5 本書

找到值得信賴的機構 協助你程式自學啟程

大量的實作練習,用系統化的進度制來督促自己不要半途而廢,在學習社群中有助教和同學,能在你有疑問時給你解答,在你寫code時給你feedback,知道自己該怎麼改進。學習過程中不只給答案,而是讓你學會如何學習。這是 ALPHA Camp 全端開發課程學習體驗,你也可以看看AC學員過去的真實評價。自學程式沒有速成之路,一步一腳印就能跨過重重障礙,學會一門帶得走受用一生的技能。

3分鐘小測驗,找到自己的程式自學入口

參考資料:

成為企業渴求的程式人才!

在家學會 JavaScript 網路開發

全新「全端 Web App 開發」課程,給你看得見的學習成效!
超過 90% 轉職成功,400 位來自亞洲各國的 ALPHA Camp 校友,畢業後達成轉職、創業、出國工作的夢想!

探索「全端 Web App 開發」課程

給期待創新改變的你

前端x後端x全端 完整工程師技能樹

90% 學生轉職成功,職涯競爭力更上層樓
最專業的「全端 Web App 開發」課程,上班族邊工作也能同時培養第二專長!

加入 ALPHA Camp 學程式開發

學期一|程式設計入門

零基礎也學得會的程式入門課!

開始學帶得走的技能,為自己未來的成長鋪路

學期二|JavaScript 完整前端基礎

系統化學習 JavaScript

實作打好前端基礎,成為扎實的網頁開發者

今年最後機會,程式入門12月班 倒數5天
馬上報名