距離我第一次接觸Ruby程式語言已經至少有五年了, 那時僅是因為對RPG Maker有興趣,想用它來製作一款屬於自己的遊戲。 而該軟體的Scripting System剛好就是以Ruby為基礎所寫成。 我想這就是所謂的interest-driven developemnt,因為興趣而開發。 從那時候我就用課餘的時間自學Ruby,漸漸的發現它的美好。 除了從遊戲製作那邊得來的成就感以外,也深深被Ruby的優雅所吸引。

兩年前,我開始第一次真正接觸Rails。 其實我從剛學習Ruby的時候,就有聽聞過「Rails是Ruby的殺手級應用」這麼一句話。 但那時的我對網頁的概念一無所知,也就沒有深入去了解。 直到兩年前,我因為在學校的課程中學習到了網頁的基礎, 才想到說當初有聽說過Rails這個也是跟網頁有關的框架, 於是變真正開始接觸Rails。

在我看來,自學Rails相較於自學其他語言或框架感覺起來相對比較辛苦, 至少我翻閱了許多教材如ihower的網站或Rails 101等, 都需要看過兩三次才能大致了解其意涵。 雖然學習的過程很辛苦,但當自己有能力架一個雖簡陋但堪用的網站時, 那種雀躍的心情是不可言語的。

從那之後,我偶爾便會用Rails開發一些小網站 (雖然大部分都沒有在運作了) 而去年也因為學校活動的需求,第一次使用Rails寫API server。

我略有耳聞,Rails在國外是有市場的。 但我並非基於求職或者是任何其他跟金錢有關的理由去接觸, 我單純就是因為自己對Ruby與Rails的興趣與熱忱而去學習與開發。 可惜Ruby/Rails在台灣並不是一個非常流行的語言和框架, 在我周遭,幾乎沒有人接觸Ruby或Rails,且也沒有聽說過台灣當前有甚麼公司企業在推崇Ruby或Rails。 雖然這令人沮喪,但這仍無法澆熄我對Ruby/Rails的熱忱。

直到今年初,我才聽說有五倍紅寶石這麼一家專門推廣Ruby/Rails的企業,且他們也正好在招收實習生。 聽到這個令人雀躍的消息,我二話不說馬上就投了自己的履歷申請。 為了滿足每周至少要到兩天的要求, 我甚至在申請結果出來前就放棄學校大部分的課程時間,空出整整兩天來給公司。 (那時候可謂是背水一戰,如果不幸申請沒上,我這一個學期就真的不知道該怎麼辦了!)

後來我很幸運的申請上了,很感謝五倍的大家願意給我這個機會來實習。 我自己知道,如果要精進自己的Ruby/Rails技巧,只靠自己是很困難的。 因此我來到這裡,希望可以接觸到更多Ruby/Rails圈的前輩,以及真正在業界中開發的專案。

在五倍,除了學習到了更多與實務網頁相關的技巧以外, 我也學到了Rails 5最新的功能之一:ActionCable。 這是Rails結合WebSocket所衍生的一套系統。 利用它可以輕易的在Rails上開發與WebSocket相關的應用。 除了網頁,我也第一次接觸如何使用Ruby去控制Raspberry Pi,並驅動其讀卡機與蜂鳴器。 雖然我過去略有接觸Unix-like系統,但當我能用Ruby去控制它時,是令我相當雀躍的。

在實習的後半段時間,我開始接觸國外的Rails開發案,那是一個來自日本公司的案子。 因為這個開發案,我更加熟練了多人開發的協作技巧,以及如何使用測試框架(RSpec)。雖然日文是很大的障礙,但這裡的大家都很熱心幫我翻譯,讓我能順利完成任務。

時間過得很快,四個月的實習一轉眼就到了尾聲, 在最後幾天的日子裡,我除了收尾手上的日本專案外,也回想著這段日子的點點滴滴。 和五倍的實習生們一起學習、和五倍的大家一起用餐、和五倍的貓玩耍、和五倍的工程師們一起通靈… 由於我自己的生涯規劃,暑假後我不得不離開這裡。 雖然很捨不得,但這段日子我很開心,我擁抱了我喜愛的Ruby/Rails。 謝謝五倍紅寶石的大家,讓我有五百倍的喜悅與熱忱!