前端菜雞 - 轉職 1 年又 2 個月心得

!這是一篇從廢物保全的轉職前端的心得,轉職 1 年又 2 個月,年薪破百的故事(?)可以當作充滿倖存者偏差的個版來看看就好,當然跟個各種大大相比,我真的還只是菜難,如果大大已是年薪百萬 or 資深工程師就直接跳過本文章吧。

antfu

2022 Vue X Laravel Conf 上的 antfu 大神的簽名(第一個簽名啦)

# 前言

筆者要先道歉,筆者就是想下這種爛標題試試(什麼奇怪的惡趣味),看有多少人會點進來看 😂

如果你點進來了,I got you !

本來是滿一年時候,想寫一篇的,但那時候真的太忙了(好啦,我知道我每次都這樣說),所以啦,本來是 1 年心得的,結果又拖了 2 個月多(快 3 個月了),筆者這個人很老實的, 1 年 2 個月就是 1 年 2 個月,不會說什麼 1 年轉職心得,畢竟 2 個月也可以做很多事了,就像 3 秒鐘可以做什麼,你自己知道就好。

或是更正確來說:

const milliSeconds = new Date() - new Date('2021/11/15') // 筆者成為開發者第一天上班日
const year = milliSeconds / 1000 / 60 / 60 / 24 / 365
console.log(year)
// 1.176578354578894 年

筆者會盡量用白話一點來打這篇心得,預期新手、正在轉職亦或是非專業人員都能夠看得懂,並也期望能幫助到大家。另外要先說明如果文中有內容覺得傷到你的話,你可以停下來思考一下,這條路真的適合你嗎?或是無視即可,但總要有人出來說真話,被討厭的話也是沒辨法的。

如果還是比較喜歡 輕描淡寫又很成功的心得文,好像有種隨便一個人也可以輕易做到的錯覺,如果你覺得有幫助,那就多去看看吧!筆者也說了我是個很老實的人,全都是幻覺嚇不倒我的!

所以才會想說來寫個比較嚴肅一點的心得文,很多時候早點勸退反而是省時間,早點停損你可以做更重要的事,省下高昂的課程費用,可以去做你更喜歡做的事情,甚至你做得比寫程式更好,那也非常棒,寫程式絕對不是轉職唯一選擇!

轉職前的故事,可以參考:[MTR-05] 學生心得:Benben ,這邊會著重在轉職完後的故事。

好的好的,我知道大家想知道怎麼樣才可以百萬年薪,但先讓我們看下去吧。

# 我怎麼敢

筆者第一間上班的的公司是某數位設計公司 K,那時因應「元宇宙」風潮而跟上的,想說未來蠻有發展的,進去後才發現,我錯了!主管/PM 根本不懂技術、常態加黑班等,不過也不能怪誰,反而學到了一課,看到關鍵字,如:元宇宙、虛擬貨幣、NFT 等等,都要小心,很可能只是拿某個新名詞蹭流量,要好好研究公司背景。

同時也邊做邊觀察,試用期不是只公司在看你,你也在觀察公司,真的覺得不行就趕快換一間吧,不要浪費時間,也不要覺得沒做滿一年履歷不好看什麼的,舉個例子:一個在同一間公司待五年的,是好的履歷嗎?還是只是能力不足跳不走,所以只能待著?你不知道,只有跟他共事才知道。年資不滿一年就換真的沒什麼,想想你有多少個一年可以這樣試?

後來到了還不錯的小公司 R,因為想離開 K 公司,所以就打開了 104 ,那時候也是過年前吧,也有很多面試邀約,因為有了前一次面試經驗,所以看起來很雷的公司就先篩掉一波了,跟 R 公司的 CTO 聊蠻多的,一聊就是 2 個小時,也是馬上就拿到 Offer ,Offer 也還不錯,也沒什麼好猶預的就過去了。

筆者個人也是 半年左右會整理一下自己履歷 的人,也不用多說,應該很多大大都這樣說過,定期去看看機會的同時,也看看自己還欠缺什麼,或是自己的價值在什麼水平,這都是對你有幫助的,何樂不為?

擔心別人眼光?免了吧,真的有多少離職後還會聯絡的朋友,何必被一個眼光耽誤了你的未來呢?但是也不要「太誇張」剛進去就一直想換工作,一直看工作機會、一直去面試,也就是俗稱的「換換病」,反而不充實自己,長期下來,只是變得「很會面試」擺了,筆者是建議 3 ~ 6 個月左右的頻率就好,當然你已經在很頂尖的公司或是高階主管就不一定了。

