美团工程师入职后的第一年终总结,融合创新

2020-07-18 21:36:42 APP开发网 3254

这时,我已经在美团点评工作了一年。在这一年里,迷茫过,自我否定过,同时也收获了成长。在这一年里,我也学习到了很多,也得到了很多人的帮助,今天我就来回顾一下过去的这一年。

在校园的最后时光,总有一个避不开的话题,那就是校园招聘。在校园招聘中我们收获的offers有多少就意味着我们有多少选择的权利。


所以,按照时间顺序来说,首先回顾的第一个主题就是校园招聘。

先介绍一下自己的本科情况吧,我的本科是在一所航海院校的计算机相关专业就读,虽然在近几年,学校的计算机的专业被提拔到了一本的级别,但是作为一个刚刚提为一本的专业与那些老牌院校的计算机专业相比还是存在这不少的差距,所以就论本科来说,在校园招聘中我没有多少优势。在本科阶段,其实我并没有认识到这一点,不过还好自己并没有太过于浪费本科的时光,最后顺利保研了。但是在读研和工作期间才明白自己已经错过了很多储备知识的好时光以及关键的找工作的时间节点。在大四的那个暑假,我有了明确的主要语言方向,那就是Java

在确定目标之后。我就开始以各种途径去了解那些互联网主流公司的后端Java工程师岗位的相关要求,这些公司包括美团点评、阿里、爱奇艺等,对他们对于应届生的要求有了一些了解。比如:1.和目标岗位匹配的若干优质实习和项目;2.基础计算机知识扎实;3.一定的技术视野。

在研究生期间,我就开始按照这些要求去为自己之后的工作做准备。自我主要做了4件事:

1.复习基础知识,找实习,拓宽技术视野。(根据岗位需求定向准备)

基础知识方面,通过搜索引擎和一些问答社区,向前辈取经,把Java相关的基础书籍以及本科的一些当时觉得听着很枯燥的课比如计算机网络、操作系统、数据结构又复习了一遍,通过做题,看视频等手段。

2. 实习方面

在边复习基础知识的时候,我同时也着手开始找Java后端工程师方面的实习。先后在创业公司和阿里实习过,在这个过程中经历了简历准备、求职资源获取、技术面试等,以下文章记录了当中的一些体会。

3. 拓宽技术视野

在休息的时候,逛一些技术论坛,了解主流互联网公司的架构,Java后端技术方面的最新进展等。

4.吸取别人的面试经验

站在巨人的肩膀上,这一点是我自己加的,就是在准备校招的过程中,可以去看一些过来人的面试经验,和一些网友交流面试的体会,过去人家踩过的坑,做一些整理,在自己面试的时候尽量去避免那些失误。

这样做的好处就是,在校招中,成功的拿到了几个offer。这说明自己没有做无用功。还在校的同学也可以这样做哟。我在这些offer中,选择了美团点评。

 

  第二个回顾的主题是:初入职场的适应期

在我进入职场之后,第一个加入的团队是闪惠,主要的工作是做大众点评商户的优惠买单业务。在整个公司里,这个团队的业务量也算得上是很大的。在我加入的时候,该业务正在趋于稳定。

这段日子也是我在开头提到的迷茫期和自我否定期。这个团队是走迭代的,一般两周一个迭代,每一次开始前,产品经理会召开需求会议,讲一下之后要做哪些东西,涉及到哪些业务,但是我都很难自己听懂需求会议的内容。在最开始的时候,我遇到了需求听不懂、分配到任务没办法很好的拆解到哪些模块,每次都是靠会后去问导师,才能明白一个看似简单的需求需要做哪些工作。在于他人的wiki对比,真的要开始习得性无助了,组长的wiki对每一个迭代要做的东西,需要涉及哪些系统、每一个需求可能需要多少人力,都预估的很清楚;可是,在前实习的时候,自己的工作完成的也不错呀,怎么自己正式入职之后,就连需求都听不懂了,真的体验到了挫败。

