跳至主要内容

Day30 - So, what is Frontend Engineer?

用一篇文章為這次系列文收尾,我決定聊聊我眼中的前端工程師。
以前剛從 Alpha Camp 畢業時,會需要寫篇文章來講講一路以來的心得,也算是回顧。
不知不覺,距離我那篇文章 (那時我連個人部落格都沒建),已經兩年了吧,表示我正式成為職業前端工程師也大概兩年了。
可能在部分人眼裡,兩年的資歷還不算什麼,但一路走走看看,也認識了一些人,也有了一些不太一樣的想法。

在前公司,承蒙總工程師看得起,那段時間很認真地學習了 Vue、第一次碰到龐大專案、第一次真正投入職業等級的協作,也第一次作為開發案核心成員與會。
雖然公司後面遭遇變革,在擔驚受怕之中騎驢找馬跳槽到了現公司,但我的前公司倒是我前端,甚至軟體開發生涯的起始點。
之後承蒙現公司的栽培,從前端工程師開始逐漸擔任前端 second reviewer、planner、然後寫寫 system design,讓我在這個領域中又看到了更廣袤的世界。
其實兩年走來,心境跟當初 Alpha Camp 畢業時寫的那篇文章有些不同了。

猶記得當時那篇文好像是發在 Vocus 平台,我最後寫了一句話意思大概是我從 Alpha Camp 畢業了,我領到了這領域的入場券了,相信進了門,門後的世界會是更加遼闊、充滿挑戰的世界,希望自己加油。
現在想想,我真是預言家呀 XD
門後的世界何止遼闊?闊到沒邊了,好不?
進來後才發現轉職班給予的真的只是一張入場券,後面還有相當多該學的東西。
持續學習這句話,在入行後感受特別深,但已經不是純粹地想精進自己的心情,現在還參雜了部分不學就等著被淘汰的無力感。
我一個不錯的 Senior 朋友,嚴格來說算是我台大的學長,是個年資大概 7-8 年的超強全端,他有天傳 line 來閒聊,聊天中提到他覺得有點學不動了,我心有戚戚焉。

成為前端的初衷

我出社會第一份工作是在某大企業擔任類似 MA 的職位,那是我一段很糟糕的時光。
每天渾渾噩噩地上班下班,開著銷售公司的牛奶車和同事在路上晃,我時常懷疑這人生是我要的嗎?
看著一同畢業的同學,去英國唸書的唸書、進台積電的進台積電,心裡微微嘆氣,這大概不是我能復刻的。
也曾想和其他同學一樣成為一個資料分析師或數據工程師,畢竟我們系出來的多多少少都會一點統計、大數據處理,但我在學最煩的就是統計,實在沒有很有意願去做一個我不想做的工作。
但也是因為這樣,我開始琢磨在軟體業裡面有什麼工作是我可以做的?
Facebook 宛如讀心一般,那陣子時常跳前後端轉職班的廣告,了解了一下前後端是什麼後,轉職的念頭開始萌生。

那時我做了一個謹慎的決定,先邊上班邊在 Coursera 上面上個 Meta 辦理的 Frontend 課程,算是試試我自己是否真的對這領域有興趣。
所幸,結果還不錯,寫 web 跟做統計寫 R 的感覺差太多了,所以我在某年 228 果斷跟公司辭職,開始長達了半年的轉職班學習生涯。

我轉職成為前端的理由一開始其實只是想逃離一個荒謬的職場,但又希冀著能趁此機會找到一個自己還算有興趣的工作,所幸前端開發的確是滿足了我的需求。
另一方面現實的點一定是金錢考量,畢竟幾乎每個想轉職前後端的人都是想躋身軟體業,想要有個不錯的薪水。
聽聞前後端的上限還不錯,門檻也沒那麼高,所以大家才會蜂擁而至。
但現實是什麼?

寫 web 的現實

Web 的確是 CS 的一環,也是 CS 門檻最低的領域之一。
但這領域的水很深,多的是聽聞薪水上限很高而轉職來的人,我也是那些人之一。
但試問,真的有一份工作是門檻低但又薪水高的嗎?

這就是寫 web 的現實。
年薪 2-300 萬,甚至更高的前後端工程師當然有,他們證明了這行的上限真的可以很高。
但月薪領著 30000 多的前後端人數更是不少,入行了就會發現,這行不只上限高,下限也可以很低,我甚至聽過有人月薪開 29000 的。
這個現實很容易讓剛踏入這個領域的 Junior 退縮,再加上進來後才發現要學的東西真的很多,於是就又放棄的人也不少。
但這真的就是寫 web 的現實,前後端都一樣。
剛轉職的人幾乎都得經過一段陣痛期,領著不高的薪水,然後死命地學習,像極一隻鴨子,水面下的腳瘋狂地擺動,水面上卻要看起來很平靜,才不會讓人覺得你人都轉職了領得還更差。
我第一份工作算還行,至少還有 36000 (南部價碼),不高,但當作公司花錢讓我去學習也還行。
這樣蹲了大概半年,遇到公司被某緯 X 公司吃掉,裁掉了很多人,雖然沒裁到我,但在公司剩我一個前端的狀況下,我也是非常果斷地開始騎驢找馬。
很幸運地,有了第一份的經歷,我第二份談了一個不錯的起薪,也獲得了許多自由,才真正意義上達成了轉職的目標。