其實筆者也算是蠻幸運的,後來 R 公司的 CTO 真的是個好主管,技術很深很廣,寫 App 兼 PM ,不會亂開需求、不會亂開沒意義的會,下班後完全不會吵你,群組安靜的跟沒人一樣,對下面的人也是蠻好的,但是他也很忙就是了,小公司嘛!正常。

也不是說什麼我要走了就不做事,我到離職前一天都還上好上滿 8 小時,寫文件,整理之前的 code ;上班期間約一年,沒有遲到早退過,都是全心全意在為公司寫扣,任務完成了,還想著有哪些地方可以優化的。可以說是對這份工作問心無愧,我覺得這樣就夠了,再繼續做下去,我可能會更難抽離吧!

我會再離開 R 公司也是遲早的事,我的工作量幾乎是另一個前端的 2 ~ 3 倍,再說一次 筆者是個很老實的人,當然 CTO 真的太忙了,可能真的沒注意到,提完離職那天,下午跟 CTO 也聊了很多想法,他問我之後有沒有想當主管,我馬上說有!(不然我是為了什麼一直充實自己?我想成為主管或資深,希望啦),他只簡單說了:是這樣的話多做一點是好事,他的工作量換算下來應該可以抵 5 個人,我了不起就抵 2 個(打不了 10 個 QQ),我不知道我在他心中是不是有達到他的要求,我也不曉得我的選擇是不是正確的,但天曉得呢?

那天下班從內湖騎車回家上了麥帥一橋,夜空很清澈,旁邊的 101 依然亮著微微的藍光,慢慢地,閃著閃著。

# 我憑什麼

很多前端開發者,非常討厭整理作品集,我也是!

每當換一個平台,履歷、作品集全都從新整理一次,名字、生日、地址,還有最麻煩的自傳,想到就很累,所以我非常討厭一直整理這些東西,在軟體開發的領域中,古有云「Don't repeat yourself」,重複的事做一次就好了,而且一直寫自己的資料、自傳,某種程度上也算 repeat yourself (笑)

身為一個前端工程師,自己做個網站,應該算是稀鬆平常的事了,所以幫自己的作品集好好整理一下,做個列表呈現一下作品集,也沒什麼困難吧?但這時候「很有熱情」的前端開發者又不見了,每個口口聲聲都說對前端很有熱情,但 github 上怎麼空空(但也不排除都是私人專案或是在其他平台啦)的呢?所以啊,跟筆者一樣當個老實的人吧,沒有的話,也寧願不要說有,有熱情的話自然就會呈現出來了,不需要特別裝。

做完履歷、作品集網站後,加上筆者有一些 個人原創合作 的作品集,認真要講每一個都可以講個一小時起吧,也呼喻大家 請不要抄作品集,這樣的話,履歷的回復率就會高很多,筆者把密訣都交給你了,別說筆者私藏啦 XD

很多前端開發者,非常討厭刷題,我也是!

首先,我討厭的是「刷題」,但我喜歡「解題」的感覺,主要用 JavaScript, TypeScript 刷,也是前端的主要語言,可以一起熟悉語言跟邏輯,現在語言跟語言的差異越來越小了(當然還是有分動態、靜態;強型別、弱型別),別人做得到的, JavaScript 也做得到(等等!沒有要戰語言),拿來刷題也沒什麼不可以,不用硬要跟別人一樣用 Python, C++ 等等(真的要選的話選 C++ 吧)

我覺得刷題題練的不是各個程式語言,而是練邏輯思考的,其他底層實現只是一些細節,如:宣告一個變數用要用 let, const, int, bool, char* 之類的,就用自己熟悉的語言即可,之後再來用第二、第三語言挑戰。

今年 2023/01/15 去了 2023 Yourator 數位職涯博覽會 ,筆者到處問前端面試會考 leetcode 嗎?得到的答案大多是 不考或是項多考個 easy ,真的不喜歡刷題就不要刷也 OK ,但相對的,就要拿出對應的實作經驗來證明你的實力就是了。

很多前端開發者,非常討厭使用 Vim,我也是!

