最開始會決定往網頁開發的方向走, 也是經過了很多思考, 詢問了許多人。
雖然自身並非本科生, 但因為前工作的職場性質或多或少會接觸到一些程式,在這些過程中意識到, 我對於程式的敏感度比起我學其他東西要來的高。所以若要轉職, 第一個念頭就落到了寫程式上頭。
有了想法之後開始google相關資訊, 才知道程式領域目前的顯學似乎是網頁開發這塊, 其中又有分前端工程師以及後端工程師。兩邊的工作性質看過之後, 兩邊都沒有說特別心動, 於是也只能實際嘗試看看才能知道自己比較適合哪一邊。
延伸閱讀:前端、後端、全端工程師 核心技能比一比
研究各家程式線上課程,還是選了ALPHA Camp
由於自己本身就有一點HTML/CSS的基礎, 於是希望能夠先找地方嘗試後端的內容。搜尋了許多相關的課程與培訓機構, 似乎網頁開發這塊的培訓班, 比較有名是六角學院, 飛肯學院, Alpha Camp 以及五倍紅寶石。
其中六角與飛肯是偏前端, AC與五倍則是主打全端開發。由於我希望能儘早的先碰觸後端內容試水溫, 所以前兩者就篩選掉了。五倍那邊主打的程式語言是Ruby, 這是一套由日本人開發的語言, 五倍對於日本的就業環境似乎也有提供相關服務。
我個人比較哈日, 所以對五倍很心動。但在兩邊官網來回看來看去, AC的課程規劃是比較吸引我的。 最重要的是, AC的入門基礎班價位非常的親民, 為期也不長, 對於試水溫來說相當的適合。最後我就雙眼盯著五倍, 雙手卻報名了AC的課程 (苦笑
AC課程不走速成,強調「產品思維」
我覺得AC的基礎課程是真的有用心的在幫學生打底, 可以感覺到說不是速成導向的課程。從開發的前期發想, 到前後端的實作, 都先用簡單的範例讓你整個run一次, 並且強調所謂的「產品思維」。
這個說簡單點, 就是希望讓沒經驗的學生能夠理解到, 設計這行與藝術最大的差距就是, 藝術是做自己想做的「作品」, 而設計是做客戶, 或是User想要的「產品」。能否意識到這點, 對於往後的職涯會有深遠的影響。
不過老實說, 因為我是設計本科生, 所以這部分的內容, 我是真的聽的有點煩躁。大學一直提, 公司一直提, 去聽研討會也在提。現在要轉職去上課, 居然又是這個!? 可見這個的重要性有多高了XD
#也在思考轉職?無論你是:非本科跨領域學程式|理工科職涯升值挑戰 都有適合你的學習路徑
課程設計重引導,同儕刺激求進步
再來講講AC的一些我覺得不錯的地方, 首先就是官網上主打的班級制。雖然我沒上過其他的線上課程。但聽其他朋友說過, 線上課程買了卻沒去看的情況是很常見的。所以AC為了解決這一點, 就規定了開課時間與結業時間, 讓想報名的學生可以湊在同一個時間帶。
接著透過他們設計的上課平台, 可以讓同學們在上面能互相留言, 討論課程內容或是作業, 也設計了作業評分系統, 刺激學生的競爭心。因為有這樣的互動, 上起課來確實不會感到寂寞, 會有跟一群同學一起在努力的實感。
延伸閱讀:我第一個準時完課的線上課程在 ALPHA Camp
作業的設計上我覺得也是很好的, 我以前上過一些軟體班, 幾乎都是老師做一步, 你跟著抄一步, 就這樣把一個作品抄出來。以為自己學會了, 到了實戰才發現根本沒學會。而他們在作業的設計上比較偏向引導式, 就是只跟你解說一半, 後面一半你自個兒去想。實際這樣做了幾輪作業, 我覺得效果是相當不錯的, 能很好的刺激自己大腦去思考。隨著課程難度的增加, 給的提示也會越來越少, 成功做出來的話, 是真的蠻有成就感的。
了解更多:ALPHA Camp的學習體驗
零基礎想試水溫適合來AC
在前後端的授課比例上, 基礎班在後端的著墨是比較多的, 4週的課程分別是, 第一週講通論/開發流程, 第二週講初階HTML/CSS, 第三、四週都在講程式基礎。分配上, 前端是比較少的。大概也是因為難的還是難在程式思維, 需要花比較多的時間才能蹲好馬步。後兩週並沒有實際進行後端程式與前端的連動。重點是放在去學習程式如何思考, 以及數學拆解邏輯, 讓你回憶起國高中數學, 瞬間理解原來學數學……是有用的啊!?
整個四週學完, 讓我回憶起了算數學的樂趣。有幾次的作業甚至寫到忘我, 差點通霄。我想或許我的本質是比較適合後端吧。
所以……結論上, 自己上了這4週的課程。我覺得對於想試水溫, 還在迷惘的人來說是很好的選擇。而對於真的下定決心要走這行, 但又零基礎的人來說, 這馬步應該蹲的也還算扎實。不過對於急著要找工作的人, 可能就不太適合了。已經有點基礎的人, 可以直接去報中階班。
學期一體驗課,學期二扎穩馬步
若要說,學期一就很像是以前學校的社團體驗課。就帶你來看看環境,認識認識寫程式是怎麼回事,然後做幾個小練習試試興趣。
而學期二開始就是本格的在訓練蹲好「全端開發」的馬步。開始真正的用JavaStript做出可執行的網頁應用。不像學期一,只在終端機上面用文字反應功能。成功的在網頁上做出可視的作品,那個成就感與滿足感也是遠遠超過學期一的。
從Float流切版到FlexBox與前端框架
最開始上學期一之前,我根本不相信,不用Dreamweaver要如何切版。後來學會了怎麼撰寫簡單的HTML與CSS,也學會了早期使用Float的切版方式。
學期二開始,更深入的講解了Flex與Grid這兩種較新的切版技術,跟著課程的引導,理解原理之後,開始進入 Bootstrap 框架,可以更快速的打造出一個頁面。
這讓我有更完善的技術力,可以將我腦中所想的畫面給如實的呈現在網頁上。學到後面我甚至開始妄想說,這世界上已經沒有我切不出來的版了XD
JavaScript與DOM操作,建立更扎實的程式能力
學期二終於可以學到「如何使用程式語言去影響網頁的呈現」。從最基本的JavaScript觀念教學,DOM操作實戰,以及如何處理資料……等各種演練。
想起以前學生時代,跟風用Dreamweaver寫網頁,那時候很多JS功能完全都是複製貼上,根本看不懂到底是甚麼意思。而現在我可以清楚的知道每一個指令是幹嘛的,不僅能看懂網路上別人分享的script。更能靠自己寫出自己的script來操作網頁功能。
除了視覺相關內容之外,也進行了很多演算法的訓練,寫了摸彩箱,寫了計算機,也學會了怎麼寫Search功能。感覺戰鬥力很扎實的上升好幾個檔次,不再只能做一些單純的純視覺網頁。
其中摸彩箱讓我印象很深刻,因為前公司尾牙時,有做了一個抽獎app。後來一問之下那個app居然是我們的MIS臨時學的。讓我不禁覺得,這真是個實用的練習,沒準哪天我也會突然被老闆叫去寫一個摸彩箱,讓公司可以進行尾牙抽獎活動。順便為這位十項全能的MIS默哀,工作範圍實在太廣了(笑)
印象深刻的物件導向(OOP)設計思維
我前工作是遊戲業的3D美術,不得不說物件導向的思路真的學起來非常的親切。3D軟體的整體架構基本全都是物件導向,每一個功能都是以Obj為中心出發,從 Mental Ray 的 Render Tree 就可以清楚的看出所有東西都是一個一個的物件(或著該說節點?),這樣的概念。
所以學了物件導向的當下,我才真正理解到為什麼3D軟體是那樣的架構,開始能結合過去的經驗,更加的理解電腦圖學(Computer Graphics)是怎麼一回事。
我一直覺得,國外的遊戲業技術力會這麼強的原因,是因為他們很多美術也都懂點程式,而他們很多程式也都會一點美術。這對他們在3D軟體與遊戲引擎中,開發 Real Time Shader 時能起到很大的幫助。因為遊戲畫面的呈現,單靠程式,或是單靠美術都是做不出來的。唯有兩者良好的合作,才能做出真正好的畫面。
除了畫面渲染技術之外,物件導向的思路真的怎麼看都非常適合拿來寫遊戲,不斷的觸動我的遊戲魂。學著學著我就一直在想,搞不好我以後會跑回去寫遊戲也說不一定。
引導式的課題練習與隨時給予支援的助教團隊
這部分在之前學期一的心得也有提過,學期二仍然也保持著一貫風格。
作業不會直接告訴你怎麼寫,更不會給你範例讓你抄程式碼。而是會引導你學會「自行思考」,把自己的所學應用到作業之中。
每一次的作業都讓我寫的很興奮,我只要一有靈感,想追加些甚麼功能,之前課程所學到的東西,都能讓我真的把這些功能給做出來。所以也越寫越開心,越寫越有自信。
每次自行加了很多功能之後,也都很期待助教的回饋。這些都讓我更有動力,朝著更艱難的領域走去。
學期二受到許多助教的幫助,他們讓我更理解專業的開發人員是怎麼思考問題的。也讓我學到很多開發專案必須要注意的事情。讓我可以更早的有職場意識,隨時準備迎接未來會碰到的各種開發需求。