不只是技術力,全端網路開發課帶給我更多跨領域發展的機會

不知不覺,這種白天工作下班進修的日子也半年了。一開始抱著好奇與學習新技能的心情報名 ALPHA Camp 的網頁開發線上課,每學期的課程都有階段性的收穫。

雖然學網頁開發真的跟自己本身的工作,完全是不一樣的領域,但現在回頭想想,自己在開發想法上是有一些堆疊效應的,還獲得一些額外的職場表現機會。

我學到了什麼?

如果要細數半年來學了些甚麼,我認為是滿多的:

  • 核心技能:JavaScript, HTML, CSS, MVC, Coding Style
  • 前端相關:Bootstrap, WireFrame, RWD, Handlebars
  • 資料庫:MongoDB, MySQL, ERD
  • 後端相關:NodeJS, ExpressJS, Mongoose, Sequelize, Route, CRUD, session, cookie, token, async/await, Promise
  • 好用平台:Replit, CodePen, Github, Fontawesome, Heroku, Slack, Trello, Notion
  • 好用套件:axios, bycript, Passport, flash, moment, socketio

上述算是這半年來學到的重要技術改念,跟著教案的課程,不知不覺手上也多做了許多專案,最刻苦銘心的就是為期兩週的團隊開發 Twitter 專案,完成度比較高的還有小小記帳冊專案餐廳清單專案,CodePen 也有許多零零散散的練習專案。

覺得無形中,這些無數的小練習,幫助我知道要如何用 github 呈現一個專案的開發過程,如何透過 Replit 快速測試程式碼,如何使用 CodePen 練習切版,如何使用開發者工具除錯。

技術以外的收穫

除了網頁開發的相關技術,無形中也幫助我提昇了一些工程能力:如何將大問題拆解成小問題、應當保持統一的 Coding Style、變數/函數命名的清晰度、如何使用 git 管理程式碼、建立適當粒度的 commit、如何有效的除錯、要做好錯誤處理、用類似 MVC 的概念,整理規劃函式/檔案/資料夾等、產品開發思維等等。

結合自身經驗,成為 π 型人才

其實自己本身的工作,是以 python、深度學習開發為主,所以在學習過程中遇到瓶頸時,真的會迷失一些方向。在團隊開發 Twitter 專案過程中,有一個負責的指導助教,記得他當初給我的反饋:我相信這兩項技能一定可以找到關聯性,所謂的 pi 型人才就是有兩隻長長的技術腳,至於是甚麼可以讓這兩隻腳建立出關聯的橫線,就是你需要找尋的答案。

雖然我目前還沒有很清楚那條橫線在哪裡,但是在工作上我確實是增添了一些額外的機會,工作專案上有一些網路串接的需求,也有人機介面的開發需求,在研究這些新的技術方法時,發現其實跟這半年來慢慢建立出來的技術觀念非常相似,因此只要耐心的閱讀開發文件,是可以很快上手的。

而在 Layout 人機介面這方面,因為有摸過切版還有 CSS,版面設計與元件安排方面能比同事再精緻點。在專案的錯誤提示方面,因為受到許多助教的鞭策,自然也能多考慮到一些細節。

近期有比較常有同事找自己討論程式開發邏輯,在這幾次討論中,有注意到自己在描述邏輯細節方面,是有所提升的,也可以發現同事在表達方面的不足,而我也有辦法可以引導他,幫助他釐清自己面臨的困難點是甚麼。

剛開始工作時,只要被主管問到,對某個問題有甚麼想法時,腦子總是會空白還會冒出擔憂無解的情緒。而現在,我也比較能按部就班拆解出小問題,一一去表達自己認知,可能存在的困難點,也會提出一些當下的解決方法。

如今,我認為主管事非常信任我的開發能力的,這些進步與改變是令人開心的。最後,期許自己的工程生涯持續精進,慢慢堆疊開花結果。

分享一段,自己喜歡的小書摘。

在建立習慣的過程中,你做的每一個小小改變是很難立見有形的成果的。

然而你做的工並未浪費,只是被儲存起來。就像室溫下的冰塊一樣,增溫的過程,表面上都看起來沒有差別,
其實啟動了巨大的變化。而在冰塊碎裂的瞬間,其實是先前的每一刻增溫的附能造成的結果。 — 原子習慣