Kalan's Blog

Kalan 頭像照片,在淡水拍攝,淺藍背景

四零二曜日電子報上線啦!訂閱訂起來

本部落主要是關於前端、軟體開發以及我在日本的生活,也會寫一些對時事的觀察和雜感
本部落格支援 RSS feed(全文章內容),可點擊下方 RSS 連結或透過第三方服務設定。若技術文章裡有程式碼語法等特殊樣式,仍建議至原網站瀏覽以獲得最佳體驗。

目前主題 亮色

我會把一些不成文的筆記或是最近的生活雜感放在短筆記,如果有興趣的話可以來看看唷!

前端應該學習 CS 嗎?

這個議題吵好久了,在這裡簡單紀錄一下自己的想法。

在很久以前只有 HTML 與 CSS 的年代,頂多再加上 jQuery,只要架出靜態網頁丟到 FTP 就可以被稱作是高手。

隨著瀏覽器可以做到的事情越來越多,前端能夠涵蓋的範圍也越來越廣了,光是前端這個名詞,可能就可以有多個分支:

  • UI:對於使用者體驗的重視,其中包含了 API 狀態處理、資料處理、使用者體驗、a11y、適當的 animation 互動。
  • 多媒體:對聲音、影像、直播比例偏重的服務,除了要對 UI 有一定了解外,還需要對多媒體背後的解編碼、傳輸有一些概念。
  • 資料流 / 前端工程:對於工具框架的掌握度,對於業務需求、領域知識有一定的了解
  • 資料視覺化 / Stroy telling:這部分除了對 Chart Library 或是 D3 的熟悉,還需要知道瀏覽器對於圖表的顯示極限在哪裡,何時用 Canvas、何時用 SVG、何時用 WebGL,除此之外可能還需要一些 story telling 的技巧,才不會做出花花綠綠的圖表卻沒有使用者買單。
  • 架構:前端的部署、Logging、底層框架、規範、API 管理、狀態管理等,這方面需要經驗以外,也需要一定的 CS 知識背景來支撐。
  • 遊戲:透過遊戲說故事,或是單純娛樂用,涉及遊戲理論,也跟一般的開法手法不太一樣
  • 概念流:像是 Vue、React、Svelte 等直接從概念(Component、Virtual DOM)下手,徹底改變開發者對於前端的想像。

一個有 CS 背景的開發者寫出來的 UI,可能會比一位沒有 CS 背景的前端工程師還要糟,比起多念演算法可能多鑽研一下 a11y 跟 UI 對這個社會還比較有幫助呢

全部都能專精的人不多,基本上如果都專精的話也不會以前端自居了,都變身成 Software Engineer 了。這種人可遇不可求,也不需要每個人都要成為技能樹全滿的大神。

從以上的角度來看,不看公司的條件與需求就一味地強調演算法、CS 背景都是在耍流氓啊,很多時候只是徵才心態上的懶惰罷了。

回到老話一句,重點還是你的目標還有你想成為的人

上一篇

用 Arduino 與 ESP32 打造空氣品質監測應用(2)- 資料溝通篇 UART

下一篇

2020 唐鳳台科大畢業典禮演講筆記

如果覺得這篇文章對你有幫助的話,可以考慮到下面的連結請我喝一杯 ☕️ 可以讓我平凡的一天變得閃閃發光 ✨

Buy me a coffee