Published on

想轉職軟體工程師,該自學還是去培訓課程? Alpha Camp 與 AppWorks School 經驗分享

目錄

我該去程式培訓課程嗎? 要去的話該選哪一家?

當提到轉職資源,許多人會想到程式培訓課程。目前在台灣有存在已久的資策會,或是完全免費的 AppWorks School好想工作室 Web Camp 等實體課程;也有 Alpha Camp、六角學院等線上課程。在這些眾多選項中,該選哪一個呢?

剛好 explainthis 共筆的三個共同發起人,一個是透過書與線上免費資源自學,一個是透過 Alpha Camp,以及另一個是去 AppWorks School,三個不同路線成為軟體工程師。所以這邊可以從我們自身的經驗稍微分析,該不該去 coding bootcamp? 以及該選哪一家?

正好因為我們是透過不同管道進入程式領域,也都有順利成為軟體工程師,所以我們不會說一定要去,或是一定不要去 coding bootcamp。條條大路通羅馬,可以依照自己的需求與所在條件選擇適合自己的轉職方式。

或許你不須用去培訓課程!

由於我們分別有走過不同類的培訓課程,在這邊可以先說,就程式與開發相關知識的內容來說,培訓課程提供的,在網路上都能找到。因此假如你的主要思考點是內容的話,可以毋須擔心。現在各所大學都有將 CS 的基礎課程轉為開放式課程,例如最有名的哈佛 CS50

如果是前後端開發的話,以前端來說,社群中也有整理好的學習路徑,且路徑中的每個知識點,都在網路上可以找到相對應的資源。例如 YouTube 上有免費的課程 (例如這個)、freeCodeCamp。所以假如你花錢上培訓課程,是為了學知識,真的大可不必。

培訓課程的價值所在

雖然上面一段落提到,知識面來說,網路上可以找到培訓課程中有的所有內容,不過這不代表培訓課程沒有價值。explainthis 共筆的發起人,分別有去過實體培訓課程 (AppWorks School) 以及線上培訓課程 (Alpha Camp)。就我們的經驗,這些培訓課程帶來的額外價值包含:

  • 學習環境: 對於轉領域的人來說,因為面對的東西都是全然陌生的,因此在學習上必然會遇到很多挫折,這時能有互相討論、共同奮鬥的夥伴,對於能否在挫折時延續不放棄,會有很大的幫助。
  • 培養獨立解決問題的能力: 雖說網路上有的資源已經足夠,但是在面對陌生的問題 (例如專案實作上遇到一個 bug),在缺乏經驗下,很容易會卡在解不出來的無限迴圈中。很多時候,其實只要換個思路,就能解出來。AppWorks School 的導師,或是 Alpha Camp 的助教這類的角色,就是在學習過程中,能幫忙點出問題、指引方向的存在。雖然最終 bug 還是要自己解,但有人能協助引導,能省去很多時間,除此之外有支持也比較不容易放棄。
  • 社群的求職資源: AppWorks School 與 Alpha Camp 都分別有不小的社群。社群有的好處包含在求職時,AppWorks School 有 hiring partners,結業前就有機會能媒合工作;Alpha Camp 的社群中也很常有許多內推的職缺資訊。

以上這些是培訓課程能帶來的好處,當然這些也不一定要去培訓課程才能得到。假如你身邊本來已經有一群有革名情感要一同轉職的朋友,或是你身邊已經有很多工程師朋友可以問問題,又或是你本身夠會社交,有認識許多能幫忙內推到不同公司的朋友,上面這些點或許對你就沒那麼有幫助。

該選線上或是實體的培訓課程呢?

假如你盤點完自己的狀況,也決定要報名程式培訓課程的話,下一個問題可能會是,該選實體的或線上的培訓課程呢? 以下我們會根據分別參與過實體培訓課程 (AppWorks School),以及線上培訓課程 (Alpha Camp) 的經驗,來分析這兩類不同課程分別適合哪類人。

實體課程類型 (例如 AppWorks School)

適合真的已經下定決心。先不說費用要十來萬的資策會,即使是完全免費的 AppWorks School,當決定要去時,就有不小的機會成本需要面對。舉例來說,假如你原本的月薪四萬元台幣,辭掉工作投入 AppWorks School 半年也代表會少賺 24 萬 (加年終的話會更多),這是不小的成本,所以如果沒有真的想清楚,投入後才發現自己沒有真的想做軟體工程師,那麼損失將會不小。

實體課程類能帶來的最大好處之一是「環境」,特別是有一群革命情感的戰友。當看到別人也同樣為了 bug 苦惱時,在自己卡關時就不會那麼焦慮;或是看到別人到晚上十一二點還在寫個人專案,會覺得自己應該再拼一點。這些是線上培訓課相對比較難感受到的。

