在学校的时分,计算机相关专业的同学应该都或多或少都被“大作业”折磨过,没有为“大作业”熬过夜经过宵的大学生活能够说是不完整的。步入公司后才发现,学校里的“大作业”就像玩具相同,需求清晰、处理方案清晰、终究产品作用清晰、乃至还有前人的作品能够参考,而在公司里要做的东西,上面说的特色至少有一个不具备,乃至通通不具备。
而我在字节实习的过程中,所经手的恰恰便是这么一个需求不清晰、处理方案不清晰、终究产品作用不清晰的项目。整个过程中有过焦头烂额毫无进展的时刻也有过欲哭无泪的时刻,还好有我的mentor带着我一路披荆斩棘、过关斩将。
首先和咱们讲一下项目布景,当时我在的组是视频会议移动端,经历了近三年大流感的洗礼,信任咱们对于视频会议中可能遇到的各种问题如数家珍,包含但不限于没声了、没音了、没画面了、画面卡顿、画面不清晰、画面和语音不同步、同步屏幕时闪退等等等等。作为一个服务企业级的B端产品,出现以上问题时就可能会投诉,然后经过客户成功部门转手到运营再转手到研制这儿,研制就需要判别剖析一下究竟是咱们产品的原因、仍是客户本身设备的问题、或者是第三方环境的要素,当用户的量级上来后,这样的客诉就会很多,会严峻占用oncall的研制人员的时刻以及精力。
我的mentor,一个专注于处理问题、防止重复劳动的人,一个字节范我觉得有E+的人,一个尽管身处移动端可是前后端乃至网络也都会的人,觉得这样很不OK,应该有个东西,能够主动的剖析出来客户究竟遇到了什么问题,剖析不出来的再找研制进行排查。没有这个东西也不影响事务开发的进展,所以整个项目并不存在时刻上的紧迫性,可是呢,有这个东西做出来后肯定会大大下降研制的开发时刻,所以项目的必要性仍是有的。所以,我作为刚入职的实习新人,这个项目就交给我来做了。
而我,一个还没有从学校中彻底出来的新兵蛋子,说实话面对这样的局面是一脸懵逼的,对于要做啥、要怎么做能够说是一窍不通,我的mentor在我入职后,让我先了解了解布景,第一周就带着我oncall了,让我知道都可能有样的客诉,手把手给我演示他们正常的排查问题的方式。先了解客户反应的状况,然后捞出来客户对应时刻的设备信息以及设备日志。
说实话,作为一个新人,或者说我本身对于项目有一种畏难心理,碰到一点难题就总是想着往后拖,或者摆烂先不管然后就搁置在一边不想再问津了,可是我的mentor是一个有着坚定信念的人,差不多便是见山开山,见水架桥这种,遇到问题会主动找到相关人员一起处理,能够说便是有那种主人翁,项目owner的意识。所以,我就跟在他的后边,和整个团队的不同人物交流他们遇到问题时排查的思路,企图总结出来一种通用的流程。在过程中,难免有许多困难,我的第一反应是畏缩,可是导师的第一反应是拉会拉上相关人员一起评论,看看用什么方式能够处理。比如在怎么确定设备日志和毛病表现的映射关系时,先后调研了多种方式看看相关团队有没有相似的做法以及他们最终实现的作用,包含大数据机器学习、代码状态流转图、自定义规矩引擎等多种方式,最终调研后决议选用自定义规矩引擎的方式。在实现需求的时分,需要其他团队协作时,他总是直接向前提出自己的需求,而我向一个陌生人发消息之前总要做一些心理建设,总是在忧虑些什么、惧怕些什么,而事实上咱们都是打工人,谁也不比谁凶猛多少,对方不配合那就拉+1进群一起看看,处理不了就向上露出问题。
所以,导师披荆斩棘在前,我在后边跟着实现他的设想。咱们很快就做出来了第一个版别。经过Python主动化下载设备日志,然后正则匹配筛选出含有特定标记的日志,并对他们的出现频率次数做出判别。因为Python是解释型的语言,所以能够把规矩直接写成python语言,用eval或者exec函数进行执行。第一个版别做出来后,导师又积极的带着我去给其他人宣传咱们的这个东西。然后依据他们的反应继续进行相关改善,最终我离职前实现的作用便是@ 一个群里的机器人,告知他出现问题的ID,他就能主动化的拉下来日志进行排查,然后告知你他剖析的成果,整个交互非常的方便。
一个成功的项目必须要有一个负责的owner,我的导师就向我展示了一个优异的owner是怎么一步步处理问题、扫除项目中的难关,如今我也正式成为一名打工人,希望我也能早日如他一般自如的面对作业。
我是日暮与星辰之间,出道两年半的Java选手,信任时刻的力气,一起成为更好的自己!