一名程式設計師十年技術之路的思考與感悟

pythontab發表於2014-10-11

回顧在騰訊的十年,作為一個本科畢業生,在管理上六年升任副總監,技術上七年半晉升 T4 專家。雖不是發展最好的,但相對平均速度來說都是比較快的。我總結主要的幾點是學習成長、合作共贏、總結呈現、思考前行。分享一下這些方面的體會,希望可 以幫助初入網際網路行業的技術人員或發展遇到困惑的人突破和提升自己,讓自己成為精兵再到骨幹,並進一步成長為一名強將。


要成為一個團隊的精兵,必須是專業知識過硬,經驗豐富,指哪打哪,能夠非常讓人放心的完成領導安排的任務的人。要做到這些,學習和實踐是最直接的路 徑。通常一個畢業生,剛進入企業的時候,所學的知識並不能 100% 勝任崗位的需要,這個時候,快速地學習補充自己的知識缺陷就顯得非常重要。在企業裡的學習和實踐,要注意以下幾點。


1.藉助導師、同事資源。這樣可以讓自己快速解決遇到的問題,少走很多彎路。

我剛畢業時的導師就對我有問必答,直到現在和同事講起我的導師時,我都會說他是我工作以來遇到的技術最全面的、最佩服的人之一。


2.系統化的學習工作所需要的是基礎知識,而不是到百度或谷歌查資料解決。

這樣有助於遇到問題後透過相關知識關聯分析,也有助於搭建更合理的技術架構,或改進現有技術架構的不足,讓知識形成協同效應。為了讓沒有做過研發的 運維同事對研發不覺得神秘,能夠去分析異常故障深層次原因,我特意開發了《直觀認識網路通訊》、《直觀認識程式間通訊》、《直觀認識 HTTP 協議》等幾門課程,將這些知識體系化地透過一個個的小程式案例傳遞給我們的同事。


3.除了工作中需要的新知識外,建議在工作一段時間後再回頭系統性學習相關專業基礎知識。

因為在學校的學習多數都缺乏實踐,很多知識的掌握比較粗淺,在工作一段時間後重新再學,會有完全不同的收穫。比如,我有了一段時間排查業務異常和網 絡問題的經驗後,又將學校讀過的《TCP/IP 詳解卷1:協議》①讀了一遍,發現收穫特別多,很多實際業務在異常時表現的現象都和書上講的對應起來了。一些只在書上看過但無法在試驗環境模擬的現象都在 實際工作中找到了場景。


4.藉助平臺學習成長。

實際工作中,爆發式增長的業務或大平臺是一個人快速成長和進步非常好的資源。因為爆發式增長的業務會讓你在很短的時間內遇到在其他地方好多年可能都 不會遇到的問題,而大的平臺一定是從小而來,趟過很多的坑,在這樣的環境中,保持一個好奇好學的心態,可以快速提高自己。比如,在 QQ 空間業務開始爆發增長的時候,有段時間我曾經十天裡有六天夜裡和同事一起分析解決業務異常,經常持續幾小時甚至到天明,也正是那段時間,遇到了別人幾年才 有可能遇到的各類問題,讓自己知道該補充什麼知識,在後續的運維工作中對我有了很大的幫助。


5.如果可以對自己進行細分定位會更好。

就如同我和我的團隊在過去的七年裡都經歷了工作內容和崗位的細分一樣,現今社會是一個資訊爆炸的時代,IT 技術也是不斷地出現新的技術分支,要想每一樣都做到精通是非常困難的。所以結合自身情況以及工作需要,對自己有一個更加細分的定位,這樣做精力才能聚焦, 更有可能快速在你所做的領域不斷深入,進而成為專家。而如果你想要成為一個綜合性的人才,也可以考慮透過階段性專注於某一細分領域,重點學習積累,具有一 定深度後再切換重點關注領域。


隨著經驗的增長,從精兵變成骨幹,我們所從事的工作會逐漸由簡單直接變得複雜綜合且無法獨立完成,這時候就需要團隊協作甚至跨團隊、跨部門推進。這個時候就需要我們很好地協調平衡各方資源,推進專案達成目標,並將團隊的業績最大化展現,獲得肯定。在這個過程中,要注意以下幾點。


1.保持開放的心態。

需要在溝通合作中更多的換位思考,多創造一些雙贏的機會。平時先幫助兄弟團隊或同事完成目標,等到自己團隊需要幫助的時候,也一定會有兄弟團隊或同事出來幫助你。


2.找到一些對大家都有幫助,大家又都感興趣或可以學到新東西的事情。

比如我前面提到的速度最佳化虛擬團隊就是一個例子。


3.注重成果總結和展現。

我在公司職級晉升以及一些技術獎項評審中發現有不少人或團隊所做的工作成績非常突出,但在答辯的時候講得很一般,平時很辛苦,最後呈現很糟糕,沒有 透過評審或取得的成績比較靠後,很可惜。職場不是一個只有一次機會的演講,更像一個馬拉松。對於不善表達的人來說,可以更多地注重利用日常工作中透過各類 文字的形式表達場景,這樣可以在長期的工作中,讓周圍的同事和領導瞭解自己及團隊的工作成果。


4.注重平時的資料積累。

總結展現不好,很多情況也是由於內容不夠豐富有價值。為了解決這個問題可以養成將一些日常工作中堅持將成果郵件、PPT、資料圖表等案例分類彙總保留。這樣在需要總結的時候資料會很豐富,有內容就不怕講不出。


很多骨幹走上管理崗位後,隨著管理人數和團隊的增加,會發現以前由領導指派的清晰目標逐漸沒有了。團隊部分成員甚至一些團隊整體都會困惑應該做什 麼,除了不斷重複一些任務和工作外,團隊成員長遠的發展是什麼等關鍵問題不明晰。如果這個問題得不到很好的解決,那麼團隊就可能出現不穩定、士氣不高、戰 鬥力差等情況。


這個時候是很難的一個坎,因為以前不管是單兵作戰,還是團隊專案,目標多數比較明確,但在帶領一個較大規模的團隊時會發現,自己的工作內容往往不再是如何完成一個既定的目標,而是思考該做什麼,我該將團隊打造成一個什麼樣的團隊,怎樣幫助團隊成員的發展,等等。


我自己也作了一些思考和探索,比如我在運維團隊裡以減少運維物件以及按專業分工的思路將團隊分工不斷細化,並嘗試清晰地定義每個團隊的核心工作職 責,讓大家在自己團隊核心工作職責的方向上不斷沉澱,透過積累建立起和別的團隊差異化的經驗,形成自己獨有的經驗和平臺優勢。另外,提出“服務產品、服務 研發、服務自己”的理念,特意將產品放在第一位,研發第二位,希望引導運維團隊有產品意識,尋找更多的辦法去幫助產品、協助研發,從而讓產品更加成功。而 不是隻著眼於自己的運維效率,做一個純粹的支持者。只有做好這個思考和探索,我覺得才能真正轉變為一個強將,我自己依然在這樣的思考與探索的路上。


希望每一個剛進入網際網路行業的技術人員或發展遇到困惑的人都能突破自己,從精兵成長為強將。


相關文章