在騰訊實習的兩個多月,我學到了什麼?

CoderMing發表於2019-03-31

作者於 2019 年 1 月份開始在騰訊深圳 PCG 實習了兩個多月,在此將所習得的知識分享給大家。作者技術棧為前端,但文章內容大多為實習期的「經驗」與「想法」,具有普適性。


學校的櫻花開了,上次見還是枯枝一片。

轉瞬間兩個余月已過,也到了我騰訊寒假實習結束的時候了。

還記得初來深圳時的興奮,而現在離職的不捨卻更甚之。在這兩個多月裡,我真真切切地感受到了騰訊的企業文化。無論是自由開放的辦公氛圍,還是全方位關懷的員工福利,都讓我感到驚喜。

當然,出來實習收穫最大的是在公司的實習經歷。作為一名象牙塔內的學生,這兩個月時間對我的意義無疑是極其寶貴的。在此,我將這次實習期中所得到的一些感悟寫成此文,分享給大家。

直面失意

在我剛來到公司的時候,一腔熱血的我被配環境折騰得毫無動力,同時看到周圍前輩同事可以碾壓我的實力,頓覺自己太菜了,打醬油都不夠格。這種理想與現實間巨大的差距,讓我逐漸意識到,自己的能力並沒有想象中那麼強,公司裡的開發環境並沒有想象中那麼美好。

在你拿到實習 offer 的那一刻,你是什麼想法?我想大多數人都會覺得自己會在公司大展身手。此情此景,有沒有想到高考錄取結果出來的時候?那時的我們一樣狂妄地說要拿國獎要保研,但最後 90% 的同學都會歸於平庸。究其原因,是 我們在尚未了解新環境的情況下很容易錯估自己的實力,而多數人無法接受不如預期的自己。 之前看到過騰訊校招 HR 留給應屆生的一段話,我覺得放在這裡很合適,願你我一起共勉。

未來對於很多人來說一個很大的風險就是如何去面對沒有想象中美好的生活,這是比技術、比工作效率更底層的修煉。不能直面失意,人生終將碌碌無為。

多查,多問

在騰訊,每一位實習生都會有一位導師指路。同時公司內也會有很多資源可供學習,這些都是可以用來在工作過程中提供幫助的。有問題可以先查資料,實在查不到就直接嚮導師或者其他前輩尋求幫助。

每一個實習生剛來到公司的第一件事一定是配環境。由於不同專案採用的技術棧不盡相同,外加上公司內繁瑣的許可權申請流程,如果沒有一個人手把手教的話可能會卡很久。這個時候請不要自己一個人摸索,有不熟悉的流程主動去找導師。因為他輕車熟路的 10 分鐘,會比你自己鼓搗一個下午更有用。同時有一些操作是你無法自己探索到的——之前部署程式碼在測試環境出現了 bug,我以為只能通過開發環境不停地試,結果詢問導師後給了我一個測試機的賬號,我直接登上去查 log,很快就定位了報錯。如果我當時不問,可能就會被這種矇住雙眼的 debug 方式耗上半天。

這裡有同學會想了:“我這樣煩導師,會不會不太好啊?”我在與導師談心的時候聊過這個問題,他的回答讓我放下了擔憂:“是很煩啊!但是誰不是這樣過來的呢?” 是啊,誰不是麻煩別人指導過來的呢? 前輩們也都是通情達理的人,只要你有求知的熱情和不恥下問的態度,他們也都會包容你的。

以正式員工的標準來要求自己

我們組的前輩們都是比我經驗多很多的大牛,這讓我在最開始與他們的交流中畏手畏腳,總會擔心問的問題太簡單讓別人笑話,但我啥都不敢說也就意味著啥都學不到。入職幾天後,leader 找我聊天,我將自己的苦惱丟了出來,他首先安慰我每一個新人都是這樣過來的,其次糾正了我對自己的錯誤定位。他說到,雖然你是以實習生身份進來的,但是在大家眼裡 我們都是公司員工,無分等級。

