不知不覺,在M$干了三年多了,大大小小做了4-5個項目,總的來說,以M$作為職業生涯的起點算是個不錯的選擇。
這三年學到了很多東西,值得我專門寫這篇總結:
- 外企的英文郵件訓練極大的提高了我的英語讀寫能力,現在不知不覺也能寫一篇很長的英文郵件了,讀技術書也偏向於直接讀原版,這點感覺獲益很大;
- 三年基本都在做Bing,搜索方面的基礎和架構知識學到了很多,也體驗和學習了公司如何構架這樣一個互聯網最有難度的服務,老實說,微軟在認准了一個項目,確實會非常有耐心等待它成長壯大,從以前的Xbox,到現在Bing,之前很多投資人建議微軟放棄Bing,但是它依然投入,到今年,剛剛成為1 Billion美元的業務,首次實現盈利,不得不說微軟的眼光和耐心在業界是十分良心的;
- 機器學習方面,算是剛入門,了解了如何應用它去解決搜索相關的問題,當然我的專注方向以后會是偏工程的分布式計算存儲和后台開發,但是機器學習也是必須要有所了解的;
- 出了兩次差去美帝,感受了下西雅圖的自然和人文風光,體驗了下資本主義的生活,這個也算是增長了見識;
多說一句,外企對員工的尊重個人感覺是國內企業需要認真學習的,目前很多國內互聯網企業只學到了形(指工作環境,免費水果零食等),而未學到神,例如外企對員工的個人時間非常尊重,員工只要提出年假申請,沒有特殊情況都會批准,15天的年假確實很是慷慨,但這並沒有影響員工的工作效率,實際上我休假的時候也是會抽時間回郵件的,外企對員工家屬也會有相當的關懷,例如每年的家庭日,會邀請員工家屬一起在某個地方玩,這兩年都是免費歡樂谷游玩,這些點點滴滴讓員工充分體會到,公司不僅僅需要你,希望你快樂的生活並長時間的為公司服務;又例如大部分外企不會過於看重你以前的經驗,那個有當然好,沒有只要你能展現出很強的編程能力,設計能力和算法能力,依然會錄用你,並願意給你充分的時間學習和成長等等。
這次決定跳槽找工也是想了很久,主要原因在於自己技術的發展不能一直局限於微軟技術棧,同時也希望能做更有挑戰的事情。
不過基本沒有准備,因為家庭事也比較多時間有限,所以就去直接投簡歷面試了,業界對微軟還是相對認可,基本都有面試機會。
- 小米 (Offer),面小米(指小米雲平台),是覺得總體來看小米雲是個不錯的平台,現在工作5天,強度不會太大,而且小米雲里面聽說牛人不少(3個Hbase comitter,很多組有大部分都是微軟,Google等公司的),也符合自己專心做后台系統開發工程師的職業目標,總的來說,面試體驗不錯,一共4面,沒有經理面,全是工程師面技術,大部分是算法,少部分系統設計,難度不會太大;
- FreeWheel(1輪電面+2面技術+hr面fail),面的高級工程師,兩輪技術都是系統設計,這里提一下,FW的技術難度還是有的,傾向於問的比較深,但是我被拒的原因Hr說是每個項目的時間不夠長技術深度不夠,這點讓我很意外,因為,我感覺面試官也並不了解搜索引擎,侃了半天項目,我覺得並沒有特別清楚面試官想問什么,最后終結於我不是很熟悉的NLP相關算法,而且因為項目時間不長就推斷出技術深度不夠,這點我不是很認同,當然hr表達願意給中級工程師的offer,要我等一個月去申請,我說還是算了;
- 美團(Offer,2輪技術),美團是我面試體驗最不好的,面的外賣部門,可能急於擴張吧,等了40分鍾不說,問的問題也比較容易,甚至有點。。。,完全考察不了個人能力,不說了,美團的hr還是不錯的,最后為了挽留開到了和小米差不多的薪資,我最后還是沒答應;
- 今日頭條(2輪技術+總監,fail),要我推薦一個創業公司給技術人員,我會毫不猶豫的推薦今日頭條,面試體驗很好, 基本都是百度系,從技術到總監都是百度過來的,技術水平不錯,我面的基礎架構部門,在分布式這塊確實很有積累,因為這個APP本質上就是個新聞垂直類搜索+推薦的引擎,只是總監面發揮不好,遺憾的沒拿到offer。
- 滴滴打車(2輪技術,fail),滴滴的產品開發部面試讓我充分體會到國內互聯網公司對程序員招聘的態度,因為常年在微軟技術棧開發,對開源技術了解不是很多,雖然我們內部都有對應的平台,但是滴滴的工程師明顯希望過來直接能用,面試問了很多具體的細節知識(C++,網絡,OS等),由於沒提前准備很多沒答上來,所以沒拿到也在情理之中。
這次面試頗有感觸,從難度上說,今日頭條>小米>FW>滴滴>美團,沒能拿到今日頭條也是頗有遺憾,但也給我們外企工作同學的提了個醒,現在早已不是外企的黃金時代了,隨着互聯網的發展,中國企業已經能夠展露頭腳,從薪資到技術都能做到不錯的水平,但由於對員工的重視以及其他方面還沒有做得外企那么好,所以基本上去國內公司要做好吃苦的准備以及需要相當的適應期。同時國內企業的用人觀與國外是非常不一致的,國內大部分公司對招聘人員需要拿來即用,基本不願意給你學習時間 (可能跳槽頻繁所致),對你的技術棧也非常在意。
工程師的工作需要自己不斷的挖掘,總結和抽象自己的工作,對感興趣的點深挖(做到廣度有的同時兼顧深度),並不斷更新自己的簡歷和Github上的代碼,這點是很重要的。
工作生涯的前五年是很重要的成長期,前三年我感覺自己過分注重技術廣度的積累對深度挖掘不夠,接下來要好好深挖提高下自己對分布式系統以及后台相關開發技術的理解,同時精讀一些網絡,操作系統,編譯原理以及數據庫等基礎經典書籍,多花點時間寫寫感興趣的代碼才是王道。