如何勝任初級軟體工程師

生活沙龍
36粉絲
14 次觀看·2022年10月30日
哈囉大家好,我是Terry
我在這個YouTube頻道分享影片這一年多的時間
收到很多大家問我的問題
那最常收到重複的一個問題就是
到底怎麼樣纔可以這麼帥
到底學習或是練到什麼程度
纔可以勝任最基礎的軟體工程師的職位
那因為問的人太多了
我想說今天就特別做一集影片
在這邊跟大家分享一下我自己的看法
那首先第一步呢
就是要先幫這集影片點個讚
因為你知道點讚就像點爆米花一樣
沒有喫爆米花看Netflix怎麼會爽呢
點完讚了嗎?
OK
首先我們說勝任一份工作
其實不只是在職場上面
有能力去完成工作裡面的內容
有些時候你可能可以勝任一份工作
但是你不一定能過得了面試
尤其是在軟體工程這個行業裡面
很多人過得了面試
但是不一定能把這份工作給做好
反過來也是一樣
很多人能勝任這份工作
但是因為沒有準備好面試
所以拿不到offer
所以其實這個問題可以分成三個部分
第一個部分呢
就是怎麼樣讓你在履歷上面被選上
我們可以把它稱為表面功夫
表面功夫要做得好纔有機會到下一輪
你知道Google一年有三千萬個人申請
大部分的履歷都會被直接電腦被淘汰掉
所以你的履歷上面必須要有賣點
你要知道怎麼樣抓重點跟關鍵詞
讓你的履歷在眾人面前脫穎而出
沒有人剛畢業就有很厲害的經驗
大家都有一個起始點
但是你至少要表現出來
你有能力去勝任這份工作
那最好的方式就是有相關的實習經驗
那假如你沒有實習經驗的話
那你就要用其他的方式來表現
像是自己做的side project作品
不管你是寫一個手機app
還是設計一個遊戲
你都需要呈現出你是真心很有熱情
而不是因為只是學校的功課交叉一下
或是因為為了找工作而已簡單的做一個東西
你side project項目的數量其實不重要
重要的是內容
你要呈現出雖然你沒有相關工作的經驗
但是你有能力去獨立完成一些
可能在工作上面會真的用到的東西
那有網友問我說
不知道side project要做什麼怎麼辦
你可以想一下
你身邊有沒有什麼麻煩
瑣碎重複的事情
你覺得一個app可以幫你解決到某個問題
那就是一個很好的idea
舉個例子我在大二的時候
學校裡面的學生經常在臉書的羣組裡面發文問說
週五有沒有人要搭便車到某個城市
然後大家一起分擔一些油錢
所以我當時就做了一個write sharing的app
然後把臉書上面的用戶轉移到那個app上面
然後最後被uber收購
開玩笑啦沒有被uber收購
最後死掉了
不過這不是重點
重點是我有一個創業的小故事
在履歷上面就會凸顯出來
儘管當時我讀的不是CS
也沒有相關工作經驗
很多公司因為我有這個side project
給我一個面試的機會
那至於寫履歷的tips
我之前也有在另外一支影片裡面跟大家分享
如果有興趣的話大家可以自己去看
我會把影片連結放在底下資訊欄
那當你的履歷ok沒問題之後
被選上面試的機率就會大很多
那這時候你就要去證明你有準備面試的時候了
為什麼我會這樣講呢
我覺得目前很多軟體工程師的職位
尤其是在知名的大公司
或是那種明星的pre IPO公司
面試的結構跟方式
有些時候沒辦法去真的評估一個人真正的實力
對於entry level的軟體工程師職位來說
大部分的公司面試的結構主要是這樣子
第一輪就是電話面試
考的主要就是類似leak code的題目
那在這一輪會先刷掉絕大多數完全沒有準備的人
那再來就是virtual on-site
因為COVID的關係現在大部分公司都是遠端進行面試
那VO大概有差不多兩輪
然後也都是考coding
一樣leak code相關的題目
有些公司會比較有創意
其中一輪的coding題目會更偏向系統設計
但對新人來說主要的focus還是在coding
那對於比較有經驗的工程師來說
通常VO一輪是coding
另外一輪是系統設計
如果你對系統設計有興趣的話
也可以去看我之前做過的一集影片
我會把影片連結放在底下資訊欄
那回到entry-level工程師的VO
兩輪coding都考完之後
通常最後有一輪BQ的面試
BQ是什麼
BQ就是behavioral questions的說寫
一般就是看你的性格跟公司的文化有沒有符合
看你怎麼處理衝突
或是在deadline的壓力情況下
你是怎麼去協調
這些基本上都是有一整套的回答方式
我當時在那邊google的時候
BQ的題目真的就像考汽車駕照一樣
所有題目都是很典型的
你就無腦的給他他想要聽的答案就對了
如果你不準備的話你一定會掛掉
那我這邊就不多說了
如果你有興趣的話
一定要幫我把影片點個讚
然後在影片底下留言告訴我
我會特別針對BQ這一部分
再專門做一集影片來跟大家分享我準備的方式
那回到正題
所以對想要進這一行的新人來說
拿offer基本上就是準備leak code
很多人leak code很強
但是真的在入職之後
就很明顯出現能力不足的問題
這部分我等一下會提到
也有很多人有多年創業的經驗
但是因為從來沒有做過leak code
可能連最基本的google面試都過不了
所以我只能說
假如你想要拿offer
就要遵循這個系統的遊戲規則
把leak code給做好
就這麼簡單
大公司也知道這個事實
但是為什麼他們還是這麼做呢
這個世界上有兩種人公司會想要請
一種就是天才
他們本來就不需要準備什麼leak code
就可以輕鬆的過這些面試
大概佔軟體工人是勞工羣體不到1%
那另外就是腦袋普通像我這樣的普通人
但是肯經過後天的努力
花時間去準備面試
代表說你這個人肯努力
喫得了苦
那也歡迎加入我們公司
儘管你不是天才
但是你也算得上是有能力學習
夠努力的那一部分羣體
這種招聘面試方式雖然不完美
也一定會漏掉很多隱藏性的人才
但至少可以確認招進來的人
不是天才就是肯努力的人
以大數據來說
對公司的招聘人事成本是最低的
風險也是最低的
像我之前講到
google一年有300萬人的應徵
所以這一套最簡單
最省錢最低成本的招聘方式
也是目前最受歡迎的
那至於leak code的部分
也可以去看一下我之前做的一集影片
關於我自己刷leak code的一些心得
影片連結也會放在底下資訊欄
如果有興趣的話可以自己去看
那當你表面功夫做得完整之後
面試這邊也都有乖乖的做leak code
基本上就會有offer
有些時候儘管所有的環節
你都覺得你準備得完美
但就是衰小
不管是發揮失常
還是其中一個面試官看你不順眼
因為你沒有把這集影片給個讚
都很有可能會造成最後沒拿到offer
所以我建議啊
尤其是新人
盡量多投幾家公司
可能前面幾個面試
你會因為緊張失誤
但是當你面試經驗越來越多
你的腦袋就會越來越習慣
就像我以前打LOL的時候超廢
但現在好像還是一樣廢
對 這不是一個很好的例子
不過你懂我的意思
那最後當你拿到offer之後
恭喜你
代表說公司已經承認
你有當軟體工程師的能力
那你還猶豫什麼
你為什麼還要懷疑自己的能力
是因為你覺得你只會做leak code嗎
其實我也曾經自我懷疑過
哪怕我拿到offer
我怕同事覺得我很廢
什麼都不會
到底是怎麼進來的
但你想一下
entry level本來就是沒有經驗的軟體工程師
那既然公司都已經認同你的能力了
何必懷疑自己呢
很多東西都是你在開始工作之後才慢慢學的
儘管我自己已經有幾年的工作經驗
但是我現在如果去一家新的公司
一個新的team的話
我也有很多東西需要學的
說不定他們用奇怪的語言
像是Ruby
用奇怪的語言
像是Ruby
開玩笑的
Ruby其實還可以
或是他們不用Git
用SVN這種鬼東西
我也要重新去適應
更何況是對新人來說
其實不只是新人
每個人其實都有一個ramp up的curve
如果你覺得你的能力比一般人差的話
你就多花點時間去讀
你可以下班後多花一兩個小時的時間
去看一些features是怎麼工作
它是怎麼被設計的
這些都可以讓你在短時間內比別人ramp up的快一點
另外還有一點就是不要害怕問問題
你是entry level
沒有人會笑你問的問題
或是去質疑你的能力
但是前提是你要聰明的問問題
你要自己先試圖去尋找答案
不管是看內部的documentation或是google
在你確定你沒辦法在短時間內解決的情況下
再去問問題
這樣纔不會浪費別人的時間
也可以讓你訓練獨自解決問題的能力
記得你每次問問題的時候
別人都需要花時間去回答你
這都是團隊的成本
問問題之前你可以給自己一個目標
假如你在一個小時內沒辦法解決這個問題的話
那你就問一下隔壁的資深工程師大叔
可能幾秒鐘的時間就解決了
不要花太多時間糾結在一個沒辦法解決的問題上面
你自己的時間也是團隊的成本
有些時候就是開口問一下
可能可以省你好幾個小時的時間
那我來問一下我朋友
在臺灣某狗工作的軟體工程師
凱清玲
看他覺得什麼樣的程度纔可以勝任
他說可以自己看懂Stack Overflow的時候
有辦法看懂文件找資料找答案的時候
沒錯 基本上就是跟我說的差不多
Stack Overflow就像AWS一樣
如果AWS掛了
網際網路有一半都掛了
如果今天Stack Overflow掛了
有一半的軟體工程師都要失業了
好 那希望今天這集有回答到你的問題
如果你覺得這集對你有幫助的話
記得一定要幫我點個讚
也記得一定要訂閱我的頻道
三分之二的人看我的頻道都沒有訂閱
連我聽不懂中文的隔壁鄰居
都有訂閱我的頻道
那我們下次見囉
