PTT推薦

[心得] 資策會結訓心得(C#)

看板Soft_Job標題[心得] 資策會結訓心得(C#)作者
akane8310
(阿卡_)
時間推噓28 推:28 噓:0 →:0

從開始學習程式到轉職以來大約過了一年的時間,
中間過程受到不少版上前輩的建議以及幫助,前陣子剛結訓也順利轉職成功。
趁著今年的最後一天,想將這段期間的學習過程及心得,
分享給其他考慮轉職或是正在努力中的板友,提供一些參考。

一樣從簡單的背景介紹開始。


背景:

國立中文系學士,未滿30。程式背景趨近為0。
曾摸過幾次程式學習書本,但最後因為看不懂而放棄。
轉職前在類似公家機構的單位擔任行政,轉職契機是原職場升遷結構固定,
為了發展決定另謀他路。
選擇軟體工程師是因為朋友的建議,不過一開始也不是很認真地考慮這條選項。
某天偶然在Youtube上看到程式語言的教學影片,看著看著慢慢燃起學習程式的興趣,
才開始認真走這條道路。


轉職前的準備:

看了其他人分享的轉職心得,有蠻多零經驗的轉職者都是從教學機構出來的。
不過我不敢貿然直接去報名課程,先嘗試自己學習程式試水溫。如果這一步就失敗的話,就可以考慮其他的職涯發展。


 1. 基礎程式概念學習

免費學習資源有很多,圖書館書本、自學程式教學網站、Youtube、學校報名班等等。
付費的話也有Udemy可以選。
我是從Youtube上看到Feis老師的C語言教學影片,覺得講解簡單易懂,
所以都用這個方式學習。

影片一集約5~10min,我會在上下班通勤時看1~2集。然後趁上班空檔或中午休息時間,
拿出紙筆開始回想影片內容並手寫程式碼。回家後再用DEV C++把程式打一遍。
學習一段時間後,再開始找其他的影片,試著寫出不同的專案練習。
雖然看影片的時候覺得code很短很簡單,但自己寫的時候就常常寫不出來。
看別人學習心得都建議要跟著範例手打一遍code,真的有他的原因所在。
沒有自己從0開始把code寫出很難確認自己是否真的有學到內容。

在學習基礎程式概念的過程中,我覺得有沒有引起學習興趣這點很重要。
大學期間曾透過書本的方式學習程式,但好幾次都看到快睡著,最後無疾而終。
這次是透過Youtube的影片方式學習,狀況反而不錯。像在追劇般,想一集一集看下去。如果有想轉職的板友覺得學習程式很困難的話,不妨多方嘗試看看,
也許只是還沒找到適合自己的學習方式。


 2. 補習班選擇

影片學習差不多告一段落之後,我覺得我對程式語言並不排斥。
畢竟是未來吃飯的工具,要陪它朝夕相處,如果上班過程很痛苦的話絕對撐不下。

一開始先試著在104上投遞履歷看看,
想當然沒有一家公司願意收非本科0經驗沒作品的白紙。
後來在板上發文尋求發展建議,獲得不少幫助。根據板友的建言決定報名補習班的課程。

補習班的選擇不一定只有資策會,也有TibaMe、Alphacamp、AppworkSchool等等。
當時有申請AppworkSchool,不過自己的表現並不好在面試時就被刷下來了。
事後回想真的蠻多失敗的地方,未來面試工作時就有好好汲取這段經歷,
也是一段不錯的經驗。

最後選擇台北資策會的原因是聽說就業媒合做得還不錯,
加上熟悉上課地點附近的環境,交通也很方便。
缺點就是學費真的很昂貴,當初報名的時候已經沒有補助。
10多萬的學費+6個月無薪的機會成本,需要一點勇($)($)才能報名。


3. 課程選擇

原本想要成為前端工程師,報名前端班課程。
很遺憾當時已經過了報名時段,若要報名必須再等半年。
因為不想再虛度半年,查看課程時段發現C#班時程最近、課程包含網頁前端以及後端課程內容。
想說C#好像可以寫網頁、自己也不了解什麼是後端,趁這個機會了解後端也好,
對未來前端工作應該有幫助,最後就參加了C#班。
(至於實際上C#是在寫什麼大家懂得都懂,拜託不要笑我當初菜雞單純想法QQ)

另一個選擇C#而非Java的原因也很單純。C++有個C、C#也有個C。都是C語言,應該差不多吧!
(對,又是菜雞想法。純粹看到名字有好感就報了。)

關於C#班和Java班哪個比較好,以前版上有討論過,可以參考討論串。
以我個人淺薄的感想,單純轉職來說兩者工作機會都蠻多的,選擇有興趣的一方學習即可。也可直接向櫃台詢問課程差異評估後再選擇。


課程:

報到當天櫃台會請你到教室找座位,通常就定位後那台電腦跟桌子就會跟著你到整個課程結束。
想挑座位的人可能要早點到教室,順便測試電腦及周邊設備,以免還沒寫程式先被設備搞死。
像是抽屜部分,因為座位空間關係順手好打的位置很重要。
不同的滑鼠也可能有手感問題,先搶先贏!

個人是挑選窗邊第一排位置。恰好窗邊有空間可以放置雜物,
上課遇到問題也可直接螢幕180轉邊詢問老師。
(窗邊位置可以放咖啡杯、洗完後順便曬乾超級方便。在冬日也能曬曬太陽,誠心推薦。)

1. C#基礎

這個階段主要是利用winform學習基礎C#語法。
不過與其說是學習C#語法,不如說是學習怎麼使用Visual Studio。
VS是很強的IDE,但功能太多需要慢慢摸熟,甚至專案怎麼開都要摸好幾遍。
以前只會寫小黑窗的我看到老師利用winform教學一開始還超級不適應。

上課的節奏很快,基本上不會慢慢地解釋變數宣告、資料型別是什麼,
直接從程式面開始著手練習。
如果沒有事先預習基礎觀念的話很容易上課沒幾天進度就落後。
零基礎的人想透過課程學習基礎觀念的話,需要非常努力課後補進度。
同屆同學有人在這階段就已經跟不太上,後來也退訓了。

另外也能看出哪些同學的學習狀況比較好,或是曾學過程式。
有問題的話可以多向他們請教交流。
(要抱大腿的趁現在開始搏感情XD)

2. SQL、資料庫實作

超級無敵重要的課程,基礎中的基礎。未來專題製作、面試及工作都會不斷重複用到。
但起初學習的時候是丈二金剛摸不著頭腦,對資料庫和SQL語法也沒什麼共鳴。
一直到後面學習LINQ和製作期末專題時才慢慢搞懂,面試前還不斷複習上課影片。
這段的學習成果會直接影響到期中DataBase規劃以及期末專題製作。

在教完SQL之後,差不多就會進行分組。導師會請各組依照專題主題設計並實作資料庫。主題雖然自由發揮,但原則上大同小異,都是做有購物交易買賣的系統,只是呈現方式不同。
導師會參與DB設計討論,並提出一些需求讓各組增修。設計出來的DB則會在期中期末專題時使用。
雖說如此,我們小組的DB因為實作架構不好的關係到期末專題時又打掉重練,費了很多功夫修改。

建議SQL要花120分的心力學習,避免日後顛三倒四。

3. 元件開發

課程總概一句學習物件導向的基礎。
然而,嗯。咳嗯。
對於這堂課我的想法是建議多爬網路資料,碰到不懂的主動詢問問題對學習比較有幫助。在此不贅述。

以上沒反白。

4. ADO.NET、LINQ

主要是學習C#怎麼和資料庫溝通,以及認識.NET框架。
老師會用淺顯易懂的例子以及分享業界經驗,我覺得很不錯。
不過ADO.NET較複雜,學完LINQ後都改用LINQ和DB溝通。
專題製作也都是用LINQ,到後面前者課程幾乎忘光光。
但面試常會考ADO.NET課程中有提到的相關觀念,有事沒事還是複習一下比較好。
而LINQ是專題製作的基本功,Q不出來專題會直接難產。
這部份要多加練習,或是回顧一下SQL課程。

5. 期中專題製作

上完LINQ後整體課程第一部分就差不多告個段落,進入期中專題製作階段。
各組需要依照之前製作的DB利用Winform做出期末專題的雛型出來,
然後在班上上台報告各自寫的功能。
時期還蠻長的,可以利用課餘的時間慢慢寫。中間會讓你觀摩學長姊的專題發表,
參考期末要呈現出來的樣子。
我個人這個時候還處在很想寫網頁前端的階段,對winform興致缺缺,沒有很用心製作期中專題。


......然後期末就吃到苦頭了Orz


期中專題是驗收學習成果的好機會。在專題製作過程中可以大量練習LINQ以及檢驗資料庫設計是否有問題。
雖說期中專題只是在自己班上發表,即使搞砸也還有機會補救。但這段過程有沒有用心會大大影響期末專題製作表現。
事後自己很後悔怎麼沒有認真做期中,到期末才來努力研究。
(還好救了起來,差點自爆。想轉職的板友絕對不能跟我一樣這麼散漫。)

6. html + css + javascript(jquery)

個人最想上的課程部分,花了蠻多心力在這塊。
但課程只講解基礎的部分,主要是為了讓期末專題能夠用網頁呈現。
尤其css部分,課程講解的很少,bootstrap也是要自己查怎麼使用。
如果只是單純想學怎麼做靜態網頁的話,其實上網查資料都有。
當時還想走前端的關係,自己在課後會額外學習怎麼使用前端框架。
不過隨著整體課程逐漸到尾聲,需要專注在期末專題的製作上。前端框架的學習就暫時擱置。

已經打定主意走前端的板友,真的要報名的話還是需要報專屬前端班的課程。
(菜雞的如意算盤打得太天真了。)

7. ASP.NET MVC + Restful Api/Ajax

經歷了SQL資料庫、前端網頁基礎及期中專題發表之後,終於來到整體課程的重頭戲。
前面的學習都是為了這段鋪陳,期末專題要以MVC的方式開發網頁呈現。
老師會講解什麼是MVC,以及.Net Framework及Core的開發差異。
一開始會用Framework的方式進行簡易的購物平台製作,然後用Core的方式再寫一次。

這邊課程難度和以往都不同,要把之前學到的都融會貫通,
很多同學覺得這部分課程學習很吃力。
課堂也是講解基礎而已,實際期末專題製作更加困難。
上課只聽一遍的話多半聽不懂,課後需要花很多時間複習。

Api/Ajax部分老師會講解基礎的網路通訊協定,並解說同步/非同步觀念。
老師很用心,針對我們基礎觀念不足的部分會加課補充。
直到這個時候我才終於了解什麼是前端後端、前端是怎麼跟後端聯繫、MVC架構的發展沿革等,解決我當初一直疑惑的地方。

8. Azure + 認知服務應用

算是一堂讓大家認識MS的雲端服務的課,
後面認知服務會讓你玩看看應用MS的雲端分析製作AzureBot。
當作增廣見聞還行,實務上沒怎麼操作聽老師講解比較多。
難得的放鬆嗎?課。


另外還有一些課程(XAML、PowerBI、職場講習等)散落在上述的課程之中,不過這些部分感覺比較無關就暫時pass。


期末專題、發表:

課程結束後,後續時間就讓各小組全力專心製作專題。
最好和你的組員討論評估網站需要哪些功能,並把實作出的功能條列出來。這樣後續和廠商面談的時候就可以一個個抓出來舉例。
期間導師會檢視各小組製作狀況、討論內容並給予功能增加建議。
有的時候會覺得這些功能好像和專題主題沒關係,但就當作練習試著完成它。

專題後期差不多把基礎功能都寫好之後,剩下就是更進一步的延伸。
例如幫網站加個聊天室、串接金流服務、call別人寫好的api等等,盡量豐富整體專題的內容。
除了在發表時展示,面試時也是很好的談話材料。

製作過程需要面對很多課堂上沒有教過的部分,一切都要仰賴google大神及同儕間互相討論、協助。
基本上專題會用到的功能都不會太難,只要知道問題出在哪裡都能夠google的到解法。剩下就是不斷的try & error。


專題本身以外,也要準備發表的流程及履歷自傳等。
有些廠商會在發表前就發mail介紹自家公司,發表前夕也會收到有意參與媒合的各家廠商列表。
成果發表當天上午會邀請各家廠商觀看各組的期末專題成果,下午則進行就業媒合。
就業媒合主要是談話確認人格特質,並介紹自己的公司。

就業媒合結束後整段資策會課程至此告個段落,後續就看自己和廠商的面談結果,專心投遞履歷安排面試祈禱能順利轉職成功。


總結心得:

當初在結訓前還蠻慌張的,整天想著找不到工作該怎麼辦,
常常整天看著104也沒半條結論。
後來結業完參加就業媒合後,陸陸續續有面試通知才比較踏實一點。

媒合前資策會提供的廠商名單,請一定要好好調查各家廠商資訊及工作內容,並編號排名順序。
這個順序就是當天就業媒合要去的順序。下午的時間過得很快,絕對不夠去所有的廠商。千萬不要因為緊張就不敢上前,盡量去找廠商聊天。有的廠商在聊天過程中看你不錯就會邀你去二面,
也有的廠商會請你之後再投104請HR聯絡你。這個環節關係到你之後求職面試機會的多寡,請好好把握,並將自己最好的一面展示出來。

我自己當天並沒有很好的掌控時間,很多家廠商都沒去媒合或是錯過了時機。
當天回家後只有一家事前寄了email請我去面試。坦白講我慌得要死,
趕緊開104把當天的廠商能投的都投了,也幸好廠商願意提供面試機會。

面試時廠商最常問的就是你在小組專題中負責哪些區塊、做了哪些事情、遇到的困難有什麼,
所以專題的表現很重要。所謂的表現不是只有當天上台而已,還有你平常寫專題功能用了哪些技術、怎麼克服難點、
做了多少額外的需求、為了什麼而做、這項功能考量了哪些東西等等。
即使寫的功能表面上看起來沒什麼,背後的邏輯、考量、code寫法其實都是可以拿出來跟廠商討論的。
盡量表現出學習程式語言的過程中作了哪些努力,努力後的成果是什麼。
廠商會透過跟你聊天的過程中評估你適不適合做這份工作。


再回到我個人的學習狀況。一開始在資策會我也是課上完就回家躺平,
期中專題也沒怎麼認真寫。
差不多到學了javascript之後發現自己功課都沒法順利完成,
意識到自己的不足,從此過著每天朝早九晚九的生活。

專題製作越到後面沒教過的東西就越多,必須時常自己google和看youtube影片學習。
如果前面沒打好基礎,在這個部分就會很痛苦。沒有時間重頭來一遍基礎訓練了。
若是還在課程中間部分,有不懂的地方一定要先搞懂,
課程影片也要複習,才不會最後手忙腳亂。

覺得什麼東西都寫不出來的時候也不要氣餒,把碰到的問題跟需求「明確」的寫出來。
若是連自己都搞不懂問題在哪的情況下,老師和同學是無法幫你解決問題的。
要時刻問自己到底卡在哪裡、我想完成的功能是什麼、
不會的原因是基礎語法不熟還是不會應用,或是課程沒教過所以完全沒概念等等。

能的話盡量在教室待好待滿,專心練習coding。
早九晚九的生活雖然辛苦,但把基礎建立起來比什麼都重要。
當基礎都熟稔之後,專題才能夠好好發揮,和廠商面試也會比較有自信。

即使順利轉職,也不代表可以就此躺平。
資策會只是一份敲門磚,授予的都是基本知識。
實際到公司後有非常多東西都是課堂不會提到的,要不斷地自我學習精進能力。


以上。心得有些落落長,一年前的我也沒有想過我能夠就職成功。
還跟當初設想的不一樣,成為了後端工程師。人生真的充滿了意外。
希望這些心得能幫助到想轉職的板友們。

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.110.199 (臺灣)
PTT 網址

jay123peter01/01 00:55

andytung44401/01 00:57

rejxcy01/01 01:06

MoonCode01/01 01:07

neo527701/01 01:37恭喜

lwjmnemonist01/01 01:42

Alsky1801/01 02:26同學推一下XD

lchcoding01/01 07:27恭喜,路還很長,有困難的也有驚喜的~~

James61002401/01 10:16加油,畢業只是拿到門票~我專職快四年還是得繼續學

shorty69682001/01 11:48

shane8712301/01 13:01推?

una28301/01 13:16恭喜

applebg01/01 15:13恭喜你

zzziii01/01 21:38push

windweapon01/01 21:47你好棒 愛死你了

streakray01/01 23:31推分享

automaton01/02 07:59用心的分享 讚

jacklin200201/02 08:38推,板上少些負面文,多些這種文章才好

shyangwang01/02 09:48可以分享一下薪資待遇嗎?

以個人面試經驗來說,原則上都有42k/m↑。

※ 編輯: akane8310 (1.160.106.220 臺灣), 01/02/2023 10:56:34

deeeplove01/02 17:37我也是這班畢業哈哈哈

yuinami01/02 18:25優文幫推

WWIII01/02 20:57推推

MyNion01/02 21:12恭喜,未來的路才正要開始!加油

cloud77771701/02 21:35推推

JustNoIt01/03 13:31請問可以分享一下有哪些廠商去了嗎 薪資都是多少呢?

andy021901/03 15:46推分享

johnkry01/03 18:30推...

Apollochen01/04 00:24推分享