PTT評價

[心得] 年薪破百萬的前端工程師

看板Soft_Job標題[心得] 年薪破百萬的前端工程師作者
tecofilmlove
(teco+film+love)
時間推噓 X 推:28 噓:29 →:61

冏冏 https://www.facebook.com/yue526828

https://www.facebook.com/yue526828/posts/515822296569512

前天一份矽谷軟體工程師的薪資統計被到處轉貼,很多人表示入錯行、生錯國家。我剛好約了以前的同事來聊天,她是一位年薪破百萬的前端工程師。其他人們可能想知道的資訊如下:

1. 資工系背景,學歷優秀,剛出社會時因為沒有掌握到寫程式的訣竅,不太順利,也進過一些奇怪的公司,換了很多次工作。

2. 現在工作所用的程式語言是自學的,HTML、CSS 到 Javascript 都是畢業後自學。

3. 畢業後不知道該做什麼,也沒有特別喜歡寫程式,是在前輩的引導下,發現自己可能可以做前端設計。慢慢接觸之後喜歡上這份工作。

4. 學生時花了 2-3 萬元去上課學習設計課程,之後所有的程式語言都到網上找英文教程自學。自認英文沒有很好,實務上需要和外國人溝通時主要是抓關鍵字。

5. 認為前端技術不太需要數學很好,而是了解寫程式的概念和邏輯。剛開始寫可能會覺得很辛苦,精通幾種語言和 framework 之後應該會比較輕鬆。

6. 應徵軟體工程師職位最重要的是有作品集,沒有作品,履歷再漂亮也沒用。公司其實不太看你的學歷,而是看你做出了什麼東西。

7. 畢業 2 年後開始寫部落格分享技術,每年在部落格做年度回顧,檢視自己的計畫完成率。

8. 每天下班後會花幾個小時寫 side project,嘗試和練習感興趣的新技術,有時候也做開源 app,把作品上傳 Github。

9. 晚上 11:30 睡,早上 7:30 起床,起床後做半小時的禪定冥想。

10. 節假日的興趣是一個人或跟朋友騎自行車踏青,限制自己每日最多攝取 1600 大卡,搭配固定比例的營養素、有氧重訓維持健康。

11. 會看一些健康運動主題類的 YouTube 頻道,不認識任何的百萬 YouTuber 名字,早上會聽健康主題的 podcast,有時開 Netflix 看影集和電影,把喜歡的作品寫在部落格。
12. 對錢沒有特別感興趣,但已經規劃好了為自己負責,將來不依靠任何人,定期定額投資 ETF。

13. 目前沒有考慮創業,因為自認為不擅長對外溝通,還沒找到能互補且信任的搭檔。

14. 在 Linkedin 放了英文履歷,有國外公司提供年薪 2 倍以上的 Remote 工作機會。

15. 據她所知台灣業界前端工程師也有 300-400 萬年薪的,並不稀奇。

16. 非常熱愛工作,願望是 coding 到老死的一刻,在鍵盤前去世。

17. 給所有想入門前端工程技術的人的建議是:在 Google 打關鍵字 "Frontend
roadmap" 然後學吧。



https://www.facebook.com/yue526828/posts/517042269780848

非相關科系可不可以轉職為前端工程師?

答案是肯定的,我們認識的許多大神都不是相關科系出身,前端技術領域比後端和硬體領域進入的門檻低。因為技術更新得太快,好處是年輕的工程師學到一個最新的技術,搞不好可以屌打吃 5 年老本的工程師;壞處是,這個領域非常競爭,沒有持續精進自己的話,很快就被淘汰。

我自己大學是學藝術設計的,學生時興趣就是架設網站,在大三時買書自修學會
HTML+CSS 和一點點 PHP+MySQL,中斷學習技術直到出社會 5 年後,做專案管理期間想要更好的跟工程師溝通,所以又開始鑽研後端技術。

