國立臺灣大學

轉職前端三年心得

7月28日 00:20
最近看到有人在分享軟體轉職,不過那篇文比較是對軟體業整體的心得,Dcard 上好像也沒看過關於前端或是 Web 工程師的文章,所以上來分享一下。
先自我介紹一下,我當年被律師 400 分門檻害到,就去當前端工程師換口飯吃了,目前年資三年左右,薪水差不多一個法官到兩個律師。講太多感覺會被認出來,我的學經歷加上文筆應該很好認ㄏㄏ TL;DR 1. 轉職辛不辛苦,要不要很有毅力跟決心,要看你的目的是什麼 2. 想轉前端的話,去 Udemy 上學 React,再上台北找工作 3. 生活品質跟工作環境,通常不會非常差 ------ # 轉職很辛苦嗎? 轉職常常看到很多勸退文,不外乎是說轉職很辛苦要很有毅力跟決心什麼的,我覺得這要看你的目標是什麼。 這樣講好了,台灣還是很缺好的工程師的,以至於這兩年的市場差不多長這樣: - 各國央行花式 QE,資金浮濫,公司一間一間開 - 因此,台灣市場缺 100 個 PR 90 的工程師當 team leader,但只有 70 個供給 - 於是有 30 個 team leader 缺被 PR 80 的工程師拿走 - 同時,市場上也缺 200 個 PR 80 的工程師當小主管,但只有 140 個供給 - 這 140 個又要扣掉剛剛那 30 個 team leader,所以只有 110 個供給 - 於是只好拉 90 個 PR 70 的工程師上來補 - 這樣一層一層拉下去,越往基層缺口越大 - 另外,實際上會跟你搶人的不只是軟體業 - 電子業跟北美歐洲日本新加坡又各搶了一批人走,所以這些缺口只會更大 當然基層的前後端工程師薪水不會太高,但拿全體受雇員工薪資來比也不算低了,在台北無經驗 40k,一兩年經驗 50~60k 沒什麼問題,總比一些 3xk 甚至 2xk 的工作好多了。不過要跟醫牙或電子業比真的沒辦法,在台灣大概年薪 150 萬會摸到第一個天花板。 所以我才會說要看你的目標是什麼,如果你是要年薪兩三百萬,那是真的要很努力而且很難成功,倒不如重考四大碩進電子業。但如果你是一個 32k 的行政助理想幫自己加薪 10~20k,五六年後摸到百萬的邊,那是真的不會太辛苦,至少這兩年來我的經驗是這樣。 我待過的公司都比較好一點,我常常遇到前同事上班崩潰到 po 螢幕截圖上來求救,那種 code 我真的不知道在寫什麼(2022 了還堅持用 table 切版 ...),但人家也是隨便都 50k 在領的,搞不好領的還比我高 == 而且說難聽一點,就算轉職失敗,你也只是多花一兩年再回去當行政助理而已,你也沒虧多少,甚至還會因為你懂一點程式,幫履歷加分一點。 ------ # 要怎麼學?要學什麼? 很多人都去資策會或是補習班,其實有錢的話是不錯啦,但我當年沒錢 QQ 我先簡單講一下前端工程師到底在做什麼好了,他是網頁工程師的一個分支,跟網頁有關的程式碼分成兩種:跑在使用者的瀏覽器上的 (browser)、跟跑在公司的伺服器上的 (server);前者叫做前端 (front-end)、後者叫做後端 (back-end)。所以前端工程師,可以說就是「寫程式碼放在瀏覽器執行」的工程師。 具體一點來說,現代的網頁為了開發效率與執行速度的考量,通常會寫一份通用的模板 (template) 出來放在瀏覽器上,同時向伺服器連線,請求 (request) 實際的網頁內容,再把模板與內容渲染出來 (render),變成實際我們看到的網頁。例如這篇 Dcard 的文章:
imgur
右邊紅色框框就是一部份的程式碼,其中「<div class="sc-27c40b8b-0 dFOpKK」的部分就是模板,由前端工程師寫的;「現在沒想到會不介意肉肉(肚肚有三層他😂」的部分就是向伺服器請求過來的內容,存在後端的,兩者組成我們實際看到的網頁。 (好啦我知道 Dcard 有 SSR,所以嚴格講起來這段有語病,不過這樣講一般人比較好理解ㄏㄏ) 再深一點來說,這段模板又可以分成三個部分:結構、樣式、邏輯。 網頁的整體架構長怎麼樣,這叫結構,跟 HTML 有關。 同一份結構,也可以有不同的外觀,就好像同一個人可以穿西裝也可以穿洋裝,這叫樣式,跟 CSS 有關。 同一份結構跟樣式,它的內在可能也不一樣。例如同一個人,穿同一件西裝,可能是直男癌末期患者,也可能是超級大暖男,這會導致他們的行為表現不一樣,這叫邏輯,跟 JavaScript 有關。 你可能聽過前端要學三種程式語言,HTML, CSS, JavaScript,就是這樣來的。繞這麼一大圈就是要回答這個問題:前端工程師要學什麼?學 HTML 寫網頁架構,學 CSS 寫網頁樣式,學 JavaScript 寫網頁邏輯,再把三者拼出使用者看到的網頁。 對我來說,能做到這樣就有基礎的戰力,我就會把一些日常事務交給他了。 ------ ## React 是什麼東西? 如果你還有印象的話,我在 TL;DR 說要去學 React。React 是 JavaScript 的一種框架 (Framework), 你想成進階版、更好用的 JavaScript 就好。現代前端為了加快開發速度,幾乎沒有人在寫純粹的 JavaScript,都會用 JavaScript 加上某種框架去寫。換言之,只學 JavaScript 幾乎不可能找到工作。 目前市面上有三大框架:React, Vue, Angular,三大框架各有支持者,學習曲線或執行效率上,說實在不會差到非常多,只是要上手的話沒有很難,薪資上也沒什麼差。所以對初學者來說,市佔率跟社群是最主要的考量。那因為 React 是 Facebook 推出的,而且他們比較早推,所以目前 (2022/07) 來說,React 還是最主流的框架,如果不知道要學什麼的話,他是最直觀的選擇。 我自己是寫 Vue 的,其實 Vue 台灣用的人也不少,但還是比 React 少一點,而且國外用 Vue 的少很多(之前找工作看到一堆 JD 上寫 TypeScript + React + Node.js 都很後悔 QQ),所以如果你找到一份 Junior 工作,但主管要你學 Vue,那學起來沒關係,不會花太多時間。但如果沒遇到這種情況的話,客觀上來說學 React 還是比 Vue 穩。 至於 Angular,恩,你想學就學吧,給他爸爸 Google 一點尊重。 ------ 所以講這麼一大串,我們得知要轉職前端工程師的話,要學 HTML, CSS, JavaScript, React,用他們拼成網頁。因此理論上只要學這些的話,在 Udemy 上買課程,再透過 Google 補助或是直接問老師問題,是學得起來的。所以我在開頭才會說去 Udemy。 通常先買一門 React 的課程,老師會帶到其他 HTML, CSS, JavaScript 的部分,哪邊聽不懂的話再看情況自己 Google 或買其他課程,或是直接問老師,他們都會一個一個回。課程上到最後,通常會帶著你做一個小網頁出來,這樣下來前端基礎通常都沒什麼大問題。為了避免廣告嫌疑我就不推薦老師了,不過 Udemy 或其他網站的演算法都不錯啦,關鍵字打下去排名前幾的老師都不會太差,挑聽得舒服的就好,真的有選擇障礙就挑第一名的。 資策會或補習班也不錯,理論上效果跟自學不會差太多,畢竟修行在個人,但就是要花一些錢,幾萬甚至幾十萬應該跑不掉。相較起來 Udemy 通常會有特價,所以一門課差不多幾百塊,可以自己斟酌看看。資策會或補習班有另一個優點是,他們結訓時會幫你介紹工作,會有廠商來撈人這樣。 說到這個,如果真的要推薦實體課程的話,Appworks 是不錯的選擇,他們的素質不錯。嚴格講起來他們不是賣實體課程,而是培訓營之類的東西,為了避免廣告嫌疑這裡不講太多,有興趣的話再自己 Google。 另外很現實的是,台北比起其他地方,在軟體業上有壓倒性的優勢,所以務必來台北找工作,扣掉房租生活費也划算,不要不信。 ------ # 生活品質跟工作環境怎麼樣? 人家聽到我是軟體工程師後,常常會接著問我要不要加班,我這輩子目前運氣是蠻好的啦,人生加班總時數應該小於三,希望這不是在立 flag == 這幾年下來,相較於醫牙電來說,資訊軟體業通常是相對工作時數比較短的,當然薪資也是最少的。通常來說如果你注重 work life balance 的話,你有一點實力,沒有太大的經濟壓力,在台北,只要稍微選一下公司,通常不太會遇到非常需要加班的工作。100 ~ 150 萬,六七點下班的工作還蠻常見的。 前端的另一個優勢是,比起後端他比較少要 on call,所以工時理論上又會再少一點,當然薪水也就會再少一點。 然後拜武漢肺炎所賜,WFH 的工作多很多,就算是疫情相對緩和的現在,hybrid 的工作也蠻多的,導致每個禮拜進公司的工作反而是少數。WFH 可以自己調時間,如果你運氣好遇到老闆不介意的話,甚至可以晚上寫 code 白天睡覺當吸血鬼,我前一份工作就是這樣。 總之整體來說,如果你是跟我一樣的凡夫俗子,那台灣軟體業絕對不會讓你賺到最多錢,但稍微選一下公司的話,生活上是可以過得蠻舒服的。 ------ 默默的也打了快三千多字,念法律的就是這樣,我想說 Dcard 上沒什麼前端相關的心得,剛好有看到別人分享轉體轉職,最近也有一點時間,所以挑三個我覺得比較多人好奇的主題分享一下。 打到後來文章也比較發散,有哪裡不清楚,或是想知道其他問題,也歡迎跟我說這樣。
sticker
愛心跪哈哈
191
留言 111
文章資訊