Springok's Blog

2015Rails實戰秋季班上課心得

| Comments

自身背景...

我本身是機械背景,今年五月開始自學WebDevelopment,之前也買了XDite寫的Land Dream Rails Job,照著書中的Check List,完成一些Command Line、Git、HTML&CSS的課程,此外也訂閱了Treehouse線上課程來作為輔助,到參加上課前則是在實作Rails 101s的教材。

參加課程動機...

自己的設定目標是在今年年底前能找到一份Rails開發的工作,來上課除了想培養自身Rails開發能力之外,也能近距離與具業界實戰的前輩學習一些常用的工作策略與習慣,縮短自身摸索的陣痛期,此外,自已對目前現有的一些開源專案與眾人協作的理念滿認同的,未來想參與相關社群,盡一份心力。

關於課堂使用輔助工具...

課程輔助工具方面,XDite是用Slack跟Hackpad來作為聯繫同學們與助教的工具,也用來發佈一些最新的課堂消息,上課也使用Quip作為資料分享的平台,課程講義、每週的共筆等等,作業繳交則是用Github來做,這樣的做法,對於沒有軟體開發經驗的我,一方面覺得很新鮮,另一方面也覺得很方便又即時,也多學到了新的協作平台工具,相信未來在這個產業中工作,這種工作模式應該也是稀鬆平常的,也算是另類的職前預習吧~

關於課程...

課程規劃方面,XDite之前也專文討論過了,恩的確如此啊~已從事開發工作的角度,最怕就是你不知道自己到底在做些什麼,為什麼而做,像我以前做機構開發,尺寸變動、材料、零件選用都是有相當的考量,影響的是爾後產品的易製性、使用環境、使用者操作、甚至到後續的維護更換,整個產品的生命週期都要考慮。

我在參與課程時,自己則是以這樣的方式將機構開發聯想到軟體開發上,幫助記憶,第一步你就是需要做軟體規劃,軟體規劃當然很多方式可供使用,這課程是用User Story,相較於單純讓客戶開天馬行空的規格,透過User Story來做溝通討論,讓客戶得知具體的目標,同時也讓開發者有技術上的發揮空間。

User Story有了,再來就是技術層面的執行,我也相信條條大路通羅馬,同一個User story在程式寫法一定有很多種,課程教的其實是有實際開發經驗的工程師寫法,知道程式中哪些是重點,哪些小細節值得琢磨,哪些關係在早期建立起來對後續開發有幫助,看書、看網路的部落格當然也可以慢慢累積,但是站在巨人的肩膀當然是最有效率的方式,把找資料的時間,拿來實作,對新手而言絕對是有相當大的助益。

另外,我自己也喜歡在開發軟體上,有個概念叫做Design later(應該吧?不確定,XDite第一堂課分享提到的),就是你可以把一些現階段還不知道怎麼做的功能先保留下來,無須浪費時間琢磨,先做其他的功能,把大架構完成,等之後有靈感、或確定作法了,再來實作,例如:實作部落格,你可能還沒想好要怎麼做文章編輯的功能,就先放著,或是電子購物網站,你可能還沒決定後續的串接金流廠商,就先做一個假的,讓整個User story能動,不會因為要等待一些決策,讓你的開發工作停滯不前。

接著,有一個專案原型可以動,就可以來做一些程式碼上的整理,這個我原本很陌生,因為一開始跟著教材練,根本不知道為什麼要這樣整理,但課程中會教一套整理邏輯還有一些開發實作經驗上的豆知識,覺得卡卡的就問,漸漸就會熟悉一些Rails上的慣例跟核心的開發思想,然後知道可能有哪些工具,可以幫助你的開發工作更順利,而如果你未來立志成為一個可獨立作業的Rails資深工程師,這個課程是一個相當不錯的起點,而之後就像XDite說的找份工作,天天寫~這也是我現階段努力的目標。

透過這樣的有前後連貫的課程規劃下來,收穫很多,除了快速入門一些必要的開發技能,對於想透過Rails實現自己內心Idea的準老闆們,XDite也提供了一些不錯的方向,甚至是實作方法,剩下的就是要靠自己多加琢磨,朝心中偉大的航道邁進(?)

談談每次上課時的感受心得...

其實每次都還滿期待上課的,因為覺得又可以學到新東西,然後覺得三個小時的時間一下就過去了,課堂時間其實還滿緊湊,講完一小節,馬上實作功能,尤其是第二週,搞得很緊張,手忙腳亂,一下切Quip看講義、一下切Subl打code、一下切iTerm下指令、一下切chrome看localhost:3000結果、一下切Evernote簡單做個筆記、一下抬頭看投影片、一下低頭吃便當,好險助教們人很Nice,解決疑難雜症的速度又快~而且其實我每次都還滿想留下來聽各位同學問的問題,參與討論,但一下課都要去搭客運回新竹,實在有點可惜啊~

自身寫作業時的心得...

自己在家做作業的時候,除了複習課堂上的東西,還要寫作業、共筆,卡關還要找資料重新釐清自己的觀念,其實需要滿多時間消化吸收,但漸漸你也會感受自己的成長,反覆練習真的很重要~累了就到DeRoot找同學、助教、前輩大大聊聊天、討論問題,或督促自己來作作業,都是幫助自己持續往前的好方式。

對於XDite在解答同學問題時...

我先承認其實我都沒有問什麼問題XD,但毫無疑問,XDite是個樂於分享知識的人,對於問題有問必答,也無所保留,每次也都會開放Q&A時間,像昨天的課程上,甚至用自己在執行的一些案子來解說,也做了簡單的Demo,也分享許多在開發專案上的一些經驗或使用過的工具,為的就只是解答同學們的疑問,個人覺得還滿佩服的,願意把自己的所學分享出來,不怕你學,對我來說也是個難得的學習經驗。

順帶一提,我也在Rails meetup或新手村接觸很多前輩大大,也都有相同的傾向,讓我感受到Ruby/Rails這個生態圈,真的很樂於分享所學。

結論

簡單條列目前對我自身來說收穫最多的部分(到第三週)

  • User Story導向的開發概念
  • Rails 的一些基礎概念加強
  • 程式碼整理與課程專案相關Gem的介紹
  • 共筆整理的資料收集與邏輯訓練
  • 認識一些朋友與Ruby/Rails生態圈

這課程對於想用Rails找工作的人是個很好的起點,而對於已經有一些想法進而想要實現創業,在尋找適合的開發工具的人,也提供了一個很不錯的網站原型,就我個人而言,我是屬於前者,而且覺得收穫豐盛,然而課程結束其實才是真正的挑戰開始,之後希望能將第四週的課程跟一些未來找工作的心得合併再一起做個分享~

Comments

comments powered by Disqus