【在職進修】克服弱點、善用框架,掌握全端整合開發
台大農化系、生醫電資所的上竣,現為軟體工程師,負責全端網頁開發,以及 DevOps。在職參加「Node.js 企業專題班」一年的技術成長,讓他獲得月薪調升的機會,今天就一起來看看他的分享!
自學 Python 想更全面認識前、後端
畢業於台大農化系、生醫電資所的上竣,從自學 Python 開始,因為對數據分析和網路爬蟲等產生興趣,在搜尋前端技術中,認識到六角學院。但當時只是想測試一下對前端的興趣,所以並未馬上註冊課程,而是先透過體驗課程來試水溫。直到六角學院推出「Node.js 專題班」才正式註冊課程,開始跟著六角學習。
掌握邏輯,來回比較、融會貫通,成長速度 UP UP
上竣提到:「老師們很強調邏輯(例如:express 該怎麼設計才符合邏輯等等),這對日常開發有很大的幫助。」
而上竣也將邏輯運用到職場上,例如:透過在 Node.js 後端框架 express 學到的邏輯,回推到日常工作使用的 python 後端框架 FastAPI 。去思考能不能用相同的思維來處理,或是哪個部分可以再優化。藉此補足自己的基礎邏輯,再重新釐清,雖然語言不同,但概念是通用的。
反之,也會從公司的業務去試想如果使用 Node.js ,怎麼做出一樣的效果,來回比較,這對上竣來說是很有感的成長!
克服弱點、善用框架,跨界整合桌面應用程式開發
提到學習的挫折,上竣不避諱地說:「就前端來說, CSS 算是我的弱點,知識有點零碎、繁瑣,每次用到都要去查,但又記不住。」後來比較深入學習後,發現有許多框架可以套用,雖然無法達到完全的客製化,但目前影響不太大。
在公司上竣主要負責後端,後來需要支援前端,使用 Vue 來撰寫網頁,再遇到需要把網頁改寫成桌面應用程式,而 Electron 這邊就需要用到 Node.js。所以什麼都會碰到,前端比較算是邊做邊熟悉。
Node.js 專題班的期待 VS 真實感受?
以期待面來說,可以分享兩點:
- 課程所學的技術:上竣覺得課程碰到的技術,對於作品集的產出都有實質上的幫助。課程中提供很多都是免費的平台、技術資源,可以自由利用。
- 課程的一大亮點 - 多人協作開發程式:公司雖然有使用版本控制工具,但團隊較小,很少有多人同時開發的情況,所以上竣在 git 上沒有很熟悉,剛好透過專題班把這項補起來。
幸運的是,在課程中有機會參與多人協作專案,這幫助上竣提高了 Git 的使用技能。更重要的是,後來在公司中也應用了這些知識,甚至鼓勵同事一起使用!
然而,實際感受與期待有些不同。上竣提到:「課程是以小組為主,其實本來預期能夠認識更多人😄 ,但小組讓大家能夠有更深入的交流,也很感謝組員們都非常友善並願意分享知識。」甚至專題班結束,大家還是會保持聯絡,就在訪談的隔天還安排了「線上讀書會」,彼此交流、相互鼓勵。
綜合來說,參加專題班是很特別的經驗。期待很多,但也在實際中獲得了更多。課程的收穫豐富,老師也會根據課程需求調整內容。而在專題班中認識一群志同道合、一起努力的夥伴是最珍貴的經驗之一。
專題班的收穫
為期 16 週的課程,有挫折也有成長。
本次的 Node.js 專題班,導入小組機制,磨練協作開發能力;北部有 17 組、中部 5 組、南部 3 組,全台共 25 組。身為北二組組員的上竣,覺得比較可惜的是有位組員比較繁忙需要先退出課程,但很希望未來有機會還是可以一起討論、分享技術。
專題班,顧名思義就是要共同完成一個專案。而上竣與組員們面臨了一個重要的問題,那就是「在有限的時間內,如何平衡前端和後端工作?」該由擅長前端的人負責前端開發,還是讓想學習前端的人嘗試負責,這是一個需要權衡和分工的問題。而做出產品專題,需要前後端的技術支持,上竣非常感激組員前端知識的分享,組內自發性地舉辦線上讀書會,讓他在交流中透過組員的程式碼,更深入了解前端。
課程的最後北二組一同協力完成了「倍而兔募資平台 (DoubleRabbit Fund)」,專題理念為:提供創意實現的機會、媒合公益活動、提供各種公司曝光機會等等。
Node.js 專題班,學員除了可以自由挑選 10 大企業合作主題來攻略挑戰,課程也提供 13 堂 Node.js 直播課、JS 全端技能樹影音。
其中又以 JS 預錄影片,讓上竣收穫很多。因為公司需要寫到 Vue,但 Vue 算是自學,所以剛好可以透過這次的專題班提供的預錄影片,補充一些之前沒好好搞懂的部分。
點我看北二組「倍而兔募資平台 (DoubleRabbit Fund)」
技術永遠學不完,但可以先了解有哪些工具
本身熟悉後端的上竣,也了解這門課程的內容偏向後端,所以本來對前端的收穫期望並不高。但在 Node.js 專題班中,透過與組員交流,認識到許多未曾聽過的工具和社群。他認為這樣的學習方式有助於拓寬視野,幫助自己觸類旁通。技術永遠學不完,但至少要知道有哪些工具和資源可供利用。
本次參加 Node.js 專題班,最印象深刻的事:
與設計師的溝通協作:
身為工程師,與設計師溝通是一項重要的軟技能。在專題班,除了雙講師(洧杰&卡斯伯),各組還會派一位專題教練、專屬 UI 設計師,上竣提到組內在開發中其實還算順利,但一開始在和設計來回溝通比較容易卡住,好在有專題教練卡斯伯老師的建議,讓他們更好了解業界邏輯以及如何有效地協作。只有真的遇到問題才能真正體會到重要性,這是他覺得蠻意外的軟實力收穫。專題進度追蹤、 Discord 社群支援:
六角提供了專題進度追蹤,也會有專屬的 Discord 頻道,這有助於組內協作,也可以在社群中看到各組別同學的分享或進度狀況。
主委加碼 Q&A:
Z 編:可以給正在努力轉職的同學一些建議嗎?
上竣:作品集在求職過程中非常重要。以我個人經歷分享,當初能拿到公司的 offer ,學歷可能有加分,但作品集有一定的重要性。
當初面試就有被問作品相關問題,例如:為什麼選擇這個主題?使用了哪些技術?當下是展現個人能力的最佳時機,所以我建議大家可以花時間好好準備作品集。
Z 編:參加專題班完課後,在公司爭取到了薪資調升,有比較特別的過程可以分享嗎?
上竣:可以統整兩個方向來說:
- 觀察與反思:這是我第一次上六角的課程,六角的 Discord 學習社群,讓我有機會認識其他同學,這也讓我看到不同的技術和觀點。同時我也會看看大家會什麼技術,再回推以我的年資,所掌握的程度,是可以有一定的薪資漲幅。剛好任職剛好快滿一年,後續就有和公司進一步的討論。
- 成長與薪資調升:成長是一個持續的過程,我認為自己在一年內有蠻明顯的成長,從只會寫 Python 程式,到現在能夠使用前端框架、處理後端伺服器、進行前後端 API 串接,以及實現 CI/CD 部署,這些都讓我能夠幫助公司更多。而技術面的提升,也有助於我爭取更好的薪資。