انتقل إلى المحتوى الرئيسي

HexSchool Node.js 企業專班

· 8 دقائق قراءة
Pitt Wu
Frontend Engineer

完成 HexSchool Node.js 企業專班後,一些粗淺的想法與反思。

為什麼選擇這門課程?解決什麼問題?

這是一門價格不菲的課程,同時考慮到六角的屬性(基於商業考量,無法把報名者拒之門外),因此只能將課程內容設計為偏簡單。

從這些條件來看,報名這門課程似乎很不划算,但實務上還是可以考慮以下面向:

團隊合作

因為課程從一開始就必需分組合作開發,考慮到報名者多是前端出身,大多沒有後端實作經驗,所以對我們而言可以練習後端開發之間的溝通與推進。

從另一個面向講,這些合作的夥伴,未來彼此之間也能互相幫忙,算是一種替彼此建立人脈資源的方式。

沉沒成本

如前述所說,這是一門蠻貴的課程,即使你是懶人如我,如果不希望直接虧損掉這筆錢,必然要在下班時花費心力去追專案進度,力求在 deadline 前完成專案,這樣才能保證不虧損,某種程度上也幫助你達到自律的目標。

新的視角

因為整個專案是從設計發想到開發一條龍完成,雖然客觀來說整體內容是蠻粗淺的,但還是可以讓所有成員實際跑過一遍 PM, UI/UX, 前端, 後端的流程,對於未來的工作也能有一些新的視角。

課程內容

課程內容的部分,扣除基本的 MongoDB 指令操作還有 Node.jsAPI 實作,較有價值的部分,個人認為會是三方服務相關的串接,像是三方登入與金流等,畢竟這部分比較死板,需要花時間查閱對方的文件,才能完成串接。有教學的話,等於是省下了查閱文件的時間。

另外,課程內中的部分設計仍以 MVC 為範例,需要團隊成員在實作專案時,自己進行前後端分離,這部分也是需要花時間去思考的。

有些課程內容算是委外請人直播教學的性質,因此可能會出現一些落差,譬如以這次的單元測試教學範例,是提供給前端的,所以這部分如果要練習後端的單元測試,還是只能仰賴團隊自己。

專案實作(超主觀心得)

專案實作是個人認為這門課程最有價值的部分,而重中之重,則是整個團隊內部的合作與規劃。

分組前請誠實以對

團隊分組前,會有個人能力評估,如果是不熟悉的領域,請誠實以對,否則如果團隊實力落差太大,很容易產生嚴重分歧,導致專案無法順利進行。

開發預留緩衝時間

因為多數人是以前端身份進入後端開發,有很多以前,前端不會碰到的眉角會拖累開發速度,譬如金流串接後,必然要處理訂單問題,而訂單本身又會涉及到交易時間等問題。

這對前端來說,以前不太可能會考慮到這部分問題,畢竟都是串接 API 和列表展示與操作,但對於後端來說,這些問題都是必須要考慮到的。

以專案上線為目標

務必請認真考慮到以下幾點

  • 團隊成員多要上班,只能投入有限時間(你無法預判團隊成員工作是否會有緊急需求壓力、加班)
  • deadline 時間非常緊迫,實際給的開發時間有限
  • 多數成員不可能有後端經驗,必然要花時間踩雷

所以第一階段的目標,是以開發出一個堪用的作品為目標,而不是一個完美的作品,請不要在這個階段思考太多架構、優化、測試等等,這些都是後續的事情。

如果過度追求完美,除了會造成開發時間卡住外,更可怕的是,可能會造成團隊分裂(潛在的各種衝突,尤其是你無法判斷團隊成員是否面臨白天工作壓力),一但團隊分裂,專案 94.87% 就瀕臨失敗了。先做出一個醜陋但能跑的功能,可以很大程度激勵彼此的信心。

尤其要避免無限擴張團隊採用的技術,以前端來說,不應該出現同時採用 ReactVue 這種雙框架的狀況,即使團隊中有人非常擅長某一個框架,但不代表其他人也能迅速學習並用於開發。

擴充與優化

當專案完成第一個角色功能後,通常這時候可以理解為第一階段已吿終,除了可以喘一口氣外,還能開始思考其他功能的開發,包含一些可能你想實作的技術或優化體驗等等。

以我們專案為例,就是逐步加入 websocket 訊息串流,PWA、動畫,簽到系統等,更大程度去豐富整個網站的內容。

結語

最後附上我們本次專案實作完成的前後台部署網址與 Repo,歡迎大家參考。

前台(Client)

後台(Admin)

<!-- test account & password -->

account : admin
password : 12345678

相關連結

關於我成為了 2023 Node.js 軟體工程師企業專題班教練這件事