今年是我第一次擔任 MOPCON 志工,我的職務是資訊組的前端。在資訊組主要是做官網以及 CMS 的前端開發,此次還多加了一個電子看板,一開始很怕自己會雷到別人,對於職場菜鳥的我來說,完全遠端的工作也是一大挑戰,但透過組長的帶領,也順利的完成這次分派到的工作,從中學習到技能、溝通等等,接下來一一紀錄下這將近半年美好的漂流回憶~
資訊組的工作法
主要是採用 scrum 這個敏捷開發的方法來進行組的運作,以兩個禮拜為期是一個 sprint,每個 sprint 每個人都會有自己的 sprint Goal,並固定每週五的時候回報進度,回報的內容為:
- 上週做了
- 下週要做
- 遇到的問題
有需要處理的事項也會開 issue 並 assign 處理對象,除非是需要多方討論的事項才會約線上會議討論。
一開始其實會有『這樣我會不會不知道自己要幹嘛 QQ』的感覺,但實際上 run 起來是非常順暢的,每週需要做的目標都會很清楚的列出,且超棒的組長 hash 也會私下關心狀況,『會不會壓力太大』、『目前分配的工作還 ok 嗎』並說有任何狀況都可以反應給他,在開發期間他也會 code review 的非常仔細,因為他的帶領讓我安心很多,如同他在交流議程分享時提到的『不讓組員感覺是一個人,我們是一個 team』
雖然大家都有各自的工作,但也都很願意為活動分享經驗、互相交流與技術指導,若是有組員在某段時間比較忙碌也都會幫忙 cover,也因為這樣共同努力的氣氛,讓我也同樣會很希望自己能幫上更多。由於是完全遠端的關係,除了在 git 上有技能點的提升,在事情的溝通上也比較了解到『如何用文字說明的方式,讓人了解你的問題』。
技能點的提升
這次我主要負責到的項目有 CMS 的前端、MOPCON 官網部分以及在會場議程廳外的電子看板。在開發以上項目時,有新點了一些技能點:
Nuxt
因為這次的官網是用 Nuxt 開發,之前我並沒有使用過,因此一開始在了解架構也花了一點時間,中間也有不小心踩到大坑(也就是在動態路由渲染 head 的部分整個沒帶上參數),幸好同為前端志工的 Mars 耐心的和我講解架構,才順利的完成調整。
Animate 效果
這次是第一次用網頁的方式來做電子看板,往年都是用 PPT 的方式呈現,改成網頁的方式好處在於可以動態的更新網頁上的內容,讓對應的時間可以出現議程的預告,真正開始要做的時候大概只剩一個禮拜多一點的時間,當時其實有點緊張,很怕無法時期完成。而為了加速開發,我和後端也一起討論,確定好他那邊怎麼開 API 欄位後,切版與加上功能時也就盡量依照相同邏輯去做,最後相對串接時間也少很多。切版的部分主要碰到比較大量的 animate 製作,對於計算動畫呈現時間、CSS 動畫設定搭配 Animate.css 以及 swiper 輪播套件的應用也算是有蠻大的練習。總之結果我覺得還蠻滿意的!是很有成就感的項目!不知道當天有多少人去看了一下電子看板呢~
Git flow
真的不得不說,我的 git 程度提升最多的就是在這時了!
我們是 fork MOPCON 的專案,並由 develop 切出所需要開發的功能為 feature
開發後也會先 fetch 最新並 rebase 讓分支與遠端的 develop 同步,避免發生衝突,最後 push 上去再發 pull Request 讓組長 review,檢查後沒問題就會被 merge。
另外,也會注意每次的 commit 盡量以一個功能為主,也會盡量避免大量的推更新。原來以對 git 的感受僅只在版本控制,但這次還多了多人遠端協作,因此在 git 上就有更多需注意的細節哩
活動當天
資訊組的工作大致上會在研討會前完成,因此活動兩天就安排自己想聽的議程,有空閒時間就到攤位幫忙。我是安排第一天的早上幫忙顧攤,來遊戲的人還蠻多的,在顧攤時也有和其他組的人聊聊天,還是覺得這樣的一個活動辦起來真的不容易,大家都投入很多心力呢!
透過整個活動下來,我覺得除了培養技術力以外,軟實力的部分也很重要。
議程的部分我聽了五場,這篇就不詳述每個議程細節,在議程中只要沒有標示禁止錄影的場次都會錄影,而且 MOPCON 的共筆文件真的很仔細(根本逐字稿)
在看議程時我自己還是會比較傾向一邊做筆記,透過筆記也會更了解講者準備的內容,並紀錄下值得在深入研究的部分。
總結&感謝
最後想謝謝洧杰推這個好坑,讓我有機會參與這麼棒的活動,透過活動和大家交流。也謝謝資訊組的大家,真的有感受到寫 code 不孤單,也從中接觸了之前沒碰過的技術並對於遠端協作有進一步的了解。MOPCON 是很用心經營的活動,希望未來大家也可以多多支持!