矽谷半路出家軟體工程師轉職之路 — Q&A

Victor Lin
10 min readNov 18, 2020

--

這是 矽谷半路出家軟體工程師轉職之路的Q&A,將一些疑問和我的見解記錄下來。此篇文章同樣是節錄於2017年分享過的文章,部分內容可能已經不適用於今天,不過我會盡量維持原文並稍微修改。

我只是個剛入CS領域的菜鳥,以下若有錯誤的見解,煩請神人們指點改正。 另外本人經驗不代表適合其他人直接複製貼上。 我本身在研究所和前一份工作都已經有接觸過programming,所以不能代表一切轉職照我說的做就能成功。我剛在a/A上課時跟一個會計師同學很好,他努力想翻轉人生,每天在教室念到十點才離開,可是在第三週還是Fail了兩次考試,第四週我就再也沒見到他了。 有些還是要看背景和天賦,不一定強求得來,做任何決定但求無悔,共勉之。

Q1:大哉問,什麼是bootcamp?該如何選擇?

舊金山近幾年興起各種不同的bootcamp,其實大家認真想轉職的話,隨便一查都有10來家。每家都教不同的Stack。bootcamp 簡而言之就是巨匠電腦,不用把它想得太fancy。

在踏入CS的領域之前,你要先做好功課,你以後想做什麼樣的 CS Engineer。

Q2:軟體相關的工作該怎麼選擇?

CS裡面也分非常多的區域,最簡單的二分法前端或後端;你想做美美的網頁,改改HTML/JS/CSS就能立刻看到成效,或者你想做服務,抓破頭想演算法,讓用戶或工程師呼叫你的服務。也可以根據你的興趣決定:你想做跟用戶更貼近 (user facing)的產品,譬如說Instgram, FB Messanger, 抑或是演算法相關的功能,譬如說搜尋列, 相關產品推薦, 廣告, 或者是提高工程師效率的專案,譬如說CI/CD, DevOps,甚至你想做最底層的Infrastructure,譬如說Kubernetes, Data Stores (MySQL, Cassandra, Solr, Redis …etc)。軟體的世界裡有各種方向可以讓你思考並發掘你的興趣在哪裡,甚至有人在其中一塊做完再跳去另外一塊做事很正常的事。

了解CS行業裡面的不同的Job requirement後, 再來決定要怎麼往目標前進。 決定好目標後再開始做功課研究什麼bootcamp適合你。以下是三家我比較清楚的bootcamp。我有一些朋友從幾家出來的,但由於他們都算startup,課程變動非常快速,也許我現在的資訊已經是過期了,所以請以各家網頁為主。

Q3: App Academy(a/A) vs Galvanize(G) vs Hackreactor(H)

我來自a/A,認識幾個朋友從G or H,所以大概比較一下這三家。

課程內容 & Stack:

a/A: Full stack (Ruby on Rails, SQL, HTML/JS/CSS, React+Redux)

G: Data Science (Mainly Python, not sure about others)

H: Frontend (Mainly JS, not sure about others)

課程難度: a/A >>>> G >> H

我敢說a/A應該是灣區最硬的bootcamp沒有之一,G聽說很累,但是沒有a/A那麼操 H聽說蠻輕鬆的。

選擇: 三家方向不同,所以如果你有自己的興趣就很好選了。 如果沒有特別的興趣,那看產業。Frontend工作最多也最容易找,門檻和薪水相對低一些 Data Analyst灣區超缺,但是門檻也不低。 Full Stack前後端通吃,但是有些公司不喜歡沒工作經驗的後端,面試容易吃閉門羹 後端的面試難度也比較高,比較重視演算法和System design,對沒有CS經驗的人來說非常吃力 通常Bootcamp出來,就算你找到Full Stack Position,其實也是比較偏前端的工作性質。