當然,要怎麼確定自己真的要走程式這條路? 要怎麼避免花了大半年,到頭來發現自己沒有想繼續往程式之路發展這種悲劇? 線上培訓課程或許是一個選項。

線上培訓課程 (例如 Alpha Camp)

如果是還沒有那麼篤定要不要梭哈走程式這條路,或是經濟上比較沒有那麼寬裕。那麼線上培訓課程或許可以是一個選項。雖然可能會少了實體課程與同期同學的革命感,但比起 YouTube 或是 Udemy 這類線上課程,線上培訓課程有多了學習教練、助教等機制,在卡關時能夠有多一點幫助。

同時線上培訓課程多半不用是全職的,所以不用因此辭掉工作,不用承擔半年沒有收入的經濟壓力。當然比較挑戰的地方,在於平常下班已經很累了,還要花時間學習程式,這需要額外的毅力才能堅持下去。不過假如下班後很累還願意持續走在程式這條路,這或許也代表自己能在程式之路堅持下去。

總結來說,我該自學還是參加培訓課程?

上面談了不去培訓課程也可以在網路有足夠學習資源,也談了縱使如此,培訓課程還是有其價值所在;以及比較了實體課程與線上培訓課程適合的族群。在最後的段落,將為大家總結可以如何判斷自己該自學,或是參加哪種培訓課程。

在決定自學前,建議先判斷身旁的工程師資源是否足夠,當遇到問題、卡關時,有沒有人可以問或是討論,因為卡關挫折久了,是很容易半途放棄的原因。接著可以判斷自己是否有足夠的支持系統,讓自己能持之以恆的學習;學程式的路上會有非常多挫折想放棄的時刻,有沒有人能互相打氣、讓你知你可以的、讓你有動力持續走下去,這些會很關鍵。

假如上面兩點你都有,那或許可以先以自學為主;反之,可以考慮培訓課程。假如你決定了其中一種培訓課程,下一個問題可能會是,該選哪一家培訓課程呢? 雖然我們有透過 AppWorks School 與 Alpha Camp 成功轉職的經驗,但除了這兩間之外,現在也有許多其他的選擇。舉例來說,WeHelp 軟體工程師扶持計畫,就是 AppWorks School 先前的前端導師出來創辦的。因此這邊不會特別推薦選哪一家培訓課程,而是列出一些我們認為在選擇培訓課程前,應該要先思考的點。避免花了錢、花了時間,最後發現選了一個效果不如預期的。

純課程以外還提供了什麼?

上面有提到,現在網路上,不論 freeCodeCamp 或是 YouTube 都有所有轉職前後端軟體工程師需要的知識內容。假如真的要很完整的系列課程,在 Udemy 上一堂三四百台幣就非常非常足夠。因此假如選擇的培訓課程,只有影片或講義等內容,那還不如用網路上的免費課程或是 Udemy 就好。

是給魚吃還是教釣魚?

前面也有提到,能夠引導參與者來發展解決問題能力,是好的培訓課程的價值之一。換句話說,只給魚吃 (只教知識內容),而沒有教如何釣魚 (培養運算思維、工程思維、獨力解決問題能力) 的培訓課程,那也是不如用網路上的免費課程或是 Udemy 就好。

是否能累積獨立專案作品集?

如果是以轉職為目標,參與培訓課程的目的就是能找到工作。對於非本科的轉職人來說,要能夠有效找到工作,在履歷上有作品集,是能否拿到面試機會的重要指標。因此,能夠有一個自己獨立開發的作品,會是非常重要的。因為在面試時會被追問到作品集的各種細節,因此如果只是用模板的作品,或者是跟著教學影片寫出一個自己沒辦法解釋技術細節的應用程式,這會讓結業後的求職會相對吃虧。簡單來說,如果只是上課,沒有獨立實作出專案作品,那也不如網路上的免費課程或是 Udemy 就好。

是否與自己合拍?

假如在上面三個條件篩選下,你有了培訓課程的口袋名單。在這些口袋名單中,如果必須做出選擇,選一個去報名。那麼或許就選一個與自己合拍的吧!如同前面提到的,現在網路上在知識面的資源已經足夠,因此能不能學好程式、能不能順利轉職,更關鍵的點在於能不能有效熬過學習程式的撞牆期。

因此,找到一個與自己合拍的,讓自己能夠有效持續學習的環境,會是非常重要的。畢竟學習是很個人化的,別人適合的不一定跟自己合拍;與其盲從跟隨別人推薦的,不如挑一個自己真心喜歡,會讓自己一直能保持學習動力的。因此不妨多看看幾個不同選項,實際跟該課程的人互動,然後挑一個合拍的吧 (當然前提要先符合上面三個篩選條件)。以上,希望這篇對於要選擇程式培訓課程的你有幫助。