在实际工作中,我还渐渐发现自己的专业技术知识也出现了不够用的情况。因为工作量挺大的,线上的一些小问题都会被无限的放大。有一天线上突然出现了一个后台项目的所有机器的老年代增长都较快,同事排查后定位是接入的外部包有问题,然后写下了一篇故障分析报告,如何从源码的角度定位了问题。我把这篇报告翻来覆去看了好几遍才看懂,我开始怀疑自己在学校里到底有没有好好学习。

   除了看懂别人的报告很艰难,自己的代码也时常被吐槽。有一个机制叫Code Review,就是我们在写完代码之后,会叫代码发给高级别的工程师检查,在检查合格之后才能够提交。在刚开始写代码的时候,因为一些不好的习惯和对业务思考的不够,出现了类如NPE、代码复用不够、代码层次不清晰以及命名不太合理等问题,也是经常被打回去修改。

 我相信看文章的你,一定能够体会到当时我是怎么在一件一件事情中失去了自信的。后来,在于领导和导师的聊天中,我慢慢放松了下来,不再那么急躁。他们对我说的话的意思大致如下:

   在做事情的时候放松一些,公司知道你的应届生身份,并不会期待刚刚开始工作的新人给公司创造多上的价值。每一个新人的成长都是需要时间的,在这个段时间里,会遇到大大小小的各种问题,这是每个人都会经历的。那些比你熟练的同事,他们工作的时间都比自己长,对于业务肯定比新人熟悉,不要用他们工作的标准来要求自己,但是可以用他们的要求来作为自己的目标,别有太大压力。

在自己放松下来一些之后,我做了以下几件事情:

1.翻阅团队过往的资料和代码,了解团队的业务现状、核心系统以及主流程,从大方向上入手,再进一步了解业务中的细节。

2.请教导师和身边的同事,身边的同事是最好的学习资源,他们可以告诉从更高的层面看你现在所处的位置以及遇到的问题,勇于请教,多交流。

3.多多总结回顾,每周都回顾下自己做了什么,学到了什么。

 

第三个主题是,不同类型团队下的成长

   到目前为止,我共加入了两个团队。

成熟业务

我刚进来时,团队在做的是一个流量很大的业务,系统架构已经趋向于成熟,作为一个新人,更多的是在修修补补,针对子系统中的某一个模块进行一些开发,很少有机会从头开始做一个项目。在一个成熟的团队,有以下的优点和缺点。

优点: 经过长时间的大流量的业务考证的系统架构和业务设计,能从中收获很多养分,让你之后站在一个更高的视角去看待问题。其二是因为成熟业务流量一般都有一定的量级了,成立至今可能遇到了很多千奇百怪的线上问题,在排查这些问题的过程中,技术能力和沟通能力能得到很大的锻炼。

缺点: 相对的缺点就是,难以参加一个项目完整的开发过程,因为业务架构已经基本定型,新人在这里大多是针对系统具体的子模块进行一些功能上的开发。

 

创新业务

在下半年随着团队业务的切换,去做了一个从01的业务,主要是依托我们公司积累的数据,为商家提供咨询和数据的一个平台。

优点: 在一个新业务中,有机会从头到尾去设计一个项目,定义和外部系统的交互接口,底层的数据存储设计,系统内部的流程等等。在这个新业务中,我参加了App站内信、用户中心、后台推送中心的完整开发过程,从之前的简单的和后端同事之间的对接,到需要跨团队和客户端、前端、测试打交道,在个人的沟通技巧上得到了很大的成长。在这个从0-1的过程中,对于如何亲手设计一个系统有了经验,同时可以借鉴过去在成熟业务当中学习到的一些准则。如果在一个业务快速发展的新业务中,随着新业务的不断演进,原有的架构会不断得到挑战,进一步提升自己系统设计的功底。

缺点: 并不是每一个新业务都会快速增长,让你不断的遇到新的挑战。在业务的缓慢成长中,可能只是在重复过去学到的技能,得不到足够的挑战,也就错失了进一步成长的空间。

 

不同的团队能给自己带来不同的收获,不管自己身处于哪种团队,都要努力去吸收那些有利于自己成长的东西,变成更好的自己。 

 

第四个主题是,积极尝试

在切换到新业务后,前端和数据开发的资源相对比较紧张。

根据自己的想法和领导的安排,我从后端工程师做到了前端这时因为我觉得年轻人就要多尝试,多做一些不同的事情,在各个需要技术手段解决问题的岗位上拓展自己的眼界。在业务的演进过程中,做了一会会全栈工程师,虽然是很简单的页面开发,配上自己的后端接口。还接触了数据开发,从完全不知道数据开发应该干什么,到对集团数据平台的使用驾轻就熟,从底层数据的提供到后端接口的开发一条龙服务,不仅复习了之前学过的Hive,还学了新技能Elastic Search,同时把在接触新东西的过程中遇到的问题,总结了下来,帮助别人一起成长。

所以在职业生涯的早期,别局限自己,多做尝试,你会收获很多新的知识与技术, 

 

总的来说,我对我过去正式的工作一年还算满意吧。如果让我现在对过去刚入职的自己送上几句建议的话,那么应该是以下四句。积极提问,保持谦逊,多总结多思考,心态要稳

这就是我在美团点评的第一年的全部回顾,希望第二年能够更好。


电话咨询
邮件咨询
在线地图
QQ客服