之後我試著用正式員工的標準要求自己,與別人交流時不要總擔心問題太愚蠢,需求評審的時候不要覺得自己沒發言權(不要怕懟產品hhh)。果然,以一種平等的身份去與人交流,效率就會高很多。當我破除了內心給自己預設的「實習生」枷鎖後,我真真切切地感受到了自己思維和態度上的提升。畢竟一名優秀的實習生就是未來的正式員工, 與其讓時間推動你的成長,不如突破自我設限,以先入為主態度來要求自己。

讓別人覺得你「靠譜」

「靠譜」是對一個人最重要的評價之一,它意味著信任。而我作為一名未被認可的實習生,就需要用表現贏得別人的信任。下面是我總結到的幾點:

  • 讓別人能經常得到你的反饋。 實習生一般都會要求寫日報,這就是為了讓導師能及時瞭解你當前的狀態。同理,我們在與他人合作時,最好定期主動彙報當前的開發進度,讓別人能感受到你正在做事。在開發過程中遇到了問題,及時提出問題並附上自己的思考,讓別人瞭解你面對問題是會主動思考的。如果你不主動去反饋,等別人想起你來催你的話,你就可能會被打上「擠牙膏」的印象。
  • 不輕易做承諾,但承諾必行。 承諾是給別人的定心丸,它的說服力取決於別人是否認為你可靠。而一個滿嘴跑火車給承諾的人基本上是不可靠的。同時言出必行是我們營造可靠印象的最佳方式。在公司內,如果一個需求流轉到你這裡了要進行排期,請給自己預留充足的時間。打比方說一個需求你最終做完需要3天時間,但你當時答應的是兩天出貨,別人就會認為你不靠譜,但如果你當時答應的是4天,那你就是超出預期。結果雖然相同,但給別人的印象卻截然不同。如果在做需求的過程中發現的確做不完了,一定要第一時間反饋給大家,及時採取措施來確保需求順利完成。如果你選擇死扛到上線前一天再說做不完了,造成的損失就不只是別人對你的印象了。
  • 先規劃好,再去行動。 在公司內,比較大的需求都會進行評審,這就是為了讓大家對整個需求的流程有一個理解和規劃。拋離需求不談,我們在日常寫程式碼之前也應該有這樣的前奏。做任何事前先把開發規劃做出來,然後給導師審閱。這樣其一是可以讓導師及時糾正你邏輯的不足之處,其二是可以讓導師瞭解你的思維。
  • 向大家展示你的技術輸出。 在保證基本任務完成的情況下,可以讓自己有一些技術輸出。我平常喜歡翻譯文章,於是就利用閒暇時間翻譯了幾篇。之前為了方便未來新人配環境,我就給自己總結了點指南。這樣做其一是讓自己有一些成長,其二是給你自己塑造一個富有熱情和思想的正面形象,提高對你的認可度。

良好的溝通是一切的基礎

溝通的重要性不言而喻。我曾認為我自己是一個善於溝通的人,但來到公司後卻發現自己這塊欠缺的太多了。下面是幾點心得:

  • 溝通前先組織好語言,最好畫思維圖。 我有一個毛病,就是每次交流的時候都希望能把所有可能有用的資訊都丟給對方。但在公司裡別人不會給你機會說這麼多。這時候你就需要在溝通前把邏輯先理清楚,分清楚主次,有針對性地進行交流。
  • 注意換位思考。 在與產品就一個需求討論時,以技術的角度去解釋不一定能讓被人聽得懂。需求是給使用者用的,我們就應該從使用者的角度出發,去溝通需求。
  • 闡述事實要說全,不要夾雜自己的加工。 有一個著名的溝通問題叫做 “X-Y”問題,大意是你想解決 X 問題,但卻向別人求助 Y 問題(因為你覺得 Y 是 X 的解決方案),最後事實證明 X 與 Y 毫無關係,導致了一次無效的溝通。這就說明在闡述問題階段,我們不要夾雜自己的加工,要讓別人能不受干擾地去幫你解決問題。
  • 線下永遠比線上的交流管用。 有一次測試測出了一個bug,經過一小時的線上溝通後我們仍未解決。然後我線下找到他,操作他的電腦後 5 分鐘處理好了。線上資料傳輸的媒介只能是文字、語音,但線下我們的溝通互動性更強,也就會更高效。

