天天看點

我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

點選上方“Java基基”,選擇“設為星标”

做積極的人,而不是積極廢人!

源碼精品專欄

  • 原創 | Java 2020 超神之路,很肝~
  • 中文詳細注釋的開源項目
  • RPC 架構 Dubbo 源碼解析
  • 消息中間件 RocketMQ 源碼解析
  • 資料庫中間件 Sharding-JDBC 和 MyCAT 源碼解析
  • 作業排程中間件 Elastic-Job 源碼解析
  • 分布式事務中間件 TCC-Transaction 源碼解析
  • Eureka 和 Hystrix 源碼解析
  • Java 并發源碼

0. 寫在前面

  • 2. 方向比努力重要
  • 4. 記四次開會
  • 6. 沒那麼簡單的事
  • 8. 雜七雜八
  • 最近逛知乎,無意間逛到一篇哥大師兄的讀博總結,我花了 1 個小時看完了,内容非常幹貨,滿滿的 1.6w 字,特此分享給大家一起共讀。

    0. 寫在前面

    「開始寫這邊總結的時候是三月,紐約成了疫情震中,看着新聞報道裡的中央公園,中國城,第五大道,往事浮現,于是開始寫這篇回顧。陸陸續續一直沒寫完,轉眼年底了,加州疫情更糟。前幾天看新聞說Cathedral教堂發生槍擊案,震驚。這教堂就在我當時住的學校較高價的電梯大廈旁邊,每天出門都可以看到。遂又憶起每天上學的時光,于是決定把這篇總結寫完,希望疫情早日控制住,一切安好。」

    剛上大學時,聽過不少學長學姐分享會;申請博士時,讀了不少留學申請總結。都收獲很大,讓當時啥也不懂的我,了解了每場遊戲(如何度過一個充實的大學;如何拿到心儀的PhD offer)的principles:有啥規則,有啥技巧,等等。

    開始讀博時候,我也去找類似的讀博經曆分享,令我收益良多的,如熊輝老師, 田淵棟大牛和李沐大牛的總結,林達華老師的blog;但可惜隻有這寥寥幾篇,讀博又是一個複雜的事兒,當時的我并不能清晰地看見前面的路,遇到一些事亦因缺乏經驗借鑒,走了彎路。于是當時便想着,等我畢業了,也得記下我學到的經曆,希望能幫助到剛開始讀博,像我當年一樣迷茫的科研新人。也借此記錄和感恩一路走來,所有幫助過我的人,best of luck。

    因為時間有限,文章寫的粗糙,還請多多擔待;因為篇幅限制,有的問題難以講得完善全面,還請結合自身情況,辯證地借鑒相關經驗;或跟您意見不合,全當看小說,尋個樂子罷了。

    1. 萬事開頭難 (第一學期)

    1.1 初到紐約

    2014年夏天,在北京國際機場,我安慰我媽說,“沒事,明年暑假我就回來啦”,萬萬沒想到,一直忙忙碌碌,一去就是5年……可能是初次留學的興奮,十幾個小時的飛行,感覺很快就過了,到了JFK機場,坐上紐約特色的黃色的士。去學校路上,先是皇後區的平房,後來到了曼哈頓,深磚紅色的高樓,跟想象中的國際大都市并不大一樣,倒很有曆史厚重感,日後想想也是,紐約也不能到處都如時代廣場那般呀。

    接着,辦入住,搞衛生,小憩了一會兒,傍晚出去門口的超市買點吃的;第一次從112街,走到Broadway上,看着熙熙攘攘的外國人面孔,很傻的竟然笑了出來…那會兒自然是極開心的,就是一個毛頭小子,充滿了對未來生活期待的樣子(哎,回不去的青春啊);當然了,怎麼也沒想到,接下來的一年,會如此艱難……

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    1.2 差距

    開學後一系列事情,一下子讓我清清楚楚地,看到自己跟師兄們比,各個方面有着很大的差距。且不說核心業務能力了,首當其沖自然是語言環境的變化。

    一天路上,一小哥對着我說:How are you?我想,這不是新概念英語上的經典對話嗎,難道我真要回傳說中的I’m fine, thank you, and you?從那兒之後,我知道了,how are you就相當于,吃了麼您呐,并不是真的問什麼,而是打招呼,跟say hi差不多,一般回good good就可以了,甚至不回,直接也回對方how are you都行。

    然後到了第一天來lab,正好Y來面博後,老闆讓他給個talk,Y希臘口音的英語,再加上講的内容涉及一些專業術語,幾十分鐘我幾乎完全沒聽懂他說什麼;會後跟他一對一meet,更是尴尬的很…後來18年來FB實習,巧了Y是我mentor之一,第一天帶我吃的午飯,我們交流完全無障礙了,他也不記得當年還見過我……我有個朋友總結,剛來時候,跟外國人的交流,是三分靠聽,七分靠猜……現如今,即使是印度口音,隻要不是說的特别差的,或者我特别不熟悉的東西,都能通暢交流了。感覺這沒啥技巧,首先要敢說,然後多跟不同的人聊天練習 ,慢慢就好了,倒不必太過擔心,徒增壓力。但是如果英語不好的話,難以跟外國專家合作,融入核心科研圈子,對長遠的發展耽誤很大,盡量在1-2年内做好這個提升。

    1.3 讓老闆知道你在幹活

    因為我是大學畢業直博,剛讀博那會兒,思維裡還是預設,導師是教育培養學生的角色,指導學生做出成績;明白但沒有深刻認識到,博士生與導師還有雇傭關系。第一個學期,我主要是跟着師兄們做,跟導師大概一個月meet一次,每周有weekly report。開學時,老闆把我分給一個師兄帶,參與他的項目A,是個很好的學習機會,但是發不了paper。

    11月,CVPR投稿的季節,另一個師兄找到我幫忙做項目B,這個項目準備投CVPR,做出來的話可以co-author。于是我那段時間都撲在做B上,終于實作了其中一個核心的子產品。CVPR投稿完的那周,正好導師約meet,我想B的事情做完了,下面精力就都是做原本的A了,meet對我來說,主要目的是确定下接下來的plan呗。正好搞CVPR之前,項目A的師兄讓我reproduce一篇nips文章的方法,用到項目A的data上,于是,我準備的slides主要介紹那篇nips和怎麼用到項目A上。結果meeting結束,導師很不高興,覺得我這幾周沒有progress。記得那天導師辦公室沒開燈,冬天下午五點的紐約,天已經黑了,周圍一片黑壓壓的,更顯壓抑。

    我當時挺驚訝的,因為原還以為在導師印象中,是我參與了B的CVPR投稿,很impress呢。我後來仔細反思了下,雖然這幾周我對B也算是嘔心瀝血,weekly report裡也有提,但是,一來我隻是coauthor,對于B工作整體而言算不上main contributor;二來導師很忙,不能assume對方完全了解并且記得你做過的一點一滴。同時,我也明白了這個meeting的目的既是讨論research ideas,但也是review progress,我首先得讓導師明白,我這段時間有在好好幹活。現在的我,不會隻提項目A之後我想怎麼做,會同時準備一頁slide總結下我對B的貢獻。

    1.4 自己的感受沒那麼重要

    我們系第一個學期末就要博士資格考試。這個考試,各個學校稱呼不同,大概就是博士生通過這個考試,才證明有能力,qualify繼續讀博士。我們系給大家兩次機會,第一學期末第一次考,沒通過的第三學期末再考一次,要是還沒考過,就隻能卷鋪蓋走人了。而且這考試還真不是走過場,每次大概挂三分之一的人,是以真真切切見到周圍有人因為qualify沒過走人的。

    我大學學的CS,博士因為fellowship是EE發的,是以在EE系。這可愁壞我了,因為考的是EE的基礎topics,電路,DSP,網絡啥的我大都一竅不通。于是第一個學期的課,我選了門DSP,準備好好從頭學。這是硬課,再加上平常主要精力還得放在lab的項目上,第一學期壓力巨大。記得有一天,晚上睡覺做了噩夢,夢到不知什麼怪物,驚醒,醒來想到各種tasks各種due,頓時隻想繼續回到夢中,相比而言,還是怪物比較可愛……這時候,隻好把自己的感受擱置一邊,累、苦,想這些又有什麼用呢,隻能更加平添煩惱。該做什麼就去做,告訴自己幹就完了,結束後反而發現,過程其實也就那樣,有時候我們隻是過度看重了自己的感受,誇大了困難的程度,其實自己的感受沒那麼重要,隻要身體本身還撐得住。

    qualify考試在1月初。12中旬,忙完了期末考試,去Chinatown吃了頓好的,回家看了部電影,然後跟導師請好假,專心複習qualify。大概有三周的複習時間,除了DSP,其他的topics完全從零開始學。後來覺得,這考試的目的,不是考的知識本身,而考的是學習能力。複習的過程是很慘了,時值聖誕節假期,朋友圈各式各樣在佛羅裡達坐遊輪的,迪士尼看煙花的,回國火鍋小燒烤的;而那年的紐約還尤其的冷,家裡的暖氣開到最大,還是冷的不行,我隻能早出晚歸的去圖書館;路面凍得白花花的,公車開過揚起白沙,從家裡112街到圖書館114街隻有5分鐘,但卻那麼漫長;每天幾條褲子疊着穿,有天開始一度冷到零下負十幾度,我剛出門一會兒就趕緊回來,在牛仔褲外面又套了件運動褲……所幸最後考試通過了,小秘告訴我竟然考了第三,震驚,真是功夫不負有心人讷……

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    1.5 上課沒那麼重要

    第一學期,選DSP,純為了考qualify exam修的,跟我日後的研究,基本不搭噶。我第一學期還修了機器學習,機器學習我之前沒有系統學過,學完還是受益良多。但為了達到學分要求,我博士期間,被迫修了14門課,第四年還在上課……我的感覺是,CV是實踐科學,上課沒那麼重要,很多時候甚至是浪費時間。我覺得值得選課去學的,可能就是機器學習,算法,就夠了。搞CV方向的,與其上門CV,還不如自學網上教程,親身參與幾個項目,學的更快,對書上的知識有更深刻的了解。我覺得上課最大的作用,就是去了解這門學科,有哪些基本的概念和算法(所謂把unknown unknown變成known unknown),哪天你要用到他們了,需要把known unknown變成known known的時候,知道在Google裡輸入啥關鍵詞去搜。

    當然如果有時間,上些基礎型的硬課,自然沒啥;但對于博士生,時間本就緊張,就得做做平衡了,選些seminar的課比較好,一般主要就是讀論文,做project。我後面陸陸續續帶了很多低年級的學生,很多人學期伊始,覺得要多學些知識,選的都是硬課,學期過半,發現作業做不完,科研沒時間,兩頭耽誤,都是後悔不已…

    2. 方向比努力重要

    2.1 PhD選題

    第一學期在課業,科研,qualify考試,适應國外環境,種種碾壓之下,總算過去了……雖然痛苦,但隻是工作量大,努力使勁就好了……第二個學期開始,2015年于我,關鍵詞是迷茫,努力努力但怎麼也使不上勁的那種……

    第二學期開始,重心主要集中在research上了,跟導師的meeting也從一月一次變成了每周一次,有幸得導師親自調教各種真正做科研的能力了。導師給我定了個新的項目,深度學習下的incremental learning。這其實是個很難的問題,現在5年後來看,都沒有被很好的解決;亦沒有一個标準的benchmark,也就是說,其實大家還沒有定義好這個問題;記得導師那會兒說,if you can formulate this problem,這個問題就已經解決70% 了。

    結果忙忙碌碌幾個月,研究了很多文獻,做了很多實驗,還是沒有太大的進展,就是感覺很迷茫了,不知道下一步該幹嘛。幸運的是,到5月份,導師讓我跟師兄一起參加一個叫THUMOS的比賽,這其實又是個新的項目了;開始我還覺得,已經忙不過來了,哪有時間再多一個項目,後來慶幸參與了這次比賽,開始了我做video這個方向的科研生涯。

    那會兒video領域,大家主要做classification,而且是幾秒的短視訊;THUMOS是長視訊,而且不光有action classification task,還要一個task是action detection,檢測你所感興趣片段的開始/結束時間。參加比賽時,我跟着師兄主要搞classification,邊做邊學,上手了處理視訊的模型和架構,收獲很大。比賽完後,我發現classification大家搞的火熱,而detection,同樣很重要的一個課題,卻沒有人研究過基于深度學習的方法,于是就有了我的第一篇CVPR文章,收到了很多follow-up。我自己也算是找到了自己的研究方向,不再迷茫。

    我覺得這段經曆,對新手很有參考價值,很多時候光努力不夠,方向更重要。新手如何選博士幾年的topic,有兩個問題值得思考:

    能不能快速上手? 有幾個簡單的評判标準:

    • state-of-the-art的paper有沒有開源的代碼?目的是你能迅速複現baseline,熟悉整體pipeline(如怎樣預處理,後處理),加深對實作和細節的了解
    • 有沒有對這個topic有hands-on經驗的師兄,或者community裡面approachable的前輩?目的是,當你遇到實作上的細節問題,可以及時咨詢和得到回報
    • 這個topic有沒有比賽,或者标準的benchmark?目的是,有大家已經定義好的資料,實驗setup,評價标準;這樣,你有可以直接比較的baseline,outperform baseline的時候也容易被人認可

    能不能有大的impact? 這裡我指的是博士期間的大方向,由一系列單項的工作或者paper構成。單篇paper通常有三種類型:(1)First work:開創了一個topic,比如RCNN于object detection(2)Last work:基本解決了一個topic,比如Faster-RCNN,YoLo于object detection(3)Improve類型,介于First和Last之間的。

    Last很難,Improve常見但影響力不夠深遠,對于新手而言,博士的早期工作,在有能力做出來和有impact之間的trade-off比較好的,估計是First了,不一定非要是第一篇,隻要是某個topic裡面開創性工作的那一批之一,都是不錯的。這個早期工作之後,你會對這個問題哪裡要改進,有很清楚的認識,因為improvement room大,也會有很多ideas。同樣,早期的時候怎麼選這樣一個topic呢:相關的比賽是這一兩年新開的嗎,相關的benchmark是這一兩年出來的嗎,上面的結果提升空間大嗎(現在是20%還是已經80%了)?

    2.2 單篇Paper選題

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    前面說的PhD選題是大方向上的,具體到每一篇paper,選擇的principle和重點則不太一樣。來Facebook後從馬爺爺那知道了一個著名的Heilmeier問題系列,是指導老師們申項目的,我覺得稍微改改,便很适用于我們考慮,某一篇paper的選題,合不合适:

    1. What are you trying to do? Articulate your objectives using absolutely no jargon.
    2. How is it done today, and what are the limits of current practice?
    3. Who cares? [Support other’s research? Shape research landscape? Power applications in industry?]
    4. What's new in your approach and why do you think it will be successful?
    5. If you're successful, what difference will it make ? [e.g. Contributions in theory/modeling? Improve accuracy by 5% on dataset A, B, C…?]
    6. What are the risks and the payoffs ? [Further, how would you mitigate the risks? If your proposed method does not work, what could be alternative design? These can end up as discussions such as ablation studies in your paper.]
    7. How much will it cost? [e.g. How many GPUs do your experiments require? How long is each training process? How about data storage?]
    8. How long will it take? [How many hours are you going to work on this per week? When is the submission DDL? Can you make it?]
    9. What are the midterm and final "exams" to check for success?

    3. 談談Presentation

    Presentation分為做報告,還有就是寫paper

    3.1 談談做報告

    14年,剛來哥大那會兒,每周五是我們組會,導師讓我在組會上present RCNN,這是我第一次給導師作報告,而且是在全組面前報告,自然想要好好表現。我對object detection之前完全沒了解過,于是paper讀了一遍又一遍,文中用到的前人技術不懂,便找到前人的文章去學怎麼回事。感覺自己學到好多,自我感動,覺得花了這麼大工夫,一定到時候會讓導師刮目相看。

    結果就是啪啪打臉:導師極其嚴謹,當我解釋了A,解釋了B,問我已經有A了為啥還要B;我大腦一片空白,嘗試着解釋了半天,導師表示聽不懂,這是可想而知的,因為其實我自己也并沒有搞清楚為啥;當時自己讀paper的思維模式其實隻是,memorize怎麼做怎麼做,但沒有去搞清楚要這麼做背後的原理;另外當時slides準備的也不夠好。總之結果是,這次報告搞砸了。還好事後,師兄們繼續跟我讨論,讓我對技術原理有了更深刻的認識;有的師兄更用親身經曆安慰我,說當年他剛來的時候,第一次彙報工作連slides都沒做,幹講,導師自然也是沒能聽懂。

    之後幾年,從導師身上學到了很多presentation的技巧:

    • 如果可能的話,事先了解你的聽衆背景 ,是跟你做同一個topic的,還是同一個大領域但不同topic的,還是完全其他專業背景的。需要根據聽衆背景,定制和調整:比如,需不需要多介紹些背景?需不需要更深入技術細節?等等
    • 一頁slide盡可能focus在一個點上 ,不要資訊量過大,否則聽衆很容易lost
    • 盡可能多用圖檔表達,不要大段大段的列文字,A picture is worth a thousand words
    • 上面這兩點,其實principle都是盡量讓要講的内容簡單明了,因為很多時候我們在聽talk,這樣被動接受的時候,接受新知識的能力是比主動接受時候(比如看paper)低的。
    • 當聽衆問問題的時候,If you don’t know the answer, just say don’t know.
    • 如果是跟mentor日常讨論的slides,因為會讨論到很細節的東西,有些圖PPT畫起來,很花時間,而且通常這樣細節的圖還挺多,是以可以就ipad上面手畫一畫,截個圖放到PPT裡就好了;如果是正式一點的presentation,寫slides跟寫paper的principle有點像,不要太focus在細節上,更重要的是講清楚motivation,為什麼這樣設計,細枝末節的不關鍵的内容,放在backup slides裡面。

    19年CVPR,Doctoral Consortium有幸mentor是斯坦福的一位大牛教授,她也提到了presentation的重要性,說她們lab有個開玩笑的說法,一份slides交給她去改,no pixel left……為了分享如何能讓報告聽起來有興趣,她畫了下面這張圖,讓聽衆情感(亦是興趣高低,注意力程度)随着時間的變化,有三個高潮 :首先,介紹你的問題,通常這時候大家都會引發興趣;但聽着聽着大家注意力就不集中了,這時候就到了圖中第一個低谷,這時候需要指出來這個問題有哪些challenge,大家的興趣就又被激發了;等大家興趣來了,精力集中的時候,介紹你的一部分工作work 1;等介紹完第一個工作,大家又疲勞了,這時候指出來,即使有這個work 1,問題還不能被解決,因為有remaining challenge;接着大家又被調動了興緻,可以開始介紹work 2。

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    3.2 談談寫paper

    在2.2裡面講了對某一篇paper,如何選題和做規劃。那真的到了寫paper的時候,我自己有幾點如何讓文章寫的更好的體會:

    • 先給一個Talk 。寫paper最難的是構思storyline,而最好的完成這一步的方法就是先對你的工作做一個slides,給周圍的人present一遍。這個過程中,你會梳理好自己的思路,畫好文中的figure,準備好實驗結果的table,周圍的人還可以給你提意見,幫助你完善,等這個talk給完了,後面寫paper就會順暢自然了。其實我現在,如果準備投一個paper,當做了一段時間後,就會按照最終presentation的思路,準備slides,用在每周給老闆們report時。開頭先快速review一下做的task和提出的方法,remind一下context,然後重點focus在那周做的新東西上,是以每周彙報的slides可能80%都是跟上一周一樣的,然後新的方法和實驗結果的那幾頁slides是新的,有比較多的細節。
    • 用Google doc做文法檢查 。剛寫好的paper有typo和文法錯誤是很難避免的,但常常會被reviewer揪着不放。大家寫paper如今大都在overleaf上,但overleaf的查錯還是不夠好,建議可以寫完paper後,貼到Google doc裡面。幾年前開始,估計是由于deep learning對Google NLP的改進很大,感覺Google自動改的品質已經非常高了。
    • Rationale很重要 。不光是要講清楚你怎麼做的,更要justify你問什麼這麼做;不光要講你的結果比baseline好,更要解釋為什麼好;讀者看到的不應是一個“使用手冊”。有時候我們寫paper,花了很多篇幅寫了很多實作細節,但是更重要的是,解釋“為什麼”,這個背後的邏輯和insights。
    • 大部分paper都是提出一個新的方法,這類方法型paper 似乎都可以套下面這個架構:
    • Introduction:可以分為以下幾個部分:
    • Problem definition
    • Previous methods and their limits
    • 簡單描述你是提出了什麼技術來overcome上面的limits
    • 一個圖,非常high-level的解釋前人工作的limits和你的工作怎麼解決了這些limits,最好讓人30秒内完全看懂
    • 最後一段如今大都是,In summary, this paper makes three contributions:
    • First work to解決什麼limits
    • 提出了什麼novel的技術
    • outperform了state-of-the-art多少
    • Related Work:一般三五個subp,分别review下相關的topics,同樣不光講previous work做了啥,更要講自己的方法跟前人工作有啥不同
    • Method
    • 這是文章的主體,按照你覺得最容易讓别人看懂的方式來講可以第一個subp是overview,formulate一下你的problem給出notation,配一個整體framework的圖,圖裡面的字型不能太大或者太小   * 看不清,要有些細節,讓人光看圖就能明白你的方法是怎麼回事,但不要過于複雜,讓人在不超過2分鐘的時間看完這張圖
    • 然後幾個subp具體介紹你的方法或者模型;如果testing跟training不太一樣,最後一個subp介紹inference時候的不同,通常是一些post-processing操作
    • Experiment
    • Datasets
    • Implementation details such as pre-processing process, training recipe
    • Evaluation metrics
    • Comparisons with state-of-the-art
    • Detailed analysis
    • Alternative design choice exploration
    • Ablation studies
    • Visualization examples
    • Conclusion (and Future Work)
    • Abstract:是全文的精簡版,建議在paper寫完第一稿差不多成型了,有定下來的成熟的storyline了,再去寫abstract;大概就是用一兩句話分别概括paper裡面每個p,然後串起來

    另外paper送出時候,可以交supplementary materials,雖然reviewer并不被要求強制看這個,但其實給我們機會,去include更多文章技術細節、實驗結果的好地方;在後面rebuttal階段,通常篇幅有限制,但如果你已經在supp裡面未雨綢缪 ,可以省很多空間,refer reviewer去看你supp裡面的内容就好了。

    說到rebuttal,我還是比較幸運的,從導師那學到很多。導師已經是功成名就,業界泰鬥那種,起初我以為他這個級别會對我們是放養;但我在哥大投自己第一篇一作paper的時候,導師可以說是手把手帶我入門了。還記得16年CVPR review出來後,導師找我讨論rebuttal,我那會兒對寫rebuttal并沒有什麼經驗,也不知道可以用R1代表review 1等等。那天meeting開始已經晚上7點了,估計導師還沒吃飯,我兩就挨着坐在他辦公室裡,對着他的電腦,讨論reviewer提的一個一個問題。因為很多時候其實reviewer表達問題并不準确,他教我分析每個問題背後reviewer真正關注的點是什麼。邊讨論,導師邊直接敲下我們讨論的notes,meeting完後,我看這notes基本上就可以算是個rebuttal的初稿了,比我meet前準備的draft強多了……

    4. 記四次開會

    2016年,拉斯維加斯。

    博士期間我參加了四年的CVPR,這是我們行業的盛事了。學術會議通常,主會3-4天,有oral環節,大家可以聽台上人輪流做報告,有poster環節,一個大場館列滿一排排的poster stand,每篇poster有作者在旁邊講解和答疑,oral和poster環節交替進行。大場館在poster周圍有各個公司的展台,一方面展示技術,一方面更多是在招人。主會前後一兩天,有tutorial和workshop,通常會有大佬來介紹最新的工作,因為現在paper大家很多早就挂在Arxiv上看過了,很多人覺得workshop比主會更有聽的價值。

    若用一個詞形容16年參加CVPR的體驗,那就是興奮了。首先Vegas就足夠讓人興奮了,一座沙漠中建起來的夢幻城市,各式各樣的酒店,威尼斯人,凱撒皇宮,艾弗爾鐵塔,每換一個酒店就像到了一個新的國家。三年後畢業旅行,我帶爸媽來,故地重遊依舊是很驚豔。

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    然後這也是第一次見到許多業界大佬們的真身。當時在灣區實習,候機的時候就發現周圍都是同行。第一天晚上跟着師兄逛賭城大道,一個很高的老外來跟我們打招呼握手,我後來才意識到是現在在Tesla的Andrej,之前大學的時候還郵件問過他DBN的問題,沒想到竟然是他…後面陸陸續續看到各種在Paper上面名字很熟悉的真人,很興奮了…

    這次開會,我才知道了,開會的目的不光是聽報告學知識,也是social認識人的機會,我們需要融入到這個community裡去。從優秀的人身上我們可以學到很多;每人各有所長,有機會合作的話,可以雙赢;每個人都有盲區,需以他人為鏡。而這些的前提就是,你要成為這個優秀圈子的一員,跟他們有交流。當時杜老闆剛畢業加入Facebook,因為我的工作基于他的之前的C3D,在路上看到他,鼓起勇氣跟他打了個招呼,杜老闆很nice的跟我聊了一會兒,也是從那之後跟他們組有了些合作,我去年畢業後也加入了這個組。

    不過那年,我對social的認識也就僅限于此了,我甚至不知道公司還有party。不過好處是認識的人不多,沒有太多的招呼要打,可以集中精力開會學習,這一年算是我開會最認真的一年了,基本上把所有poster都過了一遍。另外,我也是第一次講poster,這個環節一般兩小時,站着不停說話其實蠻累的,建議可以備點零食,水在旁邊。

    2017年,夏威夷。

    感謝組織,第二年又免費去了個度假勝地……不過這一年,因為已經入行了,開會過程很忙碌。這年有幸中了篇oral,導師很重視,前後slides改了很多遍,rehearsal了好幾回。為了聽衆體驗比較好,可以看着聽衆有眼神交流,同時看起來professional,導師要我脫稿。從西雅圖飛夏威夷的飛機上,就一直在背稿子,然後一直反複rehearsal……報告前還是很緊張忐忑的,台下坐着得有一千人,講12分鐘,3分鐘QA,不過上台後似乎因為集中精力在報告本身,反而淡定了……話說這種事情,感覺都是第一次很緊張,經曆過了,以後就好了;記得第一年隻是做poster 展示,我事前也很緊張,但經曆過後,這第二年做poster展示時就非常淡定了。

    報告給完後,因為最後一天有個workshop要給個talk,slides還沒做,隻能繼續宅在酒店準備……悲催的整個開會期間,很多時間都呆在酒店,都沒啥時間出去轉轉,隻能默默給大家朋友圈點贊,也沒有機會向第一年一樣認認真真看poster了……是以很佩服大佬們,他們又要到處給talk,要跟各種人meet,是怎麼安排開會時間的……

    前面說到公司party,在會議期間晚上,一般大公司都會組織自家的party供大家social。雖然很多時候是大型尬聊現場,但公司很多員工會來,為來年招intern或者正式員工做宣傳;很多學生會來,可以了解不同的組做些什麼,有沒有headcount,intern有沒有returning full-time offer;當然,還有就是有free food包晚飯,而且Party的場地很多時候是有特色的景點,印象中去年,微軟是在一艘大輪船上(感謝張老師carry),Facebook是在水族館。

    很多時候這些party為了控制人流量,會要求invitation。會議前公司們會給你發郵件invite,可能是HR看到你要來present paper,可能是某個公司researcher想要跟你面對面聊聊,也可以你直接聯系公司的朋友,提前把你加到list上。有時候沒有invite,有認識的公司朋友,也可能直接帶進去,或者人不多了,就直接不限制了。另外,第一年開會的新人,可能看到别人去Party自己沒有invite會失落,但其實duck不必哈,找上落單的小夥伴,去周圍景點好好玩玩,這可能是今後所有開的會裡,可以自由支配晚上的時間,想去玩啥就玩啥,不用去尬聊的唯一一次了,好好珍惜!

    2018年,鹽湖城。

    這一年我博士第四年結束,開會的主要任務就是找工作了。前面說到,poster場館有很多公司的展台,前兩年我也就去拿拿文化衫就走了,這一年則不然,因為展台有HR給你介紹公司的招聘流程,當場收履歷,也有站台的員工,可以直接了解他們組的情況。當然,這樣可能還是比較general的招聘,即使有員工,很可能跟你也不是做同一個小方向的,一般來說大公司裡面偏production的組在這裡認識的機會比較多;如果想找偏research的組,還是通過你paper認識你的同行,師兄弟朋友們的介紹,效率相對高些,可以約他們在展台或者Party上見面聊。對于找postdoc的同學,很多老師會約在開會期間見面,甚至面試,是以可以提前reach out約好。

    2019年,洛杉矶長灘。

    洛杉矶也是我很喜歡的一個城市,因為我一直有個影視夢,是以很喜歡好萊塢,這大概就是我為什麼堅定做video方向的初衷了。長灘其實離LA市區挺遠的,算是一個度假小城市了,甚至有自己的機場。長灘市最著名的景點就是literally的長灘了,有很多遊艇一列一列地停着,蠻壯觀的。

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    19年這會兒我已經畢業了,剛加入Facebook,不用逛公司了解找工作的情況,倒是又可以認認真真開會了。另外,對于畢業生,會有個Doctoral Consortium,強烈建議申請,他們會組織畢業生和業界大佬一對一吃飯,是個很難得的學習機會,畢竟除了自己導師,很少有其他老師能花一個小時跟你單獨聊各種research和career上的問題了吧。

    5. 記三次實習

    2016年,博二暑假,灣區,Santa Clara。

    來紐約連軸幹了兩年,暑假要去師兄在加州的start-up幫忙,總算要換一種生活方式了,開心!那會兒對傳說中的矽谷還沒有概念,還不知道San Jose(聖何塞)J發H的音。因為紐約就是跟所有國際大都市一樣,高樓大廈生活便利,其實沒有體驗過典型的,所謂美帝鄉村生活;灣區則是,住宅區裡一棟棟的自家house挨着,四層就算是高樓了,每一片兒有個plaza,聚集各種飯店超市;到灣區第一天,被感歎說像是第一天來美國的……

    這次實習很短,兩個月,因為是start-up,工資不高;租的地方沒有床,睡了兩個月地鋪,住家附近有條小河,蚊蟲很多,對蟲子極度反感的我在地鋪上整了個蚊帳;天天上班打車是打不起的,隻好買了輛自行車騎車上班,單程半小時還好,天氣炎熱也還好,最恐怖的是在一個上高速分叉口,得過個馬路,沒有紅綠燈,隻能招手示意,過來的車常有大貨車,而且車流量大,經常得攔下一列車,每次都膽戰心驚……

    不過整體工作生活還是充滿新鮮感的。工作上是純production,了解了很多prod的system design;雖然早九晚七,但不用像在學校搞research晚上和周末還要加班,是以覺得很輕松;師兄們人也很好,帶着我們去過了優勝美地,三番市區玩。總體感覺就是讓我緊繃的科研神經放松了一段時間,也了解了另一種很不一樣的美帝生活,習慣了吃早茶,印度菜,越南粉。

    2017年,博三暑假,西雅圖,Redmond。

    這個暑假是過去幾年裡,過的最開心也收獲很大、非常充實的一個暑假了。這一年在微軟,是research intern;大公司确實流程比較正規,開始的時候有orientation帶你入門,公司各種facility也是不錯。

    我的mentor已經是很senior了,是組裡的manager,但還是非常hands-on,自己還寫code做實驗,是以對技術的見解非常深入;人也很nice,甚至還有時幫我一起debug算法,學習到很多。當時我在一個華人比較多的組,其他的full-time也很nice,我們工作上有問題都耐心跟我們讨論,生活上帶我們嘗試各個樓不同的午餐。我們在的是99号樓,都說99很難吃,導緻我至今還沒嘗過99的午餐……組裡每周會有intern輪着做presentation,介紹自己的進展,大家都很自覺,是以,雖然說大家都很nice,但因為想要在這三個月裡做出東西來,自己給自己的壓力還是比較大的。這種壓力我覺得是好的,積極的壓力。

    這次實習後,我就習慣了用Windows系統,VS程式設計,onedrive,自己macbook上裝着Windows(這個習慣來FB後被打破了,現在又換回來蘋果原生系統)……微軟沒發筆記本,而是桌上型電腦,是以周末來公司的intern還不少,再加上西雅圖公交系統發達,去公司很友善,我晚上和周末基本都會在公司;也是以認識了一群小夥伴,因為微軟晚上餐廳不開,是以常常坐小夥伴的車,去外面一起吃晚飯,然後再回來幹活。夏天的西雅圖天氣很好很舒服,二十來度吧,晚上九點多天還是亮的,是全年最好的季節,其他時候則都是雨季了。

    2018年,博四暑假,灣區,Menlo Park。

    這一年回到灣區,在Facebook,體驗是最fancy,最累的一個暑假了。

    原以為之前我已經了解灣區了,但16年其實是在Sunnyvale,Santa Clara這塊,靠東邊,偏熱;18年FB在Menlo Park,公司較高價的電梯大廈在紅木城,這塊靠西邊,溫度跟西雅圖夏天差不多,很舒服,跟16年常活動的區域還是有點遠的。說fancy是因為,17年在微軟,我覺得有免費的咖啡和椰子汁就很不錯了;來了FB,好麼,喝的吃的種樣繁多,微軟就顯得小巫見大巫了;FB樓裡各種有個性辨別的牆,intern program組織的活動也多,認識了很多玩得來的小夥伴。在這也學了很多“黑話”,什麼movefast啦,什麼what does success look like啦……

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    圖檔

    但同時也是最累的一個暑假了,一來因為open space辦公室,大家都坐在一塊兒,業界大佬就在身邊,自然也會想向他們學習,做的優秀;二來FB有mid-term和final review,一般你的mentor們會給你寫feedback,打分,然後有個叫calibration的環節,上面的老闆們會把所有intern放在一起比較,調整分數,要看你跟你的peers比怎麼樣。是以好幾次,忙到晚上3-4點,早上8點就得起來趕班車……

    6. 沒那麼簡單的事

    6.1 Project vs. Paper

    剛入學時,我單純的覺得,好好做research就好了;但事實上,能夠專心做research的時間其實是沒有想象的那麼多的,是要擠出來的,甚至去開會回來,報帳填表準備材料這種雜事,小事,都得折騰掉好幾個小時……

    但更tricky的是平衡project和paper之間的關系。如果你比較幸運,有國家的Fellowship/Scholarship,或者系裡的Fellowship/Scholarship(有的是以TA的形式),不用做所謂的RA,再或者sponsor你的project是純以發paper為KPI的,而且并不care你做的是什麼topic,那你可能沒有這方面的苦惱。

    但是,通常老師們申請grant,很多grant,尤其是金額大的project,通常甲方心裡都有一個确定的想解決的問題,向老師征求proposal,即問題的解決方案,proposal裡面會規劃好每個半年甚至每個季度做什麼task。當然,這裡說的project不包括那種純粹是給外面公司做工程的project,倒還都是research project。經常項目開始的時候,因為proposal是以前定好的,如今環境、state-of-the-art都不一樣了,跟當下情況不符;或者甲方想解決的問題比較practical,是個沒有formulate好的research problem,或者不是community關心的偏基礎的research task。

    舉個例子,你想做的topic是object detection,community關心的dataset是VOC,COCO,但你的甲方關心的可能是某個領域的object detection,比如detect某種野生動物,比如detect不同微生物。經常遇到的是,你提出的方法在VOC,COCO上面很work,但在微生物的dataset上面效果不佳,這樣雖然可以發paper,但是project卻沒有進展。有些項目,在開始的時候會fund好幾個team,然後讓大家比賽,比如在項目内部有個detect微生物的benchmark,讓你們PK,第一年結束,淘汰掉最差的那個team,第二年繼續PK,再末端淘汰。你要是project沒有進展,導緻你導師的項目被砍了,就問你怕不怕……是以,很多同學就走了另一個極端,花很多精力做項目,hack這些project的上的number,很多時候漲點最快的方法是,collect更好的training data,用更複雜的網絡,漸漸變成了解決工程問題,開發了個很牛的系統,但是沒有novelty發paper。

    這種情況下,人的本性,會覺得麻煩,就偏頗一方。但這其實是偷懶,千萬不可。要align雙方的興趣,要注意平衡,trade-off,一方面要project有進展,對sponsor負責,另一方面更要對自己負責,發paper做有impact的工作 比如,盡量focus在模型本身,找到有novelty,在project benchmark和學術界standard benchmark上效果都好的方法。以及,通常一個project開始的時候有很多engineering的活兒,可以暫時放一放純paper research,等system搭起來了,後面就是不斷improve核心算法,這個時候精力更多放在paper這邊。

    拿我自己舉例子,15年底,我開始take charge of一個新的項目,于是16年上半年,基本都在為這個項目搭初步的system,從前端網站到背景資料庫,從裝置采購到system infra,從object detection到multi-modal;等系統差不多搭起來了,我在項目工程上就可以花很少的時間,也有progress去每月report,于是16年下半年,基本在做paper,當然topic做的技術是将來能improve項目system一個核心子產品的;到了17年上半年,系統要開發新的子產品,又是花了三個月在項目工程上;再之後直到博士畢業,都是盡量找到common interest,一個新的模型,對project的system效果有幫助,亦有大的paper research價值。

    6.2 new dataset和new task不是low-hanging fruit

    剛讀博時候,受周圍人影響,很多人都說release一個新的dataset沒有什麼技術含量,輕輕松松發paper還能賺一票引用,是個low-hanging fruit。但當我參與到一個新的dataset的建立過程後,才發現這是一個非常tedious的工作,有很多的髒活累活,很多細節的地方需要考慮。之前v1版本data,可能因為一個細節沒考慮好,需要重新collect或者annotate,費時又費錢,經常要疊代好幾個版本。是以create new dataset一點也不簡單,可能比提出一種新方法的paper,花的時間還要長。

    同樣,以前以為提出一個新的task(所謂挖坑)是個low-hanging fruit,但真正做過之後才知道,也沒那麼容易的。17年底,導師讓我做live detection,也就是,隻根據過去和當下,監測當下發生了什麼事件。我發現之前的工作都沒有很好地evaluate這個問題,formulation上有問題,實際做的是per-frame labeling或者early classification,于是決定提出一個新的task,專門evaluate detection本身。投完paper信誓滿滿,結果被CVPR拒了。reviewer們一方面指出了一個我之前忽略的點,另一方面指出對于有的application,per-frame就可以夠用,不能直接說per-frame用來detection有問題,而僅僅是對于有的應用場景,per-frame用來detection有問題。為此,要大改paper的定位。過程是痛苦的,但正因這個痛苦讓工作更加完善,我們才能成長升華,最後這個工作重投ECCV被大家認可了。

    對于new dataset或者new task的工作,怎麼樣才能做的盡量完善,減少疊代次數呢?我的一個經驗是,這種項目,盡可能involve多的experienced experts參與讨論,及時跟大家溝通,collect不同人的想法。 每個人看問題角度不同,放在一起就會比較完善,群衆的智慧是大智慧。

    6.3 沒那麼難

    說了沒那麼簡單的事,再說說沒那麼難的事。

    萬事開頭難,難在邁出第一步。當開始做survey入門時,發現這麼多文獻要看,會覺得難;當想好idea準備去實作,發現要準備data,要實作的東西一步又一步,會覺得難;當開始寫paper,構思完每個p,發現這麼多内容要寫,會覺得難……

    但實際上,當我們一點一點去完成的時候,會發現完成的速度遠比我們想象的快,文獻一個星期可以看完經典進而入門,paper一個星期可以有個初稿,idea實作起來一個星期可以coding完,甚至跑出實驗結果……其實沒那麼難,就是耐下性子,腳踏實地,幹就完了。

    7. 畢業後何去何從

    7.1 想清楚

    一般大家就是三種選擇吧:去公司,去創業,去學校。這個問題經常會被歸為,想去學術界還是工業界,但我覺得職業本身的差別,可能沒有那麼重要,重要的是想清楚 :

    最想要什麼?最喜歡做什麼?最擅長什麼?未來幾年,哪個選擇能最大地支援自己的需求?

    面對不同的選擇,第一步要做的,就是想清楚,未來幾年在這個新的崗位上,你的最大的需求是什麼?比如說(1)急着用錢,要錢多穩定的工作;(2)家庭壓力大,未來幾年需要個人時間多的工作;(3)做自己喜歡做的事情,并在自己喜歡的事業上有進展。顯然(1)的話是去大公司寫碼;(2)和(3)的話公司和學校都可以,(2)的話去一些老牌的養老型的大公司,或者壓力小一些的學校,(3)的話去發展快速ing的公司,或者top的學校;但如果是(1)和(2),恐怕都不能選創業(特别牛的大佬除外)。

    7.1.2. 最喜歡做什麼?

    人生奮鬥一輩子,最重要的還是要開心,隻有做自己喜歡的事情才會開心;也隻有如此,才能一直一直做下去,做出有影響力的工作。 讓自己開心的事情因人而異:有的人喜歡程式設計,寫一輩子代碼是最開心的,在大公司經常看到年紀很大,還在寫代碼做individual contributor的,人家就喜歡這個;有的人喜歡開車,去自動駕駛行業最為開心;像我的話,喜歡看視訊,拍視訊,剪輯視訊,是以做和視訊了解與生成有關的工作最讓我開心。

    通常一份工作,都是由各種各樣的component組成的,并不隻是非黑即白的。比如說自動駕駛公司,跟程式設計有關,跟車有關,跟視訊有關,跟上面三種人都關,隻要有common interest,能最大地滿足你的需求就行;試想,對于第一種人(最喜歡的事情是程式設計)來說,讓他在自動駕駛公司寫代碼可以,但是當VP做管理或者搞商業啥的,他可能并不開心。而我的話,一路走來,從哥大讀博研究視訊算法,到Facebook搭建視訊工業平台,再到業餘生活中,拍片子制作視訊…在視訊生态鍊的每個環節,我都很開心。

    總之,不同的人,看重的東西不一樣,擅長的東西不一樣,選擇本身并無好壞之分。所有的選擇,總有好的一面,也有壞的一面;隻要适合自己,都是最好的選擇,開心就好。可能唯一要注意的就是,不同時間段,各種影響你做決定的因素的權重是在變化的,年紀大了我們可能會更看重家庭和穩定;有的事情年輕的時候不做,以後可能就沒有機會去嘗試了;魚和熊掌不可兼得,需要取舍。

    7.1.3. Long-term vs. Short-term

    考慮畢業後這幾年選什麼樣的工作時候,一方面想遠一點,你的long-term事業,或者說可以一直做一直快樂的事情是什麼?另一方面,畢業後這幾年short-term來說,是不是曲線救國,短期做的不一定是你喜歡的事情,但是長遠來說對你long-term目标是不是幫助更大?

    7.2 如何找教職?

    目前來說,畢業直接找到教職的難度還是比較大的,很多人會先做個PostDoc,可以一方面積累新的paper,一方面積累新的connection。同時博後期間,可以有更多時間,準備更充分地找教職。

    7.3 如何賺大錢?

    最快賺大錢的方式就是創業了,當然new grad選擇這個的比較少,要考慮你有沒有時間,精力,資金上的壓力和限制?有沒有一個好的business model?作為技術出身的我們,有沒有好的商業合夥人,mentor?

    另外一條路,最多人選的,就是在公司做production,升職加薪,最終财富自由的。經常有人問要不要讀博?我覺得,如果是想走公司這條路的,其實讀兩年的master可能就夠了,save下來的三年,在公司裡面選個發展前景好的組(整個org growth快,進而headcount多的組),可能升職加薪的速度更快。當然讀了博士,手握幾篇paper,是工作能力的證明,找工作更容易,是個敲門磚,否則履歷關可能就被刷了;博士大家庭的師兄師姐,做相同topic的peers,都是将來有用的資源;這個問題也很複雜,我這裡就不展開聊了。

    但是,想走公司一路快速升職這條路的,盡量不要抱着又搞想research,又想做出大的product impact,早期公司裡都沒有用deep learning的時候是可以大展手腳的,但公司已經解決了deep learning從0到1的局面後,再抱着這種思路,可行,但可能升職速度不是最快的,尤其在是未來這十年。大佬們總結這是“拿着錘子找釘子”,更應從product的痛點出發,找到最有價值的釘子,而不是最适合你錘子的釘子。

    當然research對于大公司,一直也是不可或缺的一部分,不光是branding,吸引人才儲備人才;更有一些long-term, high impact的難點技術攻關,可能需要3-5年長度的持續研發投入,畢竟product關注的是短期半年内的效益,很多high impact的東西,在半年内看不到價值,但3-5年後則有巨大的商業價值;另一種普遍的模式,就是research scientist自己,因為喜歡,有搞研究的熱情,通常會選擇跟學校合作,帶intern做純paper的工作,然後自己負責将paper轉化落地到産品裡;亦或,公司出資料和算力,學校出人才,合作雙赢。

    說到升職,再給大家科普一下,比如在Facebook,碩士畢業是3,博士畢業是4,往上升5,6,到6後可以轉manager。朋友打趣說,工業界升職路線就是,技術(engineer)——産品(manager)——銷售(business)-——投資(chao gu,劃掉,capital)。這個路線将來也是要做選擇的,某一天可能你覺得賺的已經夠了,沒興趣再賺了,就提前退休養老了。在灣區plaza,你看着一個中年人,穿着簡樸,平平凡凡,但經常可能就是超級富翁……

    但如果不退休的話,不管是在學校還是公司,四五十歲估計都是比較senior了,需要負責的事兒多,壓力大,經常晚上周末要加班;像我導師這種功成名就的,還是時常收到他晚上1點,或者早上7點發的郵件。當然,有的人退休了又覺得無聊,這就回到開頭說的,想清楚,想要什麼,喜歡什麼,擅長什麼了。

    8. 雜七雜八

    Change topic every 5 years

    畢業那會兒,導師說他剛畢業來哥大時,師爺跟他說,you need to change topic every 5 years。感覺很有道理。如果在博士開始那會兒,開始做一個topic,做了5年,基本這個topic就會飽和了,很難再有大的impact。這個時間點,差不多剛畢業參加工作:如果還是research崗,我們就需要像剛開始讀博士一樣,重新選一個新的有impact的topic開始做;如果是轉production,轉business,那本身就是很不一樣的topic了。樹挪死,人挪活,大概就是這個道理。

    Work vs. Life

    這也是個複雜,需要具體問題具體分析的議題,就不展開聊了。我就簡單分享一下,我所得到的一些advise和一些自己的淺薄體會。

    (1)三選二 :還記得博士入學典禮上,院長跟我們分享說:未來幾年的生活将由三件事組成,工作/學習,睡覺,social/玩;但是,在某個具體的時間,通常隻能三選二,因為時間和精力是有限的。像我自己的話,博士第一學期,以及每段實習期間,選擇的是工作和玩,放棄睡覺時間;博士第二學期開始,則是工作和睡覺為主,常常宅家不怎出去。就是按照自己的需求,在每個特定的時間段,在這三者中做出你的選擇,對你自己負責,不會後悔的選擇,然後該學學,該睡睡,該玩玩。

    (2)身體會變的 :最近前浪後浪的話題很火,其實很有道理,真的很多有影響力的工作,就是人在年輕時候,精力充沛,瑣事不多情況下,才能做出來的。剛來哥大的時候,課業負擔和科研任務都很重,還要參加些social活動,好幾次晚上參加完活動,回到家通宵寫代碼,7點半天亮了睡兩小時,然後9點半啥事沒有地去上課。。現在想想那會真的是年輕,現在讓我通個宵,第二天工作效率絕對超低。。

    (3)做你喜歡做的工作 :公司裡面經常提到所謂work life balance,以前我以為這就是對應工作與娛樂,但現在意識到,其實work也分work input和work fun,life也分life input和life fun,其實input才是工作,fun才是娛樂。input需要我們付出精力,疫情期間注意消毒洗手,這就是life裡多出來的input;fun就是帶給我們的快樂和開心,工作中做成一件事,帶來的成就感也是fun。如果要讓自己過的更快樂,也就回到上一章說的,盡量做自己喜歡做的事情,增加work fun吧。

    談談灌水

    有的時候,經常聽到有人評價一個工作,太水了。誠然,有些工作是水,但如果被頂會接收了,我相信它還是有它的價值。有的時候,減一減戾氣,多看到事物好的一面,這樣我們看這篇paper的時間,才沒有浪費,而是學到了東西,不是嗎?然後,有的新手剛入門的時候,發的第一篇文章雖是頂會,但可能比較naive,不過隻要這篇文章,能給讀者帶來一些insights,讓人學到東西,我還是支援這樣的新手之作的,因為确實積累是需要時間和過程的,中間這樣被頂會認可,其實能很好地激勵新手去continue科研之路。

    常懷感激之心

    一路上得到很多前輩幫助,非常感激。在來到Facebook後,學會心懷感激,感覺是個很明顯的公司文化:每個月組裡的all hands有shoutout session,讓大家在全組面前,表達對工作中幫助了自己的人的感謝;公司有#thanks hub, 可以給幫你的人寫感謝note,而且這個note,對方的manager會看到;而且,很多時候,感覺是很小的事情,大家也會互相道謝;每次開完會,大家也會互相道謝。簡單的一句thank you真的可以讓人幸福感增加不少,畢竟很多時候别人并沒有義務非要幫助我們,這讓大家更願意互幫互助,感覺是個特别好的文化。

    庚子年 · 歲末

    Mike 于 舊金山

    「後記: 慚愧在各位老師、大佬面前班門弄斧了;若是對于有的同學有點幫助,我就很高興了;但不可避免的,因為時間有限,文章寫的粗糙,還請多多擔待;因為篇幅限制,有的問題難以講得完善全面,還請結合自身情況,辯證地借鑒相關經驗;或跟您意見不合,全當看小說,尋個樂子罷了;順祝大家新春愉快,平安喜樂,萬事勝意;希望疫情早日過去,世界和平…」

    歡迎加入我的知識星球,一起探讨架構,交流源碼。加入方式,長按下方二維碼噢:

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    已在知識星球更新源碼解析如下:

    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八
    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八
    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八
    我在哥大讀博的五年,萬字總結0. 寫在前面1. 萬事開頭難 (第一學期)2. 方向比努力重要3. 談談Presentation4. 記四次開會5. 記三次實習6. 沒那麼簡單的事7. 畢業後何去何從8. 雜七雜八

    最近更新《芋道 SpringBoot 2.X 入門》系列,已經 20 餘篇,覆寫了 MyBatis、Redis、MongoDB、ES、分庫分表、讀寫分離、SpringMVC、Webflux、權限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能測試等等内容。

    提供近 3W 行代碼的 SpringBoot 示例,以及超 4W 行代碼的電商微服務項目。

    擷取方式:點“在看”,關注公衆号并回複 666 領取,更多内容陸續奉上。

    文章有幫助的話,在看,轉發吧。
    謝謝支援喲 (*^__^*)
               

    繼續閱讀