腾讯实习小结:你走过的路都将会在未来发挥意想不到的作用

时间过得很快,本周已经是实习的第七周,实习的最后一周了。腾讯的实习让我认识到了许多不曾在校园内能够体验到的东西,比如学术界和工业界对技术运用的差异,大型企业的协作与分工,和同事间的关系等等。在写这篇文章时,我还是更希望继续回到学术界进行深造,因此我选择了放弃此次实习的转正考核。

工作内容

我所在的部门是腾讯云的运营计算服务部中的计算技术中心。由于这个部门负责了腾讯云机房为大客户准备机器的运维,发布和排障。基于安全考虑,实习生只能查看,但不能对生产环境的配置做任何的修改和发布。因此,近两个月来,我在部门内所做的工作主要是学习并测试一些配置对于集群虚拟化性能的影响。其中我研究了虚拟化的相关知识,虚拟机网络收发包的完整流程与路径,IO产生的完整路径和内存的分配等内容。

在同一个会议室内,还有其他来自区域支持(大客户服务),运维开发(开发)和生态支持(产品经理)部门的实习生,其中区域支持和运维开发的同学都表示,在第一周之后,他们也要参与一些生产环境的开发/客户服务的工作,尤其是区域支持的同学。如此看来,可能是因为技术运维的职位比较看重经验,并且容易出现运维事故,导师自然也不太敢让实习生直接操作生产环境了。不过换个角度说,由于技术运维经验越多越吃香,这可能是一个没那么具有「35岁危机」的岗位(部门里确实有不少同事都在35岁以上)。

组织结构

腾讯的组织架构大致为“事业群-部门-中心-小组”的四级架构。每个小组由10名左右的员工组成,每个中心又包含了五个左右小组,而每个部门大概有十余个中心,加起来应该有数百名员工。在每个中心中,大家的分工都十分明确,只需解决分配到自己头上,同时是自己对应领域的问题即可。中心每周会进行一次会议,由各个方向的负责人向大家同步当周的进展,同时中心的组长也会对每位同事的发言进行一些讨论。 我的导师经常和我说,在这种会议上,考研的不只是大家的业务水平,还有大家的表达能力(即能在几分钟之内概括自己的工作,而且还需要让负责不同专项的同事能够听明白)。

协作与技术栈

我所在的中心被归类为了“技术运营”,或者也可以成为“SRE”部门。相比于开发部门,中心内的同事只需要一个终端就能够完成大部分的运维工作。而对于需要批量更新机器组件,修复软件问题,探查可能的错误和日志等操作,则要通过统一的发布平台,向平台上上传操作脚本。在审核通过后,脚本会被发送至集群中的每一台服务器执行相应的任务。

在后疫情时代,随着在线会议的逐渐被大家接受,位于不同片区之间的同事协作也变得十分简单。在出现需要多人解决和沟通的事件时,平台会自动将需要参与的同事拉进企业微信群,随后就是大家使用在线会议对问题进行沟通和修复,整个过程甚至不需要离开座位一步。至于协作工具上的问题,中心的代码平台大都已经转用git进行版本跟踪了。不仅如此,类似的协作架构也对出差或者在家办公的同事十分友好。不过随时都能开始办公,对运维部门来说可能更是一把双刃剑,毕竟没有人想在凌晨被自动拨打的报警电话和在线会议建立通知吵醒。

学术界与工业界

做学术求新的态度和大公司求稳的态度是有所差异的。如腾讯这样的大公司,凡事涉及到生产环境的操作,均是以求稳为先的。即使学术界或工业界前沿拿出了新的改进方案,如果评估到方案会对目前的生产环境造成任何负面的影响,这项新技术都需要在仔细论证和完善之后才可实施。在所有的中心中,除了几个被冠以“实验室”名称的研究中心外,大多数的中心涉及到的技术和操作只是CRUD,也不会涉及到太多学术前沿的东西。同时在处理完成故障后,同事们的输出还是以总结问题,提出对应方案为主,而不会涉及到对逻辑进行创新性的改造——这些事物一般都会分配给开发完成。但这也并不意味着员工在入职之后就不再需要学习,随着模块的更新 ,模块对应的配置和故障处理方式都在不断变化,同事们也需要和学生一样,即时了解这些前沿知识。