筆者的討厭是指剛學 Vim 的時候,連個退出 (:q) 都卡半天,移動只會一格一格移動(hjkl),輸入只會 i,保存退出只會 (:wq) ,但 基本上這樣就可以完成 所有的任務 了,只是 ... 花的時間長短。

直到看到各種大神的神操作,苦練了一番,筆者真的是從上面那樣的狀態開始使用 Vim ,慢慢寫扣開始的,後來終於能在 vim 中飛來飛去、使用各種腳本,操作算是行雲流水了,用上古神器寫前端就是潮到出水(X

學習 vim 看似沒什麼太大的幫助,舉個列子:vim 中:q 表示 quit 的意思,很多軟體也尊守這個傳統,如:git log 下輸入 q 也是退出的意思。還有像是遠端 server 進去預設就是使用 vim 來操作,這時候,你會感謝以前的你已經把 vim 學好了!

常在 twitter 或是社團上,有人戰編輯器的時候,總會看到 real pro use vim 這句話,表示專業的開發者使用 vim 開發,目前前端應該也沒什麼人在使用 vim 開發(等等!沒有要戰編輯器),好用的工具也越來越多,也可以做到 vim 做得到的事,所以要不要學又是見仁見智了。

總之,可以 提高你的產能的 都是好東西,或是可以試試 Emacs 或是 IntelliJ 都是不錯的選擇,但這兩個工具部分筆者就沒有涉略了。

有沒有發現 當別人討厭什麼,你就去做什麼,這將會是你的優勢,當然你也要付出心力去學習,優秀是什麼?就是 使別人變得平傭的能力,筆者同意,你可能會覺得筆者很 "捲",但這也是沒辨法,很抱歉世界就是這麼運作的,你會的技能越稀有且有需求,就是越是高級人才。或是想一下,Junior 跟 Senior 的差別是什麼?為什麼年資差不多,Senior 是別人而不是你?

等等!你說你也討厭切板?也沒關係啊,那去寫後端 SQL 如何?

有一個工程師笑話是這麼說的:前端不會切板、後端不會 SQL。

當然也很多工具們把這些事「包好」了,舉個不是很恰當的例子:Bootstrap 取代切板;ORM 取代 SQL。但是當你要改動 Bootstrap 時卻改不動;寫一個簡單 CRUD 的 SQL 時寫不出來。這時候,你就會明白了。不然真的以為工程師每天複製/貼上、喝喝咖啡就有錢領了嗎?哪裡來的幻夢泡泡,筆者先幫你戳破,還是如果真的有這種工作的話,請馬上跟筆者說還有沒有缺人(咦?)

# 我做了什麼

軟體這一個領域,唯一不變的就是一直在變,這應該也講到爛掉了,尤其是前端,框架、工具變化真的太快了!如果不跟上就等著被淘汰,React 都出到 18 了,只會 jQuery 夠嗎?Vite 打包快得跟閃電一樣、Vue 3 也很香,不學一下嗎?

追新技術對開發者來說也是家常便飯了,那 ... 舊技術呢?計算機概論、資料結構、演算法,有趣的是,這些都是萬年不變的舊技術,反而沒什麼人要學,比較起來這應該是 CP 值最高的技能,結果大家都在熱哀新技術,甚至在戰新技術哪個好,有時間戰的話,不如拿去提升自我,這些技能都會的話又何必戰呢?

人家資工本科訓練了 4 年才有的功力,又怎麼會覺得 3 ~ 6 個月就可以追上?還有時間的話,請好好的補完這些必要的技術知識,轉職的光環會有用完的一天的。未來的要跳槽的你,會感謝以前的你的(好饒舌),眼光要放長遠啊。

轉職後,當然也沒有閒著,筆者通常上班前會閱讀書籍,因為也不太吃早餐,09:00 上班的話,筆者通常會 08:50 到公司,然後看一下書,差不多一天看個 10 ~ 15 分鐘,筆者的座位上一定會放 2 ~ 3 書,累計到現在讀了:

  1. 人月神話:軟體專案管理之道 | 天瓏網路書店
  2. 重新認識 Vue.js:008 天絕對看不完的 Vue.js 3 指南 | 天瓏網路書店
  3. 你所不知道的必學前端 Debug 技巧:即學即用!讓你 Debug 不求人 | 天瓏網路書店
  4. 無瑕的程式碼-敏捷軟體開發技巧守則 | 天瓏網路書店
  5. 無瑕的程式碼 番外篇-專業程式設計師的生存之道 | 天瓏網路書店
  6. 提升程式設計師的面試力|189 道面試題目與解答 | 天瓏網路書店 (這本是買來供俸的,大概只讀了封面)

有時候也會讀一點非程式相關的,再告訴大家一個小密訣,現在人不太讀書的,所以你讀了就贏一半了(咦?),有 好的讀書習慣在各領域都有優勢的

好奇我還讀哪些書的話,可以參考:benben: reading-list | HackMD

在轉職前,就偶爾會看一些程式的文章,筆者覺得最關鍵的一篇文章是 Huli 大神的:程式自學十年心得,看到這一篇大約是在 2018 年尾左右吧,那時筆者還是個保全,想說原來自學也要花個十年啊!果然不容易啊!咦?這個人是誰啊?名字好特別喔?胡立?難道是網名?還是可能跟胡瓜有關係?

延伸閱讀:Huli 程式自學十年心得 | TechOrange 科技報橘

筆者的工作需要日夜輪班,那天正好職晚班,反正離下班時間還長,天也還沒亮(只要跟航空有關係的職業十之八九都要輪班,想一下飛機是不是 24 小時在飛的?是,那是不是 24 小時都要有人在?那就對了),去看一下這個人的 Blog 好了,不看還好,一看不得了,這個人跟我差不多年紀、大學沒畢業,已經是資深工程師了!

真的很感謝胡立大大,他把他的故事分享出來了,正如筆者正在分享自己的故事,讓我覺得這條路是可行的,所以筆者當下 做了一個選擇,並且 努力地執行 著。筆者大學唸的是私立的應用數學系,自認數學還行(學測數學滿級分,不要問我為什麼這樣還要讀私立大學),轉職也應該還算 OK ,就一路邊上班慢慢自學,反正我早就無法分辨白天或黑夜,直到後來參加全職學習,想說再去加強一下,就一路加強到現在了。

後來工作後,主要使用 Vue 框架,文件看著看著,也發現了 Vue 的核心成員 - antfu 大神,Github 排行前 100 ,其他就不多說了,真的很強又低調,開源了很多工具,有的你可能就有用過,也分享了很多文章、資源,全都開源的。

2022 的 Vue X Laravel Conf 筆者也有去聽 Vue 的議程,筆者特別去找 antfu 簽名,他還說他以前沒有簽過名的,但還是幫我簽了(羞),Yes!就這樣 史上第一個 antfu 的簽名 Get!大概就是這種追大神當追星的感覺吧!

了解更多:Laravel x Vue Conf Taiwan 2022

總之,找幾個在自己領域的大神(或是身邊的人也都可以)追縱一下,會更有動力的,就像有 一盞明燈在為你指路,當你迷惘時、想放棄時,它依然那亮著。

所以我跟其他前端有什麼不一樣?也沒什麼太大的差別,上班一樣切切版、接接 Api 、寫寫文件,我算資深嗎?到底 資深的定義 是什麼呢?我也不知道,但好像也不是這麼重要了,筆者認為 能夠一直進步才是最重要的,何必居拘泥在一個職稱呢?

# 我開心嗎

老實說,沒什麼特別的感覺,開發是份工作;保全也是份工作。工作嘛,我覺得並無高下之分,有沒有很認真的保全? 一定有啊,像 R 公司樓下的警衛大哥人就很好,看到每個人都還會問好,筆者就時不時會請他飲料;那 有沒有很混的開發者? 不用跟我說,一定很多人非常有感覺。

重點是你怎麼做這份工作?

以前筆者在某航空警備(aka 保全)上班時,也看過很多人嘴臉,有很跩的機長,進公司時停車證愛拿不拿的,好像公司是他私人停車場;也有很有禮貌的飛行教官(負責教機長的,是可以把機長幹到飛起來,物理上飛起來那種),常常關心我們,天冷了要多穿一點,有時也會請飲料給我們喝;也有來面試的空服員,看起來都人模人樣,但有的對核資料時愛拿不拿的(其實我們警備大多都跟協理、副總很好,也有副總跟我們說不聽話的,編號直接登記給他們,直接叫他不用來面試了,其實我們就是隱藏的面試第一關啦),好,這邊扯遠了,回來,筆者也感謝這份工作,也許是因為有這份工作,筆者才這麼拼命的,也可能本來就習慣這麼拼了,筆者也不知道。

這邊再補充一個,筆者通常不會稱自己是工程師,因為這個詞已經被濫用了,應該多少遇過那種「我也是工程師欸」的那種朋友,結果聊一聊才發現他一個程式語言都不會寫,也不是說鄙視的意思(真要說的話,Web 前端可能才是鄙視鏈的底層 QQ),只是再聊下去真的很尬好嗎?還要想怎樣聊才可以讓你繼續裝逼又不戳破你,不曉得大家有沒有這種經驗呢?聊天說話也很門藝術呢。

但現在的工作是真的很硬,筆者可能就很犯賤,明知山有虎,偏往虎山行,看看到底會有多硬,吃苦當吃補的概念,趁還年輕多一點練習的機會,或許搞不好之後公司起飛也不一定(一定是我的錯覺啦,錯覺)。

因為是全遠端,兼職上班第一天,主要管技術的全端就說:「你先 ping 一下 xxx.xx.xx.xx,看一下延遲是多少」

一般的 junior 前端應該是想說?蛤?拼?拼什麼?不要跟他拼拳,嘗試切他中路?

好在筆者還有讀過一點 鳥哥私房菜,馬上就是打開 terminal 下指令,回復:「目前延遲約為 160 ms」

延伸閱讀: 鳥哥私房菜 - 第五章、Linux 常用網路指令 ping

全端就淡淡的回:「還行,那就這樣開發吧」

然後就吃著火鍋唱著歌(電影:讓子彈飛 的梗),直接分配任務,直接上工開發,就一路從 12 月(2022/12)到過年(2023/02)都在加班啦,一天差不多都 Coding 12 小時(正職加兼職)以上。

簡單列一下目前的時間軸:

- MTR05 = Lidemy 程式導師計劃第 5 期
- K = 公司 K
- R = 公司 R
- C = 公司 C

2021/04 (MTR05) 開始全職學習
2021/10 (MTR05) 結業
2021/11 (K)正職 K 公司,轉職上工第一天
2022/02 (R)正職 R 公司、離開 K 公司
2022/12 (R、C)正職 R 公司、兼職 C 公司
2023/02 (C)正職 C 公司、離開 R 公司
2023/03 (<= 現在在這)
...

這不是來了嗎?

目前 C 公司的 Offer 薪資年薪為約:50000 紐幣(紐幣比台幣約 19:1),因為公司是掛在紐西蘭的,所以發紐幣,有人可能會想說,哇!外商欸!不要以為公司不在台灣就算外商,老闆跟核心成員都是大陸人,也有印度的同事,就只是這樣的一間公司。

簡單換算一下紐幣,差不多就是 95 萬/年 台幣了,也還行,依對應的工作量來看的話,真的還行。

修旦幾勒!這樣也沒有百萬啊!還說自己是老實人?你騙人!

讓子彈飛一會兒,仔細看上頁的時間軸,筆者其實從去年(2022/12)就開始在 C 公司「兼職」了 2 個月,這邊的兼職是指 一周花 20 小 (就是半個正職的概念)的工作時間計算,所以等於是 多了一個月 的薪水。

所以 95 萬再加上約 7 萬的兼職薪水了就是 102 萬了,只是不知道可不可以做滿一年就是了(咦?),就不用再說一次了吧,筆者這個人很老實的(被打),有百萬就有百萬的啦。

差不多是醬啦,希望這篇不知道在寫沙小的心得有幫助到大家,我們下次見 ~

下一篇之後應該會來寫一個 vim 的入門系列(for Beginners),但可能會是英文的,希望啦。

# Ref

免責聲名

以上均為筆者自身經驗,難免小有主觀意見,供讀者們參考,也歡迎分享經驗交流。
如果有錯誤的地方還請大大們指正,筆者會立刻修改,再次感謝大家!

Creative Commons License

本著作係採用 創用 CC 姓名標示 4.0 國際授權條款 授權。您可以在 benben.me 找到我。

This work is licensed under a Creative Commons Attribution 4.0 International License. You can find me at benben.me


關於作者

我是 Benben,喜歡理性的冷知識、感性的人事物。會想要寫這個部落格是因為,我認為能夠持續的自我成長是一個很重要的能力,其實跟是不是工程師的關係不大,只是剛好他們更需要這個能力。

分享文章