# CMU-SV MSSE 第三學期心得 ![image](https://hackmd.io/_uploads/rJlktbIpkg.png) > 畢業啦! ![494820722_1716538329739109_6049543033891649424_n](https://hackmd.io/_uploads/B1BN9D_-gx.jpg) > 因為參加畢業典禮第一次到匹茲堡,校園真的很漂亮,交通很方便,買衣服還免稅,有機會一定要去一次看看(但可能一次就好,玩到後面有點不知道要幹嘛😂 ## 修課 因為太貪心在學期初一度修到 48 學分(3 門課+1 RA),一開始還扛得住,但後面越接近期中發現事情真的做不完,在大約 9 月底就把 Embedded 退掉了。fall break 之後又多了很多其他事情+找工,因此也把 FCS 申請 PNP,最後只剩下 18740 跟 RA。 ### 18740 Modern Computer Architecture and Design 上半學期基本就是圍繞下面這張圖在講。前兩次作業還蠻有意思的,第一個是用 C++ 跟 Gem5 做 Branch Predictor,第二個是用 system verilog 寫 ROB 跟 IQ,助教會給 starter code 跟很詳細的指令,所以可以很專注在實作上課所討論的概念,但是對工具的使用就不會到太熟悉了。 ![image](https://hackmd.io/_uploads/ry7T-n3wJx.png) 大約在學期中 fall break 前拿到了開發機,我們這屆是 Qualcomm Snapdragon8 Gen 2,很酷。但就真的只是很酷,**整堂課會開始走下坡**。作業三開始跑測試跟畫圖的比例會大幅增加,上課則是找業界工程師來當客座講師,可能我資質比較差一點,前半學期就算上課聽不懂,勉勉強強可以從 lab 學到點東西,後半學期可以說是完全不知道自己在幹嘛。 我在選課前有看過 [這篇文章](https://logical203010.pixnet.net/blog/post/332416470) ,寫了 lab1 跟 lab2 之後覺得還算可以就還是修了,直到學期末才發現是坑。但我認為整堂課都是對於熟悉這個主題的人太過簡單,對不熟的太難,至少每週花的時間不多,安慰自己算是修了一堂水課吧。 ### 18613 Foundations of Computer Systems ![image](https://hackmd.io/_uploads/HkdmK-8a1x.png) > 這堂課就是這本知名書籍的出處 從匹茲堡同步廣播過來,因為時差所以在 SV 校區是早八的課,二十幾人的班級到後面去上課的只有兩三隻小貓。教材是[開源的](https://csapp.cs.cmu.edu/),網路上很多相關資源跟答案,甚至課堂教材跟影片都查得到中英文翻譯。但儘管如此,作業寫起來還真沒有想像的簡單,要先理解上課內容,看完作業敘述,看程式碼,想怎麼解,最後才能開始寫。如果對 c, gdb, assembly, computer system 熟的話應該不難,相反來說,完全沒接觸過的人可能就會有點辛苦了 每個人會被分配到一個 TA 還有小組,會跟小組一起上 TA 的 recitation,內容有沒有幫助很看 TA 的水平與準備,會點名。office hour 則可以問所有 TA,然後 cmu 的很多人都修過,所以其實如果卡住能問的人很多。 我在寫完 malloc lab 之後覺得這堂課雖然收穫蠻多,卻因為是個人作業,花的時間相對 18740 太多了,加上期末考是現場紙筆測驗,就決定把它 PNP 掉,瞬間 loading 輕鬆不少,但還是推薦給想鞏固 CS 基礎或往 system software 發展的人。 ### 14642 Introduction to Embedded System 沒怎麼去上課,但寫作業的時候很常會去翻上課的投影片。寫完 lab2 就退選了,算是淺淺的沾了一點嵌入式系統的邊,到 lab2 為止還算推薦,老師跟 14736 Distributed Systems 是同一位,[聽說算是 sv 校區難得有料的教職員](https://johnnychang25678.medium.com/cmu-sv-msse-%E9%A0%85%E7%9B%AE-%E4%BF%AE%E8%AA%B2%E5%BF%83%E5%BE%97-034b4bc654eb),有點硬但可修。 ## Research 這學期在 Leo 那邊做了 RA,整體來說就跟實習的感覺有點像,差別就是從 daily standup 變成 weekly meeting,每週有點東西講基本就能順利過關。說真的,我感覺沒有進度也沒關係,就看你怎麼講而已,不要太扯就好了。 當時 Leo 那邊分別有 Database 跟 Distributed System 的研究項目,研究結果是要拿來當成課程教材、寫論文,以及拿去跟學校要經費使用的。但個人覺得 Leo 更偏向用 PM 的角色在帶團隊,很多時候都需要自己去摸索跟研究,如果卡住了真的會花非常多時間在尋找解答。 如果真的想去當 Leo RA 可以先修過他的課讓他認識你,不要表現得太差很高機率就會被他撿起來。沒修過但是履歷跟他研究內容很匹配也很有機會,因為 SV 校區的人 90% 以上履歷裡面都是跟 Web 前後端相關,他很需要這個領域的專業人員來幫助他的研究進展。 另外教授 Leo 也很熱心幫助還沒找到工作的學生內推,做這份 RA 也算是跟教授打好關係的一條途徑。 ## 找工 因為有實習的 return offer,因此這學期沒有花太多時間與精力在找工上,但前前後後應該也投了 300+ 履歷,面試了 4 間公司。 有一天跟同學討論了找工市場以及 SWE NG 找工策略,個人也覺得符合自身以及朋友的經歷,因此也來分享一下。 #### 刷題仔(General SWE) 以剛畢業的學生來說大多數的人都算在這裡,這一類人沒有特定的研究或專精領域,在學校可能就是修完必修,選修就按照系上規則選了幾個熱門或涼課。這些人主要是靠勤勉的刷題上岸,第一份工作可能就會決定了他之後未來的職涯道路,整個過程很像迷茫的高中生在選大學的科系,刷題跟面試就是準備學測與指考。 但 General SWE 很看市場風向以及公司狀況,以我找實習的那年來說這方面的職缺感覺是非常的少,最後有找到工作的都是有特定專長的人。但到找正職的這個時間段就明顯相對多職缺釋出,所以最後大家都有上岸。 這類人的找工策略應該會是想辦法洗學歷修水課拉成績,把 LeetCode 刷好刷滿,把口才練好增加面試實力。也有聽過因為找不到實習,認為景氣不好就立馬決定休學回國止損的,畢竟大環境這個因素是再努力也沒辦法掌握的。 代表公司:Meta、Google、Amazon 以及 LeetCode 上面公司 tag 題數很多的 #### Domain Knowledge 有些人對特定領域特別有興趣,或是曾經花很多時間在研究相關的主題,他們的找工狀況就會跟刷題仔差很多。 市場風向的影響對他們沒有像刷題仔那麼大,主要還是看選擇的領域熱門程度,面試考 LeetCode 可能也不會像 General SWE 那麼困難。因此他們的找工策略就是繼續做原本在做的事情,並且鎖定相關領域職缺投遞,如果原本做的領域太冷門,可能就要考慮跳槽到刷題仔陣營。 聽說 CMU 有些神課(Operating System, Database)是修完大概率能拿到大廠面試,甚至課程本身就是直接跟公司合作的。只是也沒有那麼爽,這些課都是要投入大量時間,也都有一定難度,弄不好要不沒時間刷題,或是被當都是有可能的。 值得一提的是,如果只是會點前後端框架,不算是這邊的陣營,因為我原本也誤認為我是:)。然後如果想走 ML / DL / LLM 相關的可能要 phd 或發表個幾篇論文,會一些 scikit-learn、pytorch、pandas+套模型應該是行不通的。 代表公司:Nvidia、Apple、Snowflake...等偏向組招的公司 ## 常見問題 常常會被問到一些重複的問題,在這邊以我的經驗(2023 fall - 2024 fall)整理了一些 ### 會推薦這個 program 嗎?整體體驗是好的嗎? 還不錯。但是我覺得還是要看你在意的點,還有目標到底是什麼。 以課程來說,選課限制很多,而且又是主校區廣播過來的,很多神課修不到。但以另一方面來說,在找工的同時真的有辦法修這麼多神課(神課通常很硬)嗎?修好課是你的第一目標嗎? 以找工來說,我們這屆有留在美國實習的比例是 3/5,正職全部都有找到。但學校 title 跟資源並不會讓你保底或保送什麼公司,歷年的上岸率也不能直接套用到現在的每個人身上。 以生活來說,灣區物價房價真的偏高,學校還只有一棟樓,沒車基本等於沒腿。但被大公司圍繞的矽谷軟體相關活動真的很多,學校方也很努力安排各種活動,以課外來說最近台灣人社群也還算活躍,想要的話是可以每週都安排活動的。氣候也不會到極端冷或熱,在台灣過敏鼻塞的我到這裡就都沒事了,但也有聽過在台灣沒過敏來這邊反而有的案例。 很多點都很看個人的狀況,所以其實很難一概而論。 ### 找工狀況好嗎?這個 program title 拿得到面試嗎?會因為學校內部競爭導致很難上岸嗎?網路上跟學校說就業率很高是真的嗎? 就我所有認識的人來說,有認真找工作+有想留美國的全部都有拿到 offer,個人覺得校方一直吹的就業率應該是沒有騙人。進大家夢寐以求的 FAANG 大廠還真不少,秋季的時候是遇到 meta 大招人,春季似乎也有一波 Google 面試上岸潮。 整體來說我覺得找工是跟個人實力還有 [大環境](https://fred.stlouisfed.org/series/IHLIDXUSTPSOFTDEVE) 比較相關,title 跟其他的因素影響佔比真的不大,就算真的在意這點好了,我也覺得 CMU title 很夠了。 另外也有跟其他學校的同學聊過,其實大概前二十甚至前五十的學校都差不多,有心準備的基本都還是能找到工作。如果真的運氣不好就去想辦法掛個一年 OPT,也真的是很夠用了,目前聽到最後回去的不外乎都是家鄉有什麼牽掛、準備到心累放棄、或是其實根本就只是來~~玩~~增廣見聞的。 ### 一定要買車嗎? 本人經歷了沒車的兩個學期,我會說不是剛需,但沒車會非常辛苦。買了車之後可以說是到了完全不同的世界,建議是規劃買車比較好,15000 以上就能買到不錯的二手車了,買一些比較保值的新車之後賣掉也不會虧太多錢,租車或是 lease 也都可以考慮。 決定買車的話可以早一點來美國,處理駕照保險等相關事宜,加州路考預約要等非常之久。也是有辦法走後門花錢插隊,但是那合不合法就不知道了。 ### 沒有校園生活? **真的只有一棟樓。** 不會有像美劇一樣的那種校園,但環境還不算太差,只是附近建築基本都是 NASA 所屬的。門口有警衛守著,閒雜人等一般來說是進不去:)但也沒有安全到可以東西亂丟,曾經有同學電動腳踏車被偷,雖然最後是找回來了(裡面不知道為什麼有住人,感覺是被那邊的小屁孩牽走的 校園雖然很小,但活動應該每週都多少會有幾個,學校方有被強制一週至少要一個小活動([校友演講](https://www.linkedin.com/posts/cmusv_50-cmu-silicon-valley-students-recently-activity-7290463103811485700-OQ6H)、[企業參訪](https://www.linkedin.com/posts/cmusv_cmu-silicon-valley-students-toured-meta-recently-activity-7305320719637184513-Qmqs)...),一個月要有一個大活動(期末派對、[萬聖節派對](https://www.linkedin.com/posts/cmusv_cmu-sv-students-came-together-recently-for-activity-7257812377482539008-38wt)...),還有一些[學生自主辦的社團](https://sv.cmu.edu/news/2024/05/15-coding-gym.html),如果學生自己有什麼想法,做得還不錯的話學校感覺是會出錢出力幫忙的。個人比較 I,參加一些學校活動就已經社交疲乏了,還要趕作業跟找工,所以沒有了解到太多。 我覺得可以考慮的點是:校園再大,對你真的有差嗎?成大在台灣算蠻大的校園了,但本人四年基本也是系館宿舍兩點一線,所以對我來說真的沒差。每年都有春假跟秋假,可以利用這段長假去其他學校的校園走走看看,史丹佛也很近,對我來說這就已經很夠了。 ### 選課到底有多限制? [選課網址](https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search) 這邊的 Teaching Location 選擇 San Jose,出來的所有課就是你能選的課,旁聽也是只能選這些。而且很大一部分都是從主校區「廣播」過來的,除非有特別註明 remote 不然你就是要到學校去才能上課,也就是說**你要到學校去看 Zoom 直播**。涼課水課很多,有名的神課大概就 [CC](https://hackmd.io/@kuouu/cmucc)、CSAPP、Deep Learning 而已吧。 修完這三學期,個人的心得是覺得一學期一堂硬課就差不多了,以我這種普通人來說,真的想要在某個領域深挖,一學期兩堂以上硬課真的扛不住,更何況還有找工壓力在,當然如果你是電神⚡️或是完全不需要睡覺那又是另外一回事了。此外,我一直覺得對我來說學習效率最高的途徑還是寫作業,上不上課對我影響真的不大。 ### 必修課規則?品質?可以不要上?XX 網站說 H 老師的課很... 畢業要求是八選五上,FSE (Foundation of Software Engineering) 必修,主要都是圍繞在 web dev,最近有延伸出 database 跟 data science 主題。個人是覺得多少還是會學到一點東西,但畢竟這邊經費還是不及主校區,課程資料迭代次數也相對較少,**尤其是新開的課程,不要抱有太大的期望比較好...** 如果申請跟教授做 RA 的話可以少修一堂必修,在 covid 期間因為隔離問題有人用 CSAPP 抵一堂必修的先例,但至少以我在學的期間只有 RA 可以抵必修。 其實個人覺得必修課當中,H 老師的 testing 算是最好的(但似乎已經換老師上了?),FSE 次之。我是覺得必修能不上就不要選,至少以我這屆的內容來說還是偏淺,對已經有相關背景經驗的人來說,找工跟增進實力都不太有幫助,而且很花時間。想知道課程詳情或教授習性可以研究我寫的課程分享,我感覺我寫得很詳細了,如有缺漏可以聯繫我或問其他學長姐 ### RA 容易進嗎?工作內容是什麼?推薦嗎? 個人是在 Leo 那邊做 RA,當初是修了他的一堂課之後才申請進的,他本人也比較偏好這種形式,但我也是知道蠻多人沒修過他的課,依舊被他收過去的。我曾經看過他申請後台的狀況,他會先把非矽谷校區的人拒掉,其他似乎沒什麼大問題都會收進來,然後因為大多數人都是用找工作的履歷在丟的,所以履歷內容跟研究方向很多都沒什麼關係,Leo 基本無法從中分辨出好壞,只能按照這個人之前在上課的狀況來做評估。我認為就算沒修過他的課,如果認真把履歷寫得很符合需求的話,再加上有機會跟他聊個幾句了解要做的專案內容,應該都是沒什麼問題的。 我在 Leo 那邊 RA 做的東西其實更像是 TA 在幫課程出作業,改善課程教材內容的感覺。每週應該花 2 ~ 6 小時左右在上面吧,然後固定時間會開會報告,基本上只要不要划水划得太誇張,老師感覺都沒什麼意見,只是學期初教授餅畫得很大,但最後學期末大家的成果都蠻少的。所有東西都要自己學,能問的人都畢業了,如果是像我這種被填鴨式教育慣了的亞洲學生應該是學不到什麼東西,但當作一堂水課還算ok吧😂 另外我也有問過其他找匹茲堡教授的同學,好像申請也都沒有到太困難,聽起來只要不要像是去划水的基本都會上。工作內容有些是幫 phd 打雜,做課程教材也有,還有看過維護一些網站之類的。若是只做一學期的話,可能做的內容就不會到太深,個人覺得如果有看到喜歡的領域第一學期就可以申請了,做得感覺還不錯可以繼續做下去,RA 總共可以抵一堂必修跟一堂選修,最後一學期可以當作維持學生身份用的學分數,這樣規劃或許能夠學到更深入。 ### 我所聽過的 Program 特殊操作 1. 4(堂課)+ 4(堂課) 兩學期畢業,省錢同時快速開始賺錢,但要夠本事能在兩學期內找到正職,並且一學期扛下四堂課,高風險高報酬。(多修一堂課學費不會變多) 2. 4+4 但風向不對馬上退掉一堂,第三學期卡一堂課技術延畢。只是就算差一堂課畢業,第三學期為了簽證維持全職學生身分還是要修三堂課喔,學費不會少繳:) 3. 3+3+3 最後一學期選一堂 remote+能遠距的 RA+PNP(那堂課成績單上會寫 Pass / Not Pass,不算學分),看你要偷偷跑去匹茲堡體驗主校區生活,或是來個數位遊牧到美國到處觀光 4. **[如果你有身份]** 3+1+1+...... 同時找實習跟正職,找到正職就把 program 變成 Part-time,畢竟需要維持全職學生的只有需要簽證才能工作的人🥹 5. 轉 ECE 跑到匹茲堡主校區。不知道怎麼做的,一直有聽到類似的傳說,但以學校方那邊都會說不能。我目前所能想到的辦法就是申博然後 Master out ### 開銷 - 學費一學期約三萬美金出頭,持續漲價中... - 房租一個月至少 1000,要住到獨立衛浴至少 1800 - 外食:以麥當勞當低標的話,大約 10 上下,上餐廳至少 15+,消費稅要再加 9%,內用服務費 15% 起跳 - 超市我大概一兩周買一次,都 50 ~ 100 左右吧 - 國內旅遊 3 ~ 4 天包含機票住宿平均一次約 1000 ### 其他 持續補充,沒有回答到或想問更詳細可以加我 [Linkedin](https://linkedin.com/in/kuouu),記得寫一些東西或你的問題,不然不認識我不會加🤣