北美文組工程師 #1 我該轉資工嗎?

--

直接進入正題,本篇以問答的方式書寫。

Q1: 介紹一下Computer Science (CS)?

資工在這幾年越來越盛行,尤其是在美國留學申請上。這樣的申請盛況,導致也有人戲稱,美國的碩士其實就是兩個系,CS & non-CS。也另外有人會開玩笑,不是讀cs,就是在轉cs的道路上。

轉cs的人越來越多,最近接觸到很多來美國讀cs研究所的朋友,也都是中途才轉的。

為什麼美國讀cs的人會這麼多,主要有兩個原因:

1. 高薪

2. 好留下來

薪水的部分,可以參考 https://www.levels.fyi/,這是一個匿名的報薪水 & 各公司福利、職等比較的網站。美國大廠的薪水都比較透明,所以上面報的數據基本可靠。另外討論一下薪水的結構,薪水主要會分成三個部分,Base、Bonus、Stock。Base是基本年薪,每個月會拿到的就是年薪除12的薪水。Bonus通常是一筆簽字費,在入職的時候會發,這部分也是防止你一下就跳槽,如果提前跳槽,要按比例還回這筆Bonus。Stock就是公司股票,每年按比例給(如簽約的時候是簽8萬,25% 25% 25% 25%,則是一年會給價值2萬的Stock)。所以全部加起來會有一個total package的數字,那個才是一年真正會拿到的數額。

好留下來的部分,是正常科系在美國畢業且找到工作後,有一次的機會抽工作簽證,抽不到的話得離開美國。CS則能夠有三次的機會抽籤。(2016年,美國頒布了STEM計畫,只要讀Science, Technology, Engineering, Mathematics相關的科系,能多兩次機會抽工作簽證。CS就包含在STEM計畫裡面)

一方面薪水高,另一方面也是為了留在美國的”不得不”,也促使很多人,都開始轉cs,或cs相關的data、mis科系。

Q2: 我沒有要去美國,我適合轉CS嗎?

我認為如果還年輕,以各行各業對CS的需求,相當適合利用業餘時間培養寫程式語言的能力。俗話說藝多不壓身,套在這個年代也同樣適用。有很多人就是學了些程式語言,發現自己對寫程式感興趣,進而轉行當工程師。不談薪水,能從事自己感興趣的工作還是滿幸福的。如果不確定自己對cs的興趣,我認為可以先學點python,算是最好上手的語言了。

另外一個角度來看,我們現處資訊革命的年代,不嚴謹來說,就是工業革命後,另一個顛覆人類文明的重要節點。在未來的幾十年,如果要長期在職場上保持競爭力,多學一點資工相關的技能,絕對有利無害。

Q3: 現在決定要轉cs,會不會太晚了?

只要有心,永遠都不嫌晚。我是在大學畢業後,才零基礎開始從頭學起,重點是要願意付出加倍努力,來彌補少掉的時間。心態上也不能把自己一直看成非本科的人。”種一棵樹最好的時間是十年前,其次是現在。”

Q4: cs有沒有什麼核心科目是必學的?

可以參考台灣考資工所需要的六科,我認為這就是大家公認最核心的科目。

  • 數學: 離散數學、線性代數
  • 軟體: 資料結構、演算法
  • 硬體: 作業系統、計算機組織

如果現在還是大學時期,也可以利用學校資源來學習,修上述的這六門課。

Q5: 我是文科生,轉cs會不會很難上手?

上述六科,我在考研究所前有紮實的學過一輪,感想:

高中、大學都是純文科的我,在修計算機組織上,開頭會稍微吃力一點,連二進制、十六進制的觀念都得另外學一下。其他的科目都不至於太難上手。尤其離散數學,基本上是高中數學的延伸,學一些進階的排列組合、數論等,其實蠻有趣的。

而程式語言的部分,我覺得比起天賦,忍受挫折的能力是更加重要的,常常會有一整天坐在電腦前找bug找不到的情況。(bug就是,寫完程式後,按運行,並沒有呈現想要的成果。原因通常是寫的某一行邏輯有問題,這時候就要一行行去復盤,哪裡出問題了。更多的時候是不知道為什麼出錯。)

所以術科學習上,我認為以純文科而言,不會有太大問題。程式語言部分就是勤快點,多花時間去補上。

另外討論一個思維誤區,在學習知識上,可能常會覺得學習知識類似玩傳統遊戲,選了法師,就很難學劍士的技能,或者學不了劍士技能。但現實世界其實並不是這個模式。知識就是知識,在我來看,並不存在這樣的知識“壁壘”,尤其這些只是學士的基礎科目,不涉及非常艱澀難懂的學問,這些科目也不存在其他先修課程。即使是理工科轉cs,或者大一cs的學生,在學這些科目的時候,也都是從頭學起。

文理科是後來才被建構出來的概念,思維上不要侷限自己,覺得自己是文科,所以只能學文科技能。能被人創造、總結、並大量傳播的知識,我相信也同樣能被所有人類學習、理解。學習上遇到挫折,也不要有“反正自己是文科,學不會是應該的”,諸如此類的自我感動橋段,這樣永遠都學不會(雖然自我感動確實是人之常情)。人類不是只能做特定行為模式的昆蟲,即使是嘗試也好,可以試著接觸自己不曾探索過的領域。

所以此段的結論是,不需要在學習過程妄自菲薄、故步自封,直接開始學就好,很多時候心態比學習本身重要,也是能不能順利走到終點的關鍵。要說最難的反而是下定決心的那一刻,之後就相對容易多了。

Q6: 能不能總結一下轉cs的建議路線?

建議不分文理科。如果大學不是讀cs,想要留在美國做cs工作,我會建議走我的路線,這些過程其實很像是滾雪球,一環扣一環。如果大學就是cs的朋友,可以直接略過1,省去兩年時間,但還是建議有2。

我自己的路線是:

0. (如果還是大學在學期間,先去學校修Q4所述的六門課)

1. 考台灣資工所,請以台清交為目標。(另外撰文分享)

2. 找台灣的國際大廠實習。(另外撰文分享)

3. 用1的修課紀錄,申請美國資工所 (如果跳過1直接申請會非常難)

4. 用2的實習經驗,找美國的實習(如果跳過2直接找會非常難)

5. 美國實習結束,表現良好後轉正。(另外撰文分享)

再次強調,這個過程都是一環扣一環,如果沒有1,就很難有2,沒有1 & 2,後續3 & 4都會變成地獄級難度。4算是在美國想留下來,最重要的事,在美國有個大廠的實習經驗,太重要了。至於3的部分,申請到什麼學校,倒不是很重要的事。4更多取決於2,而非3的校名。 如果只是單純要在台灣找個cs工作,步驟會單純很多,去資策會學一下怎麼寫程式即可。

Q7: 還有其他問題…

歡迎直接私信粉專詢問。

--

--

台北遇上西雅圖
台北遇上西雅圖

Written by 台北遇上西雅圖

純文組背景,現於西雅圖一線大廠擔任軟體工程師。 分享轉科系、自學程式、美國生活、生活日常隨筆。文章第一時間分享於粉專:https://www.facebook.com/seattao

No responses yet