人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

程式設計師的成長之路發表於2020-03-17

來自:機器之心

你每天都在用的 QQ 微信,是如何被打造出來的?


作為國內科技巨頭,騰訊的產品早已覆蓋到了每個國人手中,不過這家公司對於自身技術一直比較「低調」。3 月 9 日,騰訊正式對外發布了《騰訊研發大資料包告》,首次披露了 2019 年公司在產品及技術研發方面的重要資料,這是騰訊自技術委員會成立以來第一次主動對外披露研發相關大資料。


讓我們看看過去一年裡,騰訊的工程師們是如何工作的。


研發人員佔比 66%,新增 12.9 億行程式碼

 

報告顯示,騰訊在研發投入上持續加碼。

 

2019 年,騰訊研發人員佔比高達 66%,在中國諸多科技公司中位居前列。同時,騰訊 2019 年新增研發專案超過 3500 個——隨著騰訊全面擁抱產業網際網路的戰略推進,2019 年 To B 專案數量比 2018 年增長了 77%。

 

在程式碼數量上,2019 年騰訊新增程式碼行數高達 12.9 億,相比 2018 年增長了 30%。如果按照員工人數 5.5 萬計算的話,每名研發人員每年貢獻程式碼的數量是 3.6 萬行。

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

在研發效能方面,騰訊同樣表現亮眼。
 
自 2006 年起,騰訊就開始推動研發模式的敏捷進化,在長期的敏捷研發實踐中,騰訊開發人員構建出了騰訊敏捷協作平臺 TAPD 和騰訊工蜂兩大工具,可實現對使用者需求的快速響應。
 
TAPD 提供產品研發全生命週期解決方案,支援敏捷需求規劃、迭代計劃跟蹤、測試與質量保證、持續構建交付、研發效能度量及研發知識沉澱等全過程研發實踐,助力研發團隊敏捷高效協作與高質量交付。2017 年 TAPD 對外開放,騰訊將寶貴的研發模式、實踐及工具對外輸出,助力企業提升研發效能,目前已服務數 10 萬家企業。
 
而騰訊工蜂是騰訊歷時 4 年打造的分散式企業程式碼管理協作解決方案。具備程式碼檢視、分支管理、會話式開發、整合定製、審查和監控等企業級研發管理系統特性,助力企業貫穿研發流程,讓開發和研發管理更加敏捷高效——值得一提的是,與騰訊 TAPD 一樣,騰訊工蜂也已經對外開放使用。
 
資料顯示,騰訊 60% 的專案團隊規模在 20 人以下,47.8% 的專案迭代週期在 1 周之內,平均每天完成使用者需求 3802 個,而 28% 的需求可以在 1 天內得到響應。另外在 Bug 處理方面,46% 的 Bug 在 1 天內得到解決,82% 的 Bug 在 1 周內得到解決

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

在研發的持續交付方面,騰訊平均每週構建次數達 80 萬次,專案年均產物大小 600G,年均交付次數 3000 次,推動修復程式碼 Bug 和安全漏洞 14 萬個,編譯加速累計節省編譯耗時 1.9 個萬小時。

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

「騰訊工程師在用哪種程式語言?」可能是外界最關心的問題之一。隨著騰訊雲端計算和大資料相關業務的迅速發展,Go 語言首次躋身騰訊程式語言排名 TOP5;整個 2019 年,騰訊內部使用最多的五種程式語言分別是:C++、JavaScript、Go、Java、Python。

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

在技術管理人員的研發參與度上,騰訊保持著強大的活力。報告統計的結果表明,在騰訊,74% 的技術 Leader 仍在持續輸出程式碼,2019 全年,平均每人輸出程式碼 3 萬行,參與 140 次程式碼評審;38% 的 12 級及以上技術專家潛心編碼,平均每人輸出程式碼 3.3 萬行,參與 155 次程式碼評審。

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!


開放協作,騰訊技術大變身
 
對於騰訊來說,上述成果的取得,離不開騰訊 2019 年對最佳化技術研發環境、提升研發效能的重視。
 
2019 年 1 月 4 日,騰訊技術委員會正式成立,由騰訊高階執行副總裁、技術工程事業群總裁盧山和騰訊高階執行副總裁、雲與智慧產業事業群總裁湯道生兩名騰訊總辦成員親自牽頭,下設「開源協同」和「自研上雲」兩個專案組和對外開源管理辦公室,以此來促進內部程式碼的開放共享和協同共建,在內部開源基礎上加碼對外開源,並推動業務在雲上全面整合。
 
在開源協同理念提出之後,騰訊從各個事業群梳理出了一些相對基礎性的技術版塊率先進行了開源協同的實踐,其中騰訊 CI 就是一個較為典型的例子。騰訊 CI Oteam 是騰訊內部的一個跨團隊虛擬組織,由 IEG(互動娛樂事業群)的藍鯨團隊牽頭,組織相關團隊和個人共同進行騰訊統一的持續整合交付系統——騰訊 CI 的開發建設及運營,旨在減少重複勞動、提升研發效能。
 