花費: a/A $15000 upfront, or $19000 after course, or 18% of your first year salary. 錄取後上課前必須決定繳費方式。 我看其他家的收費方式都大同小異,價位也是差不了太多。 進Bootcamp前的準備: 每個bootcamp都有找工作的錄取率的壓力,所以他們也不隨便收學生 a/A甚至開一個jumpstart課程,只是為了要讓你錄取灣區其中一家的bootcamp!!!

基本上你線上申請之後,他們都會寄一份coding chellange and prep material給你 你照著他給你的資料準備,把coding chellange寫完寄回去給他,就會有人再跟你聯絡。

有的會有兩三個coding chellenge rounds,有的會直接跟你skype 面試。通常skype面試就像一般CS Tech phone screen 30~60min,問你一到三題的coding questions。難度不高,你只要對語言掌握夠就能寫出。

他們expect學生在錄取前,已經能達到某個programming的程度。注意!他們不會從零教起!你在申請Bootcamp的那一瞬間,你已經要commit自己開始寫扣。他給你的準備資料就是要讓你學習基本的programming。如果連這一關都過不去,那還是不要考慮轉職了XD

Q4:Bootcamp對就業幫助多大?

此段落前提是有合法工作身份。 其實你把a/A想成美國巨匠電腦,美其名就是個職訓班。 由於灣區還是非常欠缺SW Engineer,所以還是非常多機會的。 就像我在文章內提到的,我很多同班同學沒有coding 經驗,最後還是可以進不錯的公司 我有聽過一些傳聞說某些公司看到你是Bootcamp出來的就直接刷掉。 但我也有聽過某些公司不在意你是不是透過Bootcamp出來的 我本身兩個offer就是用兩個不同的版本去interview, 一個放bootcamp一個沒有 最後兩個都有上,所以我個人是保持樂觀態度的。

有聽過一些面試官Bootcamp畢業生能力很差, 我覺得是見仁見智。我有朋友沒有coding experience,上課兩個月後寫一個npm package, 一個月下載數破萬。應該說有些人上Bootcamp的心態是:“我只要會寫程式,我就能順利找到高薪的工作。”這是不可取的心態!還是要對寫程式有一定程度的熱衷和嚮往, 如果心態不對的話,不是在上課途中就被刷掉,就是找不到工作,給面試官掃掉。 (然後就會有更多人覺得Bootcamp出來的都____)。

Q5:沒有合法停留美國身分可以上嗎?

人在台灣的話,想出國工作要透過什麼途徑。要嘛是在外商公司幫你內轉到美國, 很多朋友是從Applied Material, Google, SuperMicro 等大公司內轉到矽谷上班,不然就是要靠人在台灣海丟美國工作,看對方願不願意幫你辦工作簽證。

今年(2017)川普上台後,對沒有身份的外籍工作人士十分不利。有朋友今年五月CS MS畢業, 四五個Offer談到最後因為沒身分就被拒絕了。 大的公司當然沒問題,許多中小型科技公司不再喜歡Hire沒身份的New Grad。 身份問題可以自己在板上爬文或者是Google,很多人有不同的心得我就不再贅述。

Q6:Bootcamp畢業後找工作的時間大概是多久?

這還是看個人造化。有朋友還沒畢業已經被內推進Trello, 有人畢業直接進Google,也有人畢業快一年才找到工作(或還沒找到工作)。各個bootcamp基本上都標榜他們畢業一年內找到工作錄取率超過90%,否則退費。前提是你要按照他們的規定丟工作。 a/A好像要求一天丟10還是25個positions,要是這樣丟一年你也一定找到工作了… 所以基本上一年沒找到也不用想退費,因為根本做不到…

根據回報,80%畢業生在三個月左右都找到工作。我個人覺得畢業只代表你有了SW Engineer的基本技能,面試又是另外一件事情。

Q7:Bootcamp出來的薪水大概是多少?

我個人覺得,畢業三個月內能找到的工作,除非你本身有底子, 或者是找技術性低的工作,不然大都是100k~110k USD entry level 的工作。除非你找到Mid level position or backend related position 才有機會超過130k,甚至150k以上。