基础设施管理

和大学的行政水平相比,腾讯在管理方面做到了较高的水准。比如在互联网公司的基础服务——IT服务方面,企业内就拥有十分完整的问答知识库,只要有IT方面的问题,拨打服务电话后就会有工作人员上门进行维修。而在学校中,由于信息中心的沟通方式只有QQ群,且人手不足,响应较为缓慢,许多课题组被迫自行解决一些本该由信息中心解决的问题,耗费了许多本该用于科研产出的时间。

饮食

比学校的伙食好了不止一个档次😂。

实习生培养

实习生的导师们大都很忙,同时实习生在大多数时间下,由于座位紧张而无法直接与导师面对面沟通。因此,如果自己不主动去找导师,导师就基本没有空去关心你,主动提问和高效提问就相当重要了(可参考 提问的智慧)。不过平时我在对业务有问题时询问导师时,我的导师时会认真回答我相关的问题的(就是有时导师实在太忙了,可能会过了半个多小时才回我)。在这里我也想感谢我的导师在实习过程中详细的给我列出培养计划,每次提问也有问必答,给我的业务学习带来了非常大的帮助(不过由于组织架构似乎是高压线,这里也就只能匿名感谢了😂)。

另一点笔者认为有改进空间的则是部门为实习生安排的学习内容:实习生由于权限和知识/业务水平等原因,不能对现网的环境进行任何更改,而且也没有办法接触到太多的案例。不过整个过程中都在学习知识,而无法得到在平台上的实践机会。从和我同期实习的TEG云架构平台部的同学处了解到,他们在实习完成之后,会被分配一个实践任务,来实践他们所学到的运维知识和体验公司内的发布系统。但如果没法实战公司内的这些运维和发布变更工具的话,可能整个学习过程就无法完整的向实习生体现出腾讯的特色了,换做去其他的互联网企业实习,一样可以学习类似的东西。(不过我的导师也十分诚恳,在最后一周我和他闲聊时提出这个建议之后,他很快就回复我和其他的几位实习生和新校招的同学,未来处理现网问题时,把实习生和新员工带上一起了解案例)。

回顾

这两个月的实习除了形式上像是在工作,内容上更像是在导师的指引下,自学了几门计算机方面的课程并了解了大型互联网企业处理问题,开发组件的标准路径。如果在毕业后我选择从事互联网行业,那在本科中学习到的微电子方向的专业知识或许将不再能派上用场,那大学带给我的,更多的还是学习方法论上的进步,能让我能够从堆积如山的资料中,筛选出对目前工作最有需要的部分,并快速将其掌握。

同时这次实习也让我对互联网行业有了更深入的看法。尽管互联网公司为本科毕业生提供的薪酬相当优渥,但归根结底,本科生进入公司之后所做的CRUD(增删查改)工作,或许本质上和蓝领工人在流水线上所做的工作没有太大的区别。而公司中真正具有创造性的工作大都集中在研究部门。为了能够在未来脱离CRUD,进入公司的研究部门,一个更高的学历是十分有必要的,这也是我坚定信息希望继续读研的一大原因。希望我能在未来完成更高层级的学业之后,再次回归公司,做更多的“创造性工作”。

在导师在离开之前给我的评语中,相信其中有两句话也概括了他对一个优秀员工的期待:

  • 凡是进过你手的事情,都要能对它负责,想清楚想明白,有疑问及时寻求帮助。

  • 不能过于偏技术性思维,也要思考将事情做好是不是有不靠堆砌技术实现的方案。

后记

在这封报告上交给负责实习学分认证的老师之后,老师回复邮件中的一句话令我感触颇深,便也记录在这里:

其实即使你毕业后选择了互联网大厂,现在的微电子专业的学习也会是有用的。以我十几年的工作的感受,真的,你走过的路都将会在未来发挥意想不到的作用。

晚上十点下班时的班车
晚上十点下班时的班车

「会议室工位」
「会议室工位」

还可以看看