寫 Web 就是這樣,尤其是對轉職的人來說,那個陣痛期幾乎是必經的。
你得先證明自己,才能有領更高薪水的機會。
雖然這在各行各業都是硬道理,但在我們這領域更是看重這個理。
雖然沒到弱肉強食那麼悲慘,但能力對應著薪水級距這件事在這行是相對明顯的。

另外一個現實是,台灣寫 web 的人其實很多都領在主計處公布的國人薪資中位數,約 40000 多左右。
你可能會說,那這不是跟我上面說的能力對應著薪水級距這件事有些矛盾嗎?
唉... 這就是台灣軟體業有點令人感嘆的事實。
對岸不是流行一句話叫做「你不幹就滾!你不幹,多的是有人幹」。
台灣的 web 大概也是這個現況,這幾年蜂擁而進的人多了,老闆們也就不太需要開高薪來搶人了。
而且說實在,打開 104,就會發現徵人的很多都是接案公司,很少有真正在做產品的公司在徵人。
而對於接案公司而言,他們不需要技術太好的工程師,說起來嘲諷,但這是事實。
一個基本的 CRUD 商家網頁絕對是 Junior 可以 handle 的範疇,那聘請 Senior 幹嘛?
而偏偏這類公司台灣很多,這也是為什麼打開 104,常常看到前後端薪資不如自己預想的原因。
真正高薪的那批都在擁有自己產品的公司,或是大公司,或是外商。

學無止盡

以前會覺得學無止盡這句話很熱血,但現在會覺得這句話有點沉重。
軟體業變化很快,其中前端領域更是快上加快,跟不上要拿什麼跟之後的新血競爭?

我們得面對一個現實是,較少 CS 本科的會幹前後端,而且我們也比 CS 本科的人少了四年穩紮穩打 CS 知識的時間。
這讓很多人一進 web 業界,多少感受到與 CS 本科出身的落差。
轉職的人可能多多少少都會帶點自卑,覺得自己不是真正的軟體工程師。
但請挺起胸膛,我們靠著自己的努力奮力搏進了門,是相當值得肯定的。
Web 也的的確確是軟體工程的一部分,我們的努力和貢獻同樣重要。
但也莫懈怠,既然知道少了四年 CS 知識的累積,那就該找機會補回來。

那要補什麼知識?
我還在前公司時,緯 X 入主前,他們軟體部門的主管來了解我們軟體部門的狀況,我有幸得到一個提問的機會。
我問他說,對非本科的前端工程師來說,我需要補什麼知識?
他跟我說了一個故事。
他說他在緯 X 之前,是在 HTC 上班,在 HTC 還能跟 Apple 對打那會,他說他們內部是會去偵測 HTC 跟 Apple 手機切換畫面的時間差,如果輸給 Apple,那主管就會問為什麼會輸 Apple?
這背後負責的是誰?是前端。
這故事揭露了前端的重要,也揭露前端的水很深。
這個問題背後的答案是演算法,一個轉職前端的人在轉職班絕對碰不到的東西。

當然,我敢說,90% 以上的公司,前端們不會演算法沒什麼關係。
畢竟不是每家產品都要追求那種極致到幾乎肉眼看不見的效能差。
但有一天,就剛好那麼一天,想在前端的領域、乃至於整個軟體業走得更遠了,演算法這東西就會是剛需,因為他是真正的 CS 基礎之一。

所以要學的東西真的太多。
學習一向是痛苦的事情,忘記在哪本書看到的,印象它說:學習當然是苦的,因為你在脫離你知識的舒適圈。
為了生存學習更苦,讓學無止盡這句話從一腔熱血中慢慢參雜著一絲的無奈。

So, what is Frontend Engineer?

我們是一群讓網路與社會人群實際產生連結的那個人。
有我們,網路的資訊才得以透過畫面與使用者產生互動。
才有了現今繽紛多姿的部落格、購物網站、影音網站... 等。
我們是人類文明重要的推手之一。
甚至於,我會說我們做的就是藝術。

所以走在這行的人們啊,即使前路茫茫,也讓我們砥礪前行。
我們深知這行的金字塔頂端可以多高,也深知深淵可以多深。
但,願我們都能在頂峰上面,一睹這世間的美好。
然後回首過往,感謝這一路走來的自己。