所以我沒有想要美化或慫恿大家跳進Bootcamp這條路。 這條路很陡,很多人爬到一半不見,也有人爬到小山坡覺得無趣也就這樣。 只有少數人能登上頂峰。

想看看極端例子的話,歡迎大家估狗haseeb qureshi negotiation 他是a/A的前講師,原本是poker player,完全不會寫扣。第一個offer好像是yelp,110k上下,相隔一個月拿到近10個offer。倒數第二個 offer Google好像是 220k。最後一個offer是 airbnb — 250k。同時他也是Outco 的講師之一,他的Blog有提到談薪水的過程。

Q8:Bootcamp不能教你的是什麼?

三個月的bootcamp真的能學到的東西只是皮毛,沒錯,真的一堆人畢業還是不懂什麼是資料結構!所以很多Bootcamp現在課上完後跟你說,我們會加開免費課程教你資料結構,幫助你找工作。

我的建議是,資料結構很硬,但是也非常有用也有必要很熟!念完Bootcamp後,就是認真的把資料結構搞熟,用你學會的語言把每個結構實現出來。

從基本的Array, dynamic array, ring array, linked list, set, map, hashmap, queue, stack, tree, trie, heap, graph,然後演算法Search, DP, BFS, DFS 各種Sort都要熟悉。 不眠不休的弄熟對於沒背景的人最最樂觀也要一個月吧,然後就開始刷題。

你的CS fundamentals比別人差,System design是甚麼意思都沒聽過, 怎麼出去跟別人搶工作。所以這三個月找工作就又要比本科生更認真一些。 這樣前後上完課加上面試,可能就要花半年以上的時間了。

Q9:如果我本來就是Software Engineer想轉換工作,有沒有Bootcamp能幫我?

我在上一篇文章有分享一個Bootcamp叫做Outco, 每個月開一班。學生有Manager換公司,有Bootcamp畢業生,有創業一兩年燒光錢只好從頭找工作上班的天才但是不會面試。 這個Bootcamp就是你最好的選擇。

只要part time,教你很多面試的技巧和觀念, 甚至在Linkedin上面怎麼跟Recruiter聊天做朋友要工作,談Offer怎麼多要錢, 怎麼培養正確的生活習慣來陪你度過找工作期間的挫折和壓力。

Q10:轉職的心路歷程

我從前一兩年就在考慮轉職了,直到去年四月才付諸行動。 第一我已經拿到綠卡了,第二我過去五年也存了一些錢,允許我做這樣的決定, 第三我知道投資報酬率很高,而且我有些寫程式的底,轉職不會那麼搖不可及。

一旦下定決心後,當了一陣子的無業遊民,雖然從上班族變回學生,可是認識到 灣區各個階層的人,後來也有幾個保持聯絡,對我來說是非常寶貴的經驗和資產。

在台灣唸好學校並且直到出國畢業都順順利利的,直到轉換跑道遇到人生最大的挑戰。後來也明白到我在過自己的人生而不是朋友家人眼中的人生, 思考了一下自己想要的是什麼,也跟家人朋友們討論過後而做出的決定。 雖然繞了點路,但是套句之前看到的一段話:

“每個人都活在不同的時區,有的跑得快,有的跑得慢,活出一段自己覺得有意義的時間才是最重要的。”

這段期間主要是我學到對生活engage,這是我過去一年來最大的收穫。 現在十點上班,六點下班,旁邊坐的是Google, FB跳過來的同事, 偶爾進去會議室面面新人,我才意識到,我已經是個Software Engineer了!

Q11課程內容?

其實我覺得課程內容反而是我不太想詳述的,因為這是靠各位如果有心應該自己去跟 各個有興趣的Bootcamp instructors聯絡聊天, 他們大都願意線上跟你安排 Skype or onsite session跟你講他們在上什麼課程。就跟大家出國準備唸書要找教授問狀況一樣,或是面試工作的時候跟Hiring manager 聊公司狀況和工作內容。

--

--

Victor Lin
Victor Lin

Written by Victor Lin

//TODO: while(alive) {keepWriting()}

No responses yet