經過一年時間,騰訊在內部的程式碼開放和技術協同方面已經取得一定進展。
 
截止目前,騰訊 CI 的 Oteam 中,共有來自全騰訊的 303 名開發人員提交了自己開發的外掛,用於對接各個事業群在 CI 流程中會用到的內部系統。
 
報告資料也顯示,在技術協同方面,騰訊內部參與最多跨團隊研發專案的人,為 24 個協作專案貢獻了力量;涉及部門最多的研發協作專案,凝聚了 12 個部門的智慧;跨團隊協作參與度最高的部門,加入了 113 個研發協作專案的建設。
 
在過去一年,透過開源協同,騰訊各個事業群最底層和共性的技術能力進行梳理和拉通,建立篩選機制,推動優質開源協同專案對外開源。改變了原來「自下而上」純自發開源的路徑,採取「自下而上」與「自上而下」相結合,自發與自覺相結合的開源新模式。
 
在內部開源方面,騰訊內部整體程式碼開源率由 2019 年年初的 20% 增長至年底的 70%,程式碼協同共建已成為一種趨勢。其中,2019 年騰訊內部新增協同程式碼庫超過 4400 個,Q4 較 Q1 增長了 56.3%。其中包含 53 個公司內部重點開源專案(涉及 400 多個程式碼庫)在進行協同。

在外部開源方面,截至 2019 年年底,騰訊在 Github 自主開源專案數為 92 個,貢獻者超過 1000 個,獲得 Star 數超過 27 萬,在 Github 全球公司貢獻榜上的排名穩居前十。

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

2019 年全年,騰訊開源超過 22 個專案,包括 TubeMQ 億萬級分散式訊息中介軟體、TencentOS tiny 自研輕量級物聯網作業系統、TKE 騰訊雲容器服務和 TBase 企業級分散式 HTTP 資料庫管理系統都在 2019 年接連開源。
 
2019 年,騰訊和開源社群的合作也發展到了新的階段,Angel 專案完成了從單一的模型訓練平臺到全棧機器學習平臺的技術演進,成功從 LF AI 基金會畢業;TARS 專案成為開源社群僅有支援五種開發語言並有完善服務治理和運營平臺的微服務開發框架。此外,騰訊還作為創始會員,加入了 LF Edge 基金會,和業界合作伙伴一起推動邊緣計算軟硬體開源技術的發展。
 
開源協同,騰訊的新程式碼文化
 
騰訊程式碼文化的誕生,可以回溯到 2013 年。在公司「開放」戰略升級的背景下,騰訊提出了程式碼的「開放、複用和合力開發」。以往騰訊的開源文化更多是自下而上的,而在 2019 年騰訊技術委員會成立後,自上而下的開源協同機制建立,以「開源、協同、雲上生長」為核心的騰訊新程式碼文化快速成長。
 
2019 年 1 月,在騰訊技術委員會的指導下,騰訊技術社群「碼客」和「技術圖譜」上線。在近一年的時間內,每個月有超過 80% 的技術人員訪問碼客社群和技術圖譜進行技術討論和協同,社群上提問數量近 3000 個,回答與評論達 15 萬次,94% 的技術難題都得到了回覆。
 
2019 年 11 月 11 日,騰訊在成立 21 週年之際宣佈企業文化 3.0,其中將「合作」升級為「協作」。這一改變實際上具有明確的價值導向,就是要「開放協同,持續進化」——從某種意義上,這也充分契合了騰訊內部的技術和程式碼文化:對內要大家放大格局、開啟邊界,以開源的心態與各組織協同,用符合網際網路思維的方法和工具進行協作。

在今年抗擊新冠疫情的過程中,騰訊的技術文化也發揮了作用。
 
報告顯示,在 2020 年新冠肺炎疫情期間,騰訊迅速出擊,在智慧教育、智慧醫療、遠端辦公、智慧政務等各個領域推出相應服務,騰訊會議、企業微信、TAPD、騰訊工蜂、騰訊樂享等多款 To B 產品全面升級功能、免費開放,支撐抗擊新冠肺炎疫情工作。

人均 3.6萬行程式碼, C++ 成最燙手山藥:騰訊首度披露技術研發資料!

春節期間,騰訊有 8000 多名研發人員透過遠端研發協作方式投入抗疫戰鬥,為了給社會提供更好的服務,各領域產品及時響應、快速迭代,共提交程式碼 14.7 萬次,52% 的需求在 1 小時內就能得到響應。

各領域產品全力抗疫的背後,是騰訊研發能力多年的沉澱,也是騰訊技術文化實力的展現。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900357/viewspace-2680789/,如需轉載,請註明出處,否則將追究法律責任。

相關文章