Nic Lin's Blog

喜歡在地上滾的工程師

軍旅生涯中的 Rails實戰班 上課心得

我是一個正在服一年義務役的阿兵哥,在退伍前一個月上Rails實戰班,利用休假時間上課、寫作業。 我相信我能克服在時間的縫隙裡完成超多作業,你一定也行。

不期而遇

兩年前,那年我還是大三的學生,記得有一次在學校上Linux網路實作,無意見看見我的同學拿著一本R開頭的程式工具書,就在課堂實作結束時,我好奇過去寒暄幾句,問他這些在寫什麼?他先是告訴我是一個框架也是一種語言,「嚕比骯瑞喔死」,之後簡單的敘述一下內容,其實我有聽沒有懂,只是很模糊的知道好像是一個很厲害的東西,寫什麼?完全不知道。

試著讀取大腦的記憶體,我發現我只有聽過PHP、JAVA、C++、ASP.NET… 為什麼沒有Ruby on Rails?

在大學上課時,覺得完成老師出的作業很有種成就感,也因此漸漸的喜歡寫程式,但我總不知道除了課堂上教的以外,我還要如何精進實力,一遍又一遍的查詢,看著滿山滿谷的Google,卻拼湊不出屬於自己的作品,逐漸迷惘。

然而,Rails這個奇妙的東西就一直深植我腦海。

注定相遇

一年後我畢業了,從一個普通的科技大學畢業,很幸運的是,那時候我媽送我的畢業禮物,恰巧就是一台MacBook,我在畢業即失業後的日子,等待著兵單到來,在這期間除了努力打工養活自己以外,我就是想著這台MacBook要怎麼運用,才不會辜負我媽的一片好意,直到我腦海逐漸喚醒一段微小的記憶,沒錯,就是那個不期而遇的Ruby on Rails。

我開始在工讀下班休息的的每一天嘗試著學習,我看著網路上的教學文,step by step,把環境建立在我的MAC上,但一開始常常碰壁,例如:教學網頁的版本與我實際裝機的版本不同、跳出的錯誤訊息看不懂卻不知道找誰求救?為什麼明明照著做了卻跑不起來,正當我爬著陡峭的學習曲線時,兵單來了,於是我就去還國家債了。

在當兵的期間,看見一位在做RD的學長,分享了FaceBook的訊息「 Rails 商務網站 x 即戰力班」,那時候才八月吧我記得,我帶著休假的不確定和為了在退伍前加強實力的決心,跟軍中的班長討論年底冬季班上課的排假,在這裡我真的想要好好謝謝軍中的你們,如果沒有你們幫我排假,我想我不可能可以準時上課。

之後,我就在上課前的一個月,利用每次休假,努力做Rails 101這本教材。

開始上課

第一週上課的時候,也是我第一次看到那麼多MacBook同時出現,緊接著,xdite開始教我們如何用UserStory去規劃一個想完成的作品,這個概念不只是對學習上有幫助,更會增加你的整體思考,然後帶著我們實作每一個小功能,並且告訴我們,這堂課我們都有繳錢,有任何問題或實作上的困難都可以舉手問助教,就是要讓你問到飽,問到助教倒!

在上課的時候我覺得這裡的節奏很快,程式碼根本來不及打,我都是照著講義複製貼上,先實作出來,在聽xdite講解為什麼要這樣做,這樣做對我們有什麼好處,對後面維護的人有什麼好處,在第一堂課的尾聲,xdite讓大家輪流自我介紹,我才發現來這裡上課的人真的是各領域的人都有,不論是新手或是在其他技術上的高手,也看見想要創業順道來此找夥伴的人,真的是臥虎藏龍。

第二週上課的時候覺得這根本地獄啊,每實作一些功能就有一份回家作業,這週的作業真的是多到爆,如果你回家沒時間作作業的建議是不要報名了XD,不過好險回家作業的時候,你可以用slack發問,可以看quip的共筆筆記,甚至你可以去參加Rails的meetup,話說我休假時剛好有遇到meetup的時間,在那邊遇到之前實戰班畢業的學長互相交流,就連Rails菜逼巴的我也在那邊教了環境剛建好的新手如何解決碰到的困難。

第三週上課時,你已經在作業與上課實作這樣巧妙的結合下,做出一個可以上線的購物網站了,當用測試環境下看見線上刷卡成功的感動真的不言而喻,我覺得每週在這裡都有一些不同的收穫,不論是學習助教在幫你debug時的處理方式,xdite的「鬥知識」時間,你都會因為這堂課而在每個禮拜帶一點小小的東西回家,真的發現一堂課三小時其實不短,當初的懷疑與疑惑全都是多餘的,說誇張一點。

這門課,這個價格,便宜了。

課程後記

xdite給的東西真的很多,我算是完全新手來上這門課,老實說我沒辦法在課堂結束的當下百分之百完全吸收,不過還好的是課後還有強大的輔導機制,可以不懂搞到懂,清楚看見這門課給的專業跟誠意,助教不厭其煩的不管是在課堂或是在slack上替大家解答,更正講義的bug,完全不像學校或是一般補習班的射後不理,這真的差非常多!

課堂之中,xdite所提到的肌肉記憶法真的很適合上這堂課,在於學習新東西的時候,先跟著做,反覆做,不要第一時間就去想為什麼?這是什麼?否則容易影響學習成效,也會容易掉落why,what的無限迴圈裡,試著回憶小時候,我們不也是在反覆練習下學會一些技能嗎?例如學習如何爬行、走路、拿筷子吃飯,甚至到成年後的騎機車平衡七秒、開車的倒車入庫,而那個時候的我們並不只是用大腦去學習,而是先讓肌肉習慣這樣的舉動,不斷重複的操作,在練習操作之中,學會每一件事,那學習程式語言,何嘗不是如此呢?

我想我在這裡學習到學校與業界的鴻溝還是有那麼一大段距離,而xdite就是帶領你跨越鴻溝,教你業界不見得會主動教你的觀念以及技巧,不論是coding的技巧,又或是觀念指導,那是一種很難用文字言語去量化的,我想,實戰班畢業後,不是一種單純的課堂下課,而是開拓更無止盡的學習道路。

最後謝謝幫助我上課的每個人 謝謝xdite與sdlong等兩名助教 謝謝每一次上課坐在我附近幫忙的同學 謝謝軍中幫忙排假的班長

給要報名的你/妳

上課前建議花時間練習Rails101至少三遍,真心不虎爛。 上課的這個月請把時間留給學習,東西真的很多。 一堂課三小時只有四堂,真的不會太少,因為每一堂的收穫都會是滿載而歸。 最後帶著快樂的心情去上課,厚著臉皮盡情的問你不懂的問題吧!

comments powered by Disqus