!這是一篇從廢物保全的轉職前端的心得,轉職 1 年又 2 個月,年薪破百的故事(?)可以當作充滿倖存者偏差的個版來看看就好,當然跟個各種大大相比,我真的還只是菜難,如果大大已是年薪百萬 or 資深工程師就直接跳過本文章吧。
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,我也是!
筆者的討厭是指剛學 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 個月就可以追上?還有時間的話,請好好的補完這些必要的技術知識,轉職的光環會有用完的一天的。未來的要跳槽的你,會感謝以前的你的(好饒舌),眼光要放長遠啊。
- 讀各種開發者經典書籍(Clean Code ... 等)
轉職後,當然也沒有閒著,筆者通常上班前會閱讀書籍,因為也不太吃早餐,09:00 上班的話,筆者通常會 08:50 到公司,然後看一下書,差不多一天看個 10 ~ 15 分鐘,筆者的座位上一定會放 2 ~ 3 書,累計到現在讀了:
- 人月神話:軟體專案管理之道 | 天瓏網路書店
- 重新認識 Vue.js:008 天絕對看不完的 Vue.js 3 指南 | 天瓏網路書店
- 你所不知道的必學前端 Debug 技巧:即學即用!讓你 Debug 不求人 | 天瓏網路書店
- 無瑕的程式碼-敏捷軟體開發技巧守則 | 天瓏網路書店
- 無瑕的程式碼 番外篇-專業程式設計師的生存之道 | 天瓏網路書店
- 提升程式設計師的面試力|189 道面試題目與解答 | 天瓏網路書店 (這本是買來供俸的,大概只讀了封面)
有時候也會讀一點非程式相關的,再告訴大家一個小密訣,現在人不太讀書的,所以你讀了就贏一半了(咦?),有 好的讀書習慣在各領域都有優勢的。
好奇我還讀哪些書的話,可以參考:benben: reading-list | HackMD
- 追縱大神
在轉職前,就偶爾會看一些程式的文章,筆者覺得最關鍵的一篇文章是 Huli 大神的:程式自學十年心得,看到這一篇大約是在 2018 年尾左右吧,那時筆者還是個保全,想說原來自學也要花個十年啊!果然不容易啊!咦?這個人是誰啊?名字好特別喔?胡立?難道是網名?還是可能跟胡瓜有關係?
筆者的工作需要日夜輪班,那天正好職晚班,反正離下班時間還長,天也還沒亮(只要跟航空有關係的職業十之八九都要輪班,想一下飛機是不是 24 小時在飛的?是,那是不是 24 小時都要有人在?那就對了),去看一下這個人的 Blog 好了,不看還好,一看不得了,這個人跟我差不多年紀、大學沒畢業,已經是資深工程師了!
真的很感謝胡立大大,他把他的故事分享出來了,正如筆者正在分享自己的故事,讓我覺得這條路是可行的,所以筆者當下 做了一個選擇,並且 努力地執行 著。筆者大學唸的是私立的應用數學系,自認數學還行(學測數學滿級分,不要問我為什麼這樣還要讀私立大學),轉職也應該還算 OK ,就一路邊上班慢慢自學,反正我早就無法分辨白天或黑夜,直到後來參加全職學習,想說再去加強一下,就一路加強到現在了。
後來工作後,主要使用 Vue 框架,文件看著看著,也發現了 Vue 的核心成員 - antfu 大神,Github 排行前 100 ,其他就不多說了,真的很強又低調,開源了很多工具,有的你可能就有用過,也分享了很多文章、資源,全都開源的。
2022 的 Vue X Laravel Conf 筆者也有去聽 Vue 的議程,筆者特別去找 antfu 簽名,他還說他以前沒有簽過名的,但還是幫我簽了(羞),Yes!就這樣 史上第一個 antfu 的簽名 Get!大概就是這種追大神當追星的感覺吧!
總之,找幾個在自己領域的大神(或是身邊的人也都可以)追縱一下,會更有動力的,就像有 一盞明燈在為你指路,當你迷惘時、想放棄時,它依然那亮著。
- 小總結
所以我跟其他前端有什麼不一樣?也沒什麼太大的差別,上班一樣切切版、接接 Api 、寫寫文件,我算資深嗎?到底 資深的定義 是什麼呢?我也不知道,但好像也不是這麼重要了,筆者認為 能夠一直進步才是最重要的,何必居拘泥在一個職稱呢?
# 我開心嗎
- 當開發者是個很棒的工作嗎?
老實說,沒什麼特別的感覺,開發是份工作;保全也是份工作。工作嘛,我覺得並無高下之分,有沒有很認真的保全? 一定有啊,像 R 公司樓下的警衛大哥人就很好,看到每個人都還會問好,筆者就時不時會請他飲料;那 有沒有很混的開發者? 不用跟我說,一定很多人非常有感覺。
重點是你怎麼做這份工作?
以前筆者在某航空警備(aka 保全)上班時,也看過很多人嘴臉,有很跩的機長,進公司時停車證愛拿不拿的,好像公司是他私人停車場;也有很有禮貌的飛行教官(負責教機長的,是可以把機長幹到飛起來,物理上飛起來那種),常常關心我們,天冷了要多穿一點,有時也會請飲料給我們喝;也有來面試的空服員,看起來都人模人樣,但有的對核資料時愛拿不拿的(其實我們警備大多都跟協理、副總很好,也有副總跟我們說不聽話的,編號直接登記給他們,直接叫他不用來面試了,其實我們就是隱藏的面試第一關啦),好,這邊扯遠了,回來,筆者也感謝這份工作,也許是因為有這份工作,筆者才這麼拼命的,也可能本來就習慣這麼拼了,筆者也不知道。
這邊再補充一個,筆者通常不會稱自己是工程師,因為這個詞已經被濫用了,應該多少遇過那種「我也是工程師欸」的那種朋友,結果聊一聊才發現他一個程式語言都不會寫,也不是說鄙視的意思(真要說的話,Web 前端可能才是鄙視鏈的底層 QQ),只是再聊下去真的很尬好嗎?還要想怎樣聊才可以讓你繼續裝逼又不戳破你,不曉得大家有沒有這種經驗呢?聊天說話也很門藝術呢。
- 現在的工作又是如何呢?
但現在的工作是真的很硬,筆者可能就很犯賤,明知山有虎,偏往虎山行,看看到底會有多硬,吃苦當吃補的概念,趁還年輕多一點練習的機會,或許搞不好之後公司起飛也不一定(一定是我的錯覺啦,錯覺)。
因為是全遠端,兼職上班第一天,主要管技術的全端就說:「你先 ping 一下 xxx.xx.xx.xx,看一下延遲是多少」
一般的 junior 前端應該是想說?蛤?拼?拼什麼?不要跟他拼拳,嘗試切他中路?
好在筆者還有讀過一點 鳥哥私房菜,馬上就是打開 terminal 下指令,回復:「目前延遲約為 160 ms」
全端就淡淡的回:「還行,那就這樣開發吧」
然後就吃著火鍋唱著歌(電影:讓子彈飛 的梗),直接分配任務,直接上工開發,就一路從 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
- 鳥哥私房菜
- Laravel x Vue Conf Taiwan 2022
- 人月神話:軟體專案管理之道 | 天瓏網路書店
- 重新認識 Vue.js:008 天絕對看不完的 Vue.js 3 指南 | 天瓏網路書店
- 你所不知道的必學前端 Debug 技巧:即學即用!讓你 Debug 不求人 | 天瓏網路書店
- 無瑕的程式碼-敏捷軟體開發技巧守則 | 天瓏網路書店
- 無瑕的程式碼 番外篇-專業程式設計師的生存之道 | 天瓏網路書店
- 提升程式設計師的面試力|189 道面試題目與解答 | 天瓏網路書店 (供奉用,大概只讀了封面)
免責聲名
以上均為筆者自身經驗,難免小有主觀意見,供讀者們參考,也歡迎分享經驗交流。
如果有錯誤的地方還請大大們指正,筆者會立刻修改,再次感謝大家!
本著作係採用 創用 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,喜歡理性的冷知識、感性的人事物。會想要寫這個部落格是因為,我認為能夠持續的自我成長是一個很重要的能力,其實跟是不是工程師的關係不大,只是剛好他們更需要這個能力。