生活沒有很健康,8 點多下班回到家後,學習到半夜 2-3 點,第二天 9 點多起床上班,但是因為年輕體力好,不覺得疲累。自己買 PHP 和 jQuery 書籍學習,大概過了 3 個月後能看懂大部分的程式碼,也能做一些簡單的 debug。當時的工程師是使用 Cake 做
framework,但我覺得這套東西有點太笨重,開始練習當時很熱門的 CodeIgniter,也把 CSS 換成了 SASS。

這樣持續鑽研 1 年左右,可以寫出一整個社群網站的功能。

然後我出國了,雖然在國外讀的是理工相關,但學校基本上沒有教什麼新的程式相關的東西,我大多數寫程式技能都是靠自修。

回國後我在南港科技園做前端,主要做 RWD 網站和手機 UI。因為寫程式寫得很快,每週實際有在工作的時間大概 10 個小時不到,其他時間都在做自己的事。

加上接一些技術顧問的外包酬勞,28 歲時年薪已破百萬。不過,由於我很早(20 歲)就出了社會,跟很多大神比已經很晚了。
-

其次,當工程師有什麼必要的特質?

我想這個問題實際上要問的是,領高薪的軟體工程師需要有什麼特質。

同樣是工程師,有人月薪 3 萬,有人月薪 10 萬。那是當然的,比如,實現同樣一個功能,有人需要打 10 行程式碼,有人只要打 3 行程式碼,運作的效率都不一樣,或搞不好光是 coding 的工具都不一樣。有人是用 Dreamweaver,有人是用 Vim,這速度差了多少倍,你覺得他們薪水可能一樣嗎?

再比如,做完一個 app,上架後決定修改或增加一些內容,有些工程師會面有難色跟你說,這個東西寫死了不能改,要花很多時間 blah blah,有些工程師就沒問題,加幾行程式碼就幫你弄好了,因為他寫的 framework 早就預留了擴展空間。他們薪水可能一樣嗎?

(當然,有時候優秀的工程師還是會把東西「寫死」,通常是因為 PM 沒有溝通清楚,或是沒有給足夠的工時。)

再比如,有些工程師一個人做沒問題,但沒有人能夠接手他的程式碼,因為他不寫註解,naming 沒有規律,design pattern 又亂七八糟,你覺得這個工程師能夠加入大公司的
team work 嗎?


這邊順便抱怨一下,很多公司喜歡在網站外包 cost down,我只想勸一句,一份價錢一份貨,愛找便宜的外包,就等著未來花更多的錢整個砍掉重練。我已經看過太多公司這樣幹。

好的軟體工程師,通常有極強的規劃能力,寫程式時不會滿腦子只想把功能實現交差,而是會考慮到擴展性和維護性,也就讓他或是別人接下來要修改或繼續寫都能很輕鬆。

好的軟體工程師,個性不一定開朗(呃)但是一定很細心,不然錯字滿天飛、file 亂放在哪不記得,debug 時間都比別人長的話是要怎麼按時完成任務?

好的軟體工程師,通常自學能力很強,就像他們渴求程式運作正常和有效率一樣,希望自己的時間也能被有效率的運用,會追求更快完成工作的方式。所以他們會主動嘗試新的
framework、新的工具,就算前置作業時間很長,但只要確定未來可以節省更多時間,投資報酬率是確定的,他們就會投資下去。


我個人認為英文好不是必要但會是一個加分條件,因為世界頂尖的 developer 都用英文在分享技術,如果能夠用英文在 StackOverflow 之類的網站提出自己遇到的問題,一般來說幾個小時內就能得到解答,debug 速度會快很多。

另外,閱讀網上的第一手英文資料,就可以比等中文翻譯的同業進步得快。科技公司有時候會看英文程度,而很多外商是用英文面試,想拿高薪的話要練 presentation。
-


學到什麼程度可以去應徵知名科技公司呢?

