当前位置: 首页 > 科技观察

人均36000行代码,最爱C++:腾讯首次公开技术研发数据

时间:2023-03-13 19:17:17 科技观察

大家日常使用的QQ微信是如何打造出来的?作为国内的科技巨头,腾讯的产品早已经铺满了每一个国人的手中,但该公司对于自家的技术却一直比较“低调”。3月9日,腾讯正式发布《腾讯研发大数据报告》,首次披露公司2019年产品和技术研发重要数据。这是腾讯自成立以来首次主动披露研发相关大数据。技术委员会。让我们看看过去一年腾讯的工程师们是如何工作的。研发人员占比66%,新增12.9亿行代码报告显示,腾讯持续加大研发投入。2019年,腾讯研发人员占比高达66%,在众多中位居前列中国科技公司。同时,腾讯在2019年新增研发项目超过3500个——随着腾讯全面拥抱工业互联网的战略,2019年ToB项目数量较2018年增长77%。在代码数量方面,腾讯2019年新增代码12.9亿行,较2018年增长30%。如果按照5.5万员工人数计算,每位开发者每年贡献3.6万行代码。在研发效率方面,腾讯同样表现不俗。从2006年开始,腾讯就在推动研发模式的敏捷演进。在长期的敏捷研发实践中,腾讯开发者打造了腾讯敏捷协作平台TAPD和腾讯工蜂两大工具,实现对用户需求的快速响应。TAPD提供产品研发全生命周期解决方案,支持敏捷需求规划、迭代计划跟踪、测试和质量保证、持续构建交付、研发绩效衡量和研发知识积累等全流程研发实践,帮助研发团队快速高效协作以高质量交付。2017年,TAPD对外开放,腾讯输出有价值的研发模式、实践和工具,帮助企业提升研发效率。目前,已服务10万家企业。腾讯工蜂是腾讯历时4年打造的分布式企业代码管理协同解决方案。具备代码检查、分支管理、对话式开发、集成定制、评审监控等企业级研发管理系统功能,帮助企业贯穿研发流程,让开发和研发管理更加敏捷高效。值得一提的是,与腾讯TAPD合作的腾讯工蜂也同样对外开放。数据显示,腾讯60%的项目团队不到20人,47.8%的项目迭代周期在一周以内,平均每天完成3802个用户需求,其中28%的需求可以在1周内响应天。此外,在bug处理方面,1天内解决了46%的bug,1周内解决了82%的bug。在研发持续交付方面,腾讯平均每周构建80万次,年均产品规模600G,年均交付3000次。推动修复14万个代码BUG和安全漏洞,加速编译节省编译时间。190万小时。“腾讯工程师用的是什么编程语言?”可能是外界最关心的问题之一。随着腾讯云计算和大数据相关业务的快速发展,Go语言首次进入腾讯编程语言排行榜前5;整个2019年,腾讯使用最多的五种编程语言分别是:C++、JavaScript、Go、Java、Python。在技??术经理的研发参与度方面,腾讯一直保持着旺盛的生命力。报告统计结果显示,在腾讯,74%的技术负责人仍在持续输出代码。2019年,人均输出代码3万行,参与代码评审140次;38%的12级及以上技术专家潜心编码,人均代码产出3.3万行,参与代码评审155次。开放协作,腾讯科技转型对于腾讯来说,上述成绩的取得,与腾讯在2019年对优化技术研发环境、提升研发效率的重视密不可分。2019年1月4日,腾讯科技委员会正式成立。腾讯办公厅两名成员,腾讯高级执行副总裁、技术工程事业群总裁卢山,腾讯高级执行副总裁、云与智能产业事业群总裁唐道生亲自牵头,成立“开源协作”和“自研云”两个项目组和外部开源管理办公室,推动内部代码的开放共享和协同建设,在内部开源的基础上增加外部开源,并促进业务全面集成上云。开源协作的概念提出后,腾讯从各事业群中梳理出一些比较基础的技术版块,率先实践开源协作。腾讯CI就是一个典型的例子。腾讯CIOteam是腾讯内部跨团队的虚拟组织。由IEG(InteractiveEntertainmentGroup)蓝鲸团队牵头,组织相关团队和个人共同进行腾讯统一持续集成交付系统TencentCI的开发、建设和运营,旨在减少重复劳动,提高研发效率。经过一年的时间,腾讯在内部代码开放和技术协作方面取得了一些进展。截至目前,在腾讯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全球公司贡献榜前十。整个2019年,腾讯开源了超过22个项目,包括TubeMQ亿级分布式消息中间件、TencentOStiny自研轻量级物联网操作系统、TKE腾讯云容器服务和TBase企业级分布式HTTP数据库管理系统,均已开源2019年。2019年,腾讯与开源社区的合作也发展到了一个新的阶段。Angel项目完成了从单一模型训练平台到全栈机器学习平台的技术演进,顺利毕业于LFAI基金会;TARS项目成为开源社区中的唯一项目。有支持五种开发语言的微服务开发框架,有完善的服务治理和运营平台。此外,腾讯还作为创始成员加入LFEdgeFoundation,与产业伙伴共同推动边缘计算软硬件开源技术的发展。开源协作,腾讯新代码文化腾讯代码文化的诞生可以追溯到2013年,在公司“开放”战略升级的大背景下,腾讯提出了代码的“开放、复用、联合开发”。过去,腾讯的开源文化更多是自下而上的,但在2019年腾讯技术委员会成立后,建立了自上而下的开源协作机制,腾讯新的代码以“开源、协作、和”为核心。云上成长”文化快速成长。2019年1月,在腾讯技术委员会的指导下,腾讯技术社区“Codeke”和“TechnologyGraph”上线。在过去的一年里,超过80%的技术人员每月都会访问Coder社区和技术地图进行技术讨论和协作。社区提问量近3000个,回答和评论达到15万次。94%的技术问题得到了回答。2019年11月11日,值此21周年之际,腾讯发布企业文化3.0,将“合作”升级为“协作”。这个变化其实有一个明确的价值取向,就是“开放协作,持续进化”——某种意义上,这也完全符合腾讯内部的技术和代码文化:对内,我们需要大家放大架构,开放向上边界,以开源的心态与各种组织协作,用符合互联网思维的方法和工具进行协作。在今年抗击新冠疫情的过程中,腾讯的技术文化也发挥了作用。报告显示,2020年COVID-19疫情期间,腾讯在智慧教育、智慧医疗、远程办公、智慧政务等多个领域迅速推出相应服务。这款ToB产品功能全面升级,免费开放,助力抗击新冠肺炎疫情。春节期间,腾讯有超过8000名研发人员通过远程研发协作投入抗击疫情。为了更好地服务社会,各领域产品及时响应,快速迭代。一共提交了14.7万个代码,52%的需求在1小时内得到响应。各领域产品抗击疫情的努力背后,是腾讯多年研发能力的积累,也是腾讯技术和文化实力的彰显。未来,腾讯希望创造更好的代码文化。