Kalan's Blog

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

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

Software Engineer / Taiwanese / Life in Fukuoka
This blog supports RSS feed (all content), you can click RSS icon or setup through third-party service. If there are special styles such as code syntax in the technical article, it is still recommended to browse to the original website for the best experience.

Current Theme light

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

Please notice that currenly most of posts are translated by AI automatically and might contain lots of confusion. I'll gradually translate the post ASAP

Should frontend learn 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 背景都是在耍流氓啊,很多時候只是徵才心態上的懶惰罷了。

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

Prev

Creating an Air Quality Monitoring Application with Arduino and ESP32 (2) - Data Communication UART

Next

2020 Tang Fengtai University of Science Graduation Ceremony Speech Notes

If you found this article helpful, please consider buy me a drink ☕️ It'll make my ordinary day shine✨

Buy me a coffee