其實沒有明確的標準,每家公司徵人都會列出他們的 qualification,除非 HR 和主管是個大外行,不然一定會寫出他們需要你會什麼東西。

如果你有一些作品了,想知道自己到底算不算是寫程式的料,可以模仿《后翼棄兵》的女主角看著天花板下棋一樣,測試自己有沒有辦法在沒有鍵盤和螢幕的情況下在腦內寫程式。大部分好的 developer 都可以做到這點。我以前因為不想浪費時間,都是走路時設計完資料庫,在公司坐下立刻就可以開始寫。

有些公司他們除了面試前會先看過你的 Github 之外,也有可能會問你一些程式有幾種寫法,甚至現場叫你在白板上寫程式,這時候還打一堆草稿可是會扣分的。
-


一定要同時學後端技術嗎?

如果你的目標是年薪百萬,那麼一定要,一點後端都不會的不能算是 developer,頂多算 designer。我從一開始入行就是做 full-stack,但是個人覺得中小規模的資料庫設計比五花八門的 JS framework 容易多了,所以沒什麼好怕的。
-


最後也是滿多人好奇的,寫程式不需要數學很好,那數學很爛可以寫嗎?

數學不好的人學寫程式,可能第一關遇到 array、loop、function 這種基礎中的基礎時,腦袋會有點卡,覺得這不是很直觀能理解的東西。

再來就是進階到 OOP (物件導向設計) 的時候,更是會腦袋打結,會寫,不一定會維護,加上習慣不好,就在這關直接爆炸。

但是寫好程式其實最需要的是邏輯和思緒清楚,三角函數啊微積分啊,遇到記不得的公式都可以 google。重點是你知道什麼東西在先,什麼東西在後,怎麼寫可以讓電腦讀懂,按照你想要的樣子 run 出來。

我高中時數學成績沒及格過幾次,我太太數學非常好,可是她覺得寫程式很難,而我在出社會 8 年後當上了前端工程師。

我現在也認為電腦程式語言,是世界上數一數二美麗的東西,因為它一點也不複雜,規則都是設定好的,「開發」就是在排列組合那些語法和變數。一旦出現了 bug,一定是人的錯,把它找出來修正就好了,程式語言是永遠不可能錯的。

抱持著這樣的心情,才可能愛上寫程式,成為好的軟體工程師,有愛才能持久,持久才能精通。以上是我的個人看法。






--

※ PTT 留言評論
PTT 網址
※ 編輯: tecofilmlove (58.114.4.75 臺灣), 01/10/2022 23:15:46

vi00024601/10 23:20我數學超爛的 統計 會計 財經都被當過 覺得沒啥影響

vi00024601/10 23:20寫程式比較重視抽象化思考 數學只是加分

superpandal01/10 23:22最重要的是降低心智負擔 覺得思緒清楚依然難以hold住

superpandal01/10 23:23屎山 搞到頭禿結果只是打工人...

superpandal01/10 23:24有些人可以進階靠嘴巴寫程式 有些不行只能靠不找自己

superpandal01/10 23:24麻煩

laputaflutin01/10 23:26其實不太懂這裡提到數學跟OOP的關係… 有些說法怪

laputaflutin01/10 23:26怪的,不過看起來是面向一般大眾,大概意思到就好

superpandal01/10 23:39省下的體力可以去做其他事情沒錯就是

WaterLengend01/10 23:49推奇怪的公司,笑死

loadingN01/10 23:54你太太薪水是不是比你高

MoonCode01/11 00:14”精通幾種語言” 呃...

MoonCode01/11 00:14我覺得沒有”好”作品的話,能刷題比較重要

MoonCode01/11 00:16還有你說沒有作品集公司就不看履歷跟學歷... 我真的不

MoonCode01/11 00:16知道該說啥XD

bill199201/11 00:41這篇槽點有點多

Booker556601/11 00:50噓10行code 3行 code那邊,可讀性也很重要好嗎 這什