最後,我推薦給大家兩份資料:《提問的智慧》中文版記錄一些常見的溝通問題

要有團隊意識

組內多人協作,這也是我在公司內學習到的很重要的一部分。總結如下:

  • 定需求的時候要去參考他人的進度。 之前有負責過一個和後臺合作的需求,我這邊必須得等後端完成後才可以繼續開發。這時候專案排期就要考慮到後臺那邊的進度了。同理,專案在進行過程中,我們也要去把握住他人的進度,來看自己會不會受到影響,需不需要去幫忙。
  • 寫程式碼要去考慮他人,文件很重要。 之前做一個需求的時候沒有分清楚開發環境和線上環境,導致一個 Server 在多處跑,這就是我沒有考慮他人的結果。除此之外,包括程式碼內的註釋,也要儘可能地寫全。某些有特定功能的程式碼都需要清楚註釋。同理,如果有一個新 feature 實現了,最好跟進一份文件,來讓大家都能弄明白使用方式。

不過作為一名實習生,我並沒有過多機會接觸到組內協作以及大型專案的開發。我想這也是我日後所需學習的一大方面。

保持主動,保持熱情

此段的標題是我的座右銘,也是我大學以來一直踐行的信條。

第一次和導師談心的時候提到了這樣的話題:怎麼樣才能在實習生中脫穎而出?他的回答是: 在完成好本職工作的前提下,能有自己的想法和求知慾。 總之來說,完成 leader 給你的任務只是基本要求,想要做到傑出,就要有自己的想法。

  • 寫程式碼時考慮如何做到更好。 之前做一個線上專案時,涉及到一個資料庫查詢效能優化的問題。當時我覺得自己可以寫一個快取類,就動手實踐了下,後來在與前輩們交流的過程中,他們針對我寫的這個類提了很多優化的建議,包括 LRU/LFU,增加鉤子函式等等。再往後我發現專案是多線程式的,程式間記憶體不共用,於是我就去看了專案框架的原始碼,進而瞭解到了 NodeJS IPC、多程式管理、Redis 的相關知識。
  • 不要放過學習的機會。 我們組有一個比較大的新專案,進入了 CodeReview 流程。按理來說這個專案我沒有參與過開發,但我還是提出了參與申請。於是在 CodeReview 之前我去粗略地看了一遍那個專案的程式碼,等到 CodeReview 時我儘量地去理解幾位前輩的講話,瞭解他們開發時的一些思想,去思考為什麼這麼做。
  • 主動 show 自己。 有段時間我把手中的需求做完了,就去檢視組內剩餘的需求單。然後找到了一個「機器人助手」的優化需求,因為自己比較感興趣,於是在有了大概技術方案後主動請纓把這個活攬了下來。後面這個需求越做越大,本來只是寫一個定時器指令碼,最後演變成了三個模組,不僅服務於小組內,也具備了服務於其他團隊的能力。

結語

這兩個月時間挺累的,不只是身體上的累,更多的是以學生思維在公司環境中的不適應。我想每一位同學都會經歷這個過程吧——我們正如璞玉,匿於石中只將平凡暗淡,歷經雕琢才能熠熠生輝。

縱使千般留戀,我仍要拾起這段經歷,走向下一段路途。而這兩個月的收穫,我必銘記於心。

(完)


題圖:學校的櫻花 @重慶郵電大學招生辦公室(微信:cquptzb)。


相關文章