作者 | 劉繼聰
出品 | 《新程序員》編輯部
我叫劉繼聰,是復旦大學2015級的學生,最初在自然科學試驗班,分流進入物理系,然后轉專業進入計算機系,也因轉專業政策降了一級,于2020年畢業。我放棄了保研和出國的機會,進入阿里巴巴一年后,加入濤思數據。
?
劉繼聰
在我短短三年的職業生涯中,先后輾轉字節跳動(實習)、某創業公司(實習)、阿里巴巴、濤思數據。研究方向從NLP(自然語言處理)、ML(機器學習)轉為DB(數據庫)。本文是我對過去三年職業方向選擇的回顧與復盤,希望你讀過我曾經歷的迷茫與困惑后,不會走上同樣的彎路。
一個剛剛參加完高考的學生,不會很清楚大學設立的專業是做什么的,進入大學后可能會很難接受所選專業與預期的差距。因此,大二時我選擇從物理系轉入計算機系。
和計算機結緣,源于物理系的一個項目——實驗室設備管理系統。當時,我負責Web與服務器相關的功能,因為無人指導,只能在網上找教程自學。我清晰地記得,當我用“世界上最好的語言”PHP寫出第一版程序——一個LAMP架構的CRUD系統時的感受。隨著項目的迭代,系統不斷重構,前端后續換成了JavaScript,后端則換成了基于Python的Django。
與此同時,我選修了物理系的C++課程,這門課主要講C++如何應用于計算和模擬方面。我人生中第一個較大的C++項目就是那門課的期末作業:用經典的蒙特卡洛方法,做伊辛模型(Ising model)的模擬。我做了一個命令行程序,只要輸入不同的參數,就能夠生成對應的模擬結果,并用OpenMP做并行的加速優化。后來我才發現由于數據依賴,我寫的并行程序比串行程序慢幾倍。
我覺得寫代碼非常有意思,或許比在物理實驗室修設備更有趣,于是,頂著降級的代價,我轉入了計算機系。很快我發現,即使我自認為已經寫過很多代碼,但也一度被各路大神虐得體無完膚。
我所在的拔尖班大部分同學都在ACM隊,而數據結構課的老師是復旦大學ACM隊教練。整個課程體系非常競賽化,每周都會用OJ(在線判題系統)測試,OJ類似于LeetCode,但區別在于,它只顯示答案錯了,卻不告知產生錯誤的輸入數據。因此,調試就完全靠猜。開始時,我在測試中一分都拿不到,每周光是完成作業就幾乎花掉我所有時間。為了獲得更好的測試成績,有很多次,我都坐在通宵自習室寫代碼,直到天亮。漸漸地,我能夠在每周的OJ測試中拿到滿分,期末拿到A。在剛轉入計算機系最痛苦的第一學年,我的績點便拿到全系第一。
后來,我在復旦獲得各種各樣的獎項:一等、二等、三175等獎學金,以及數模競賽和物理學術競賽的國家一等獎和上海市一等獎,還有泛海學者、優秀學生等榮譽(見圖1)。從自我懷疑、焦慮不安變得堅定、自信。如今想來,我認為那門數據結構課程是一個臺階,拼盡全力再上一層,才能看到別樣風景。也正是這段竭盡全力刷算法題的經歷,使我在幾乎零準備的情況下進入字節跳動實習,并拿到了各個互聯網大廠的秋招Offer。
?
關鍵詞: 職業選擇