Booker556601/11 00:50麼爛舉例….

a12345x01/11 00:52聽說完美移動新人價前後端就百萬了

ckp413102501/11 00:52不忍噓,有強烈的生存者偏差

a12345x01/11 00:53所以這篇可以end

xenorock01/11 01:02剛出社會就不止120了 你好可憐

hegemon01/11 01:08現在薪資大通膨...才年薪百萬怎麼好意思寫文章出來現....

BigCockman01/11 01:09這文筆讓人有夠想噓

deeeplove01/11 01:18Tks for sharing this

elements01/11 01:52很多無關痛養的點…我以前每天十點半起床也年薪兩百。

elements01/11 01:52關鍵就是去找大公司面試,失敗,take feedback,加強自

elements01/11 01:52己,再去面一次。總是會成功。

sarsman01/11 02:24行數跟數學連結oop的部份真的怪怪的

sarsman01/11 02:26照這邏輯的話求fibonacci三行遞迴>十行DP

fanatics556601/11 02:41寫給外行看的啦

sorryla01/11 03:35我都1點睡9點半起床耶QQ

Zepho01/11 04:15明顯跟業界脫節很久了

LincolnBoy01/11 04:29神人給推

Firstshadow01/11 04:34雖然hen少 但人家還是分享了喇

CoNsTaR01/11 04:57資工學歷優秀不會寫程式

CoNsTaR01/11 05:02看到這直接 end

okita308801/11 05:10還在jquery哦....

okita308801/11 05:10dreamweaver哈哈

boyzone6601/11 06:43坦白說 程式頂多是排列組合 邏輯 遞迴 只能說是數學一

boyzone6601/11 06:43部分 而非一般人熟悉的代數

boyzone6601/11 06:47而且前端應該都是oo跟UI吧 確實不太用到數學啊

kanelbullar01/11 06:48寫給外行還是大一生看的吧

GameHeven01/11 08:07以2021的標準,百萬是新鮮人價碼

leo591626701/11 08:18前端技術一直變沒錯,但也不會因為學新技術就能吊打

leo591626701/11 08:18老前輩,基本上都是舊酒換新瓶

Piz1301/11 08:29dreamviewer跟vim比…end

clvmomo01/11 08:3810行3行比喻真的不行,最討厭看到自以為寫的很簡約打亂

clvmomo01/11 08:38整個份 code 的人

elements01/11 08:39唉…

ohmylove34701/11 08:47分享會想推,但特別寫個不認識任何百萬YTber用意何在

ohmylove34701/11 08:47?而且百萬年薪如果是出頭,那感覺也太累了

jgoodman01/11 08:48喜歡程式的一點就是它絕對不會騙你…

NewLifePage01/11 08:49酸葡萄不如好好充實自己

Belieeve01/11 08:59雖然也想提高薪水,但這樣的生活模式讓我有點害怕

Belieeve01/11 09:00感覺沒什麼家庭也沒什麼樂趣>< 不過還是感謝分享

thbw66601/11 09:06空洞

qwer33885901/11 09:28一堆全部擠在一起的超長CODE真的是很頭痛

jack020401/11 09:35這算剛進百萬的心得吧,你還沒遇過BUG是真的程式問題

jack020401/11 09:35越接近硬體這個感觸會越深

IamTD01/11 09:45一年寫出社群網站的功能.....

MarcoReus01/11 09:51只能說原作者還處在半山腰階段 XD

MarcoReus01/11 09:52想成為大神去看外國Frontend YT比看這些半吊子文章有

MarcoReus01/11 09:52用多了

MarcoReus01/11 09:55說數學沒用的大概沒遇過curve要自己畫的時候

aaa062201/11 10:02結果看下來沒人噓冏星人嘛

fortinet01/11 10:08標題下的不好XD?內文還ok啦。“台灣業界前端工程師也

fortinet01/11 10:08有 300-400 萬年薪的,並不稀奇”,我台灣同事,local

fortinet01/11 10:08公司,不用到特別強,數學用不到,這條路其實回報率不

fortinet01/11 10:08

shooter55501/11 10:23資工學歷優秀 然後不會寫扣 哈哈

shooter55501/11 10:25不過寫前端會用OOP?

expury01/11 10:44寫得真好 大推!

vi00024601/11 10:58面向新人的文章 還好啦 第一篇的人應該薪水超過百萬很多

vi00024601/11 10:59第二篇原po自己的經驗談就比較適合普通人了

weryk15301/11 11:19還以為是10年前的文章

lairx01/11 11:20囧星人……

NTULioner01/11 11:24奴性真重 不會backend就不算developer?

KC30001/11 11:25...

SlayerLIS01/11 11:26雞湯灌飽 如果生活成這樣才百萬 那真的是蠻辛苦的

aa0669701/11 11:37https://i.imgur.com/UOOtsId.jpg

a8756965001/11 13:05不要寫一堆奇怪的東西 搞得好像這樣才能百萬==

sarafciel01/11 13:25"程式語言是永遠不可能錯的" 嗯 這可不好說

wahaha27901/11 13:44對欸,Js 裡就有錯啊 typeof null 不該是 object

wahaha27901/11 13:45吵了很久到底要不要改,結論是錯太久改不了了

dong53101/11 13:45不知所云

gn0027368001/11 13:56真的是不知所云

nekosgr9301/11 14:11靠接案才能破百

nekosgr9301/11 14:11正職應該薪水低又閒所以才有時間接一堆案子吧

iamshiao01/11 14:18300-400的前端我就沒認識一個,不稀奇?

nick093901/11 14:27一本正經地胡說八道

VdustR01/11 14:28笑死 如果是寫給外行人看看應該還可以啦 貼這裡就錯了

Hsins01/11 14:39嘈點很多是因為兩篇主角不同人

Hsins01/11 15:16另外過氣的 YouTuber 不用這樣刷流量吧

wu0h9601/11 18:14還以為美金…

alihue01/11 18:20我找工作從來不準備作品集ㄏ

s67813101/11 18:34一本正經地胡說八道

YahooTaiwan01/11 19:55這裡是學生版嗎?

sp06343901/11 20:31有聽說 APP 為主的公司, nginx, DNS 自己都包的一人(前

sp06343901/11 20:31端)戰士就有到2M

Lomonosov01/11 21:14純推寫web前端要會一點backend

k7ji91ab5m01/11 22:04頗怪

lturtsamuel01/11 22:15我幫人架站也是nginx dns dba一手包啊 上下限很大的

viper970901/11 23:15這個有點生存者偏差...

Gaogaigar01/11 23:45我自動開圖 看到臉我就直接噓了

a898933201/12 21:40300~400並不稀奇, 怎不講佔全台軟體工作幾%

arcade042501/13 14:09越看覺得越糞,很多建議都不是必要

leonEEman01/13 14:53被嚇到

TAKADO01/14 13:08生活品質如果一直都是這樣好像不太ok

azureroki01/14 18:17很多是個人習慣跟能不能領高薪無關吧

bobokeke01/15 22:41這裡的人好兇喔…

yerym01/15 23:04感謝分享,但如果目標只是前端年薪百萬,認為最快的方式是

yerym01/15 23:04:有一個作品(例如:clone notion)可以讓你拿到薪資範圍有

yerym01/15 23:04百萬的職缺面試機會,以及如上面某樓所說,很認真練面試,

yerym01/15 23:04包含技術與談吐,然後一直失敗一直面,就蠻有機會達到。時

yerym01/15 23:04間長短看個人學習能力,但通常重複準備與練習,一兩年後蠻

yerym01/15 23:04有機會,難的是持續。至於會不會寫後端不重要。

saint0507/17 20:27人家用心分享不好嗎