在美团一年的程序员工作生活分享

7,650 阅读10分钟

时间真是快,转眼间变成打工人也有一年的时间了,最近几天朋友圈被各个同学的答辩刷屏了。去年自己过年回到家里,再回学校就是领毕业证了,经历了可能是唯一一年的云答辩。学生时代的最后一年,对未来的工作充满了想象,一直想知道工作后会是什么样子,每天会干些什么,这里就分享一下自己一年以来在美团的工作和生活。

对接的伙伴

学生时代自己做软件的话,前端、后端、设计、测试可能都需要自己来搞,但在公司的话一切都分工明确。主要过程就是需求评审 -> 排期 -> 前后端开发 -> 联调提测 -> 测试 -> 回归上线。

  • 需求评审

    首先产品(PM)给出需求文档(prd),每周的话会拉前端、后端、测试(QA)大家一起开需求评审会,介绍需求的背景、本期要做的东西,有问题的话在会上进行讨论。

    期间产品会找设计要设计稿和交互图,类似于下边这种

    每一个地方详细标好了大小、间距、颜色、圆角等属性,前端的工作就是还原设计稿,并且实现交互。

  • 排期

    我觉得这是对新人最麻烦的事情了,有了设计稿以后前后端就需要估算需要完成的时间,单位是 pd,也就是 person day(每人每天),对于大需求的话可能需要 6 pd,如果两个人的话就会排 3 天的时间去开发。

    然后前端、后端、QA一起对一下时间,定下开发、联调、测试、上线的时间,比如 6.1 ~ 6.3 开发,6.4 ~ 6.5 联调,6.6 QA 测试,6.7 上线。

    排期麻烦的地方在于,估时少了,那你到最后一天还差的多的话就得加班加时了,甚至造成需求延期。估时多了,如果是 0.5 pd 或者 1pdbuffer 还可以,但太多的话你的 leader 可能就会找你谈话了。

    自己一年来收获的经验就是对于一个大需求,一定要把事情分割,每天都完成具体的目标,没完成的话当天一定要赶完,这样到最后一天就不会出现什么问题了。

    如果造成了需求 delay,因为大家时间都是提前排好的,因为你一个人造成推迟,后边大家配合你再改排期很不好,也很麻烦。

  • 联调提测

    前端开发的时候因为还没有接口,所以开始的时候会根据后端给的接口文档在本地 mock(模拟) 数据进行开发。前后端开发都完毕后,就是联调时间,会真正走后端的接口请求数据,接口调通后,会根据 QA 给出的测试 case ,比如翻页是不是正常、下拉加载数据有没有刷新等等,一条一条的进行测试。当 case 全部通过以后,就会提交测试,交由 QA 继续。

  • 测试

    QA 给到开发的属于冒烟测试,也就是一些主要的功能,更细节的一些东西 QA 会继续测试。测试环境的话主要有两种,一种是测试环境,测试环境的数据有的是从线上拉下来的,有的是自己造的。一种是 staging 环境,也就是预发布环境,这些数据和线上是打通的,会为了测试建一些专用的门店、数据。 QA 会在两种环境都进行测试,因为一些神奇的 Bug 在测试环境没有出现,在 staging 环境才能测试出来。

  • 回归上线

    对于小程序开发,因为需要微信那边审核,所以并不能随时开发、随时上线。一般都会固定一周的某几天进行上线。上线前,因为会有不同的需求在同一个小程序项目中开发,所以会将大家的代码合在一起,不同需求的 QA 会再在 staging 环境再回归一次自己的测试 case 。大家全部回归完毕后,就会进行上线,上线完毕后观察线上各个指标是否正常,有异常的话要尽快回滚。

工作时间

互联网的工作时间,在 996 的声音中经常出现在各个 app 的话题中。我虽然只工作了一年,但却体验了双休、996、大小周,哈哈,把互联网公司的工作时间都经历了一遍。

  • 双休

    去年 5 月进入美团实习的时候,我还是在上海的到店事业群,现在看来真的是养老生活了。

    每天早上 10 点上班,去了公司接一杯美团的白开水,开始一天的代码之旅。

    到了中午 12 点,公司没有自己的食堂,一般和同事出去到周围的饭店吃,或者在美团点个美团外卖,当然也可以点饿了么。

    吃完饭会在公司周围散散步,聊聊天,然后回到公司。

    回到公司一般快 1 点,做到工位上拿出手机刷刷知识星球、看看微信读书,1 点半的时候准时睡觉,睡到 2 点的时候继续干活。

    到了两点,继续肝代码。期间和同事讨论讨论问题,写写需求,或者开开会,然后又到了吃饭的时候。

    下午 6 点的时候,继续吃饭、散步,7 点左右的时候回到公司。

    然后「摸会儿鱼」,到了 8 点准时打卡回家,因为到 8 点美团会有 30 块钱餐补。

    家住的比较近,10 分钟回家后,换好衣服甚至还能出去跑个步,回来后和女朋友聊聊天、网上逛逛、写写文章、再学学英语,完美的一天结束!

    到了周五晚上,6 点直接下班,开启两天周末时光,出去看看电影、逛逛公园或者继续学习学习,撸撸猫、晒晒太阳。

  • 996

    开启 996 的生活,是因为最近一年比较热的「社区团购」,美团主要是「美团优选」,还有拼多多的「多多买菜」、滴滴的「橙心优选」。区别于外卖的及时配送,社区团购是预购模式,也就是今天下单,第二天到自提点自己拿。对于企业来说,用户买多少就到供应商拿多少,省了很多成本。对于用户来说,价格相对也会更便宜。

    去年 11 月我们组被抽调过去支持美团优选业务,从此开启了 996 生活。

    10 点开始上班,然后白天时间和上边的基本一样,但到了晚上 8 点的时候就不再是打卡走人了,一般都是到晚上 10 点,忙的时候 11 点、12 点也可能。然后下班回去,铲铲猫屎,乱七八糟搞一搞,就睡觉了。

    星期六的话也是继续上班,唯一的好处是会给双倍工资,甚至开水团周六都给提供了小吃。

    996 期间最大的感受就是没有了生活,感觉一直是在上班。周日早上睡个懒觉,到中午起来点个外卖,边吃外卖边看会儿综艺,然后发现下午也快过去了,再一想第二天就又要开始 6 天的上班了,太难了。

  • 大小周

    996 持续到了今年过年,年后改为了大小周。有一说一,经历过了 996 之后,大小周都感觉真香了。轮到双休的时候,到了周六晚上一想,天呐,明天还是休息,太幸福了。现在随着业务的迭代,需求比最开始也少很多了,每天 9 点半基本就下班了,回家以后也会有时间做一些其他的事情,这个状态目前看来还是可以的。

在公司做的事情

在公司做的项目总体上分两类,一类是业务需求,分为 B 端、c 端、M 端。B 端之前我是给商家做评价分析的工具,比如肯德基、coco 这些商家的评论数据、销售数据,给他们的运营用。现在我主要是做 C 端,也就是微信的美团优选小程序。还会做一些 M 端项目,公司内部的运营人员会使用。

另一类就是技术方面的需求, 会做一些工具提升平时开发的效率、做一些数据类的产品,用来整合各个项目的数据等等。

上边的项目压力最大的就是 C 端项目了,因为它的用户量非常非常大,毕竟开发的小程序是在阿拉丁指数里排第 3

如果出了一点 bug ,最终的影响面会非常广。因此开发的时候一定要非常小心,一些错误的捕捉,极端情况都需要多多考虑。

除了项目本身的需求,公司对一些性能指标也会很关注,比如秒开率、白屏率等,还有就是对线上的项目的监控也尤为重要,因此也需要完善的日志系统、告警系统等,这些都属于公司的基建项目,一般直接调用就可以。

另外感觉最挫败的就是一些 bug 是真的解决不了,最大的问题就是这些 bug 无法在本地自己复现,只是看到线上日志上有很多的报错,然而却并不知道为什么。只能不停的试,然后上线,然后再观察,很难受。

绩效以及晋升

这是上班和之前学生时期唯一像的地方了。很多公司都会划分出很多职级,比如美团 L5L6L7,阿里的 P6P7,腾讯的 2-12-23-1 等等。

校招生入职美团是 L5,然后每年会有固定的时间去晋升,晋升前需要准备好材料,介绍你在公司做了什么,为公司提供了什么价值,未来你会做什么等等,然后会在评委面前讲一遍,评委是部门里各个业务线的 leader 们,结束后他们又会问一些问题。哈哈,是不是有毕业答辩的感觉了。

除了晋升,然后就是每个季度的述职了,这个主要是自己组内的,互相讲一讲大家各自做的项目。由于平时主要做一些业务需求,这个总结也比较难写,要根据 STAR 原则理出来自己的东西,然后再写,我是感觉很痛苦,不如写代码快乐。之后 leader 会结合述职以及平时的表现打绩效,绩效的话就和最后的年终奖挂钩了。比如美团是 15.5 个月的工资,除去一年 12 个月,剩下的 3.5 就是绩效工资了。

未来

工作一年也渐渐适应了打工人的生活,相比于学生时期,甚至开始有些怀念了。学生时期,想几点睡就几点睡,因为第二天起晚也没有关系。吃饭、打球约上小伙伴想啥时候打就啥时候打。编程的话,想学习什么就学习什么,感觉有大把的时间,当时每天的 leetcode 现在是不敢想了。总结就是,学生时期除了钱少一些,真的是完美生活了。现在吃饭的话题就变成了买房、股票、生娃了,然而我却觉得我还是个孩子。

未来主要是两个方向吧,一方面就是技术的提高,自己是做前端方向的,做的越多就发现不会的越多,还是需要不断的学习提高。另一方面就是英语了,程序员英语的话虽然平时工作遇不到,但如果技术上想要有更多的进步,肯定还是需要用英语在社区上和世界各地的人交流的。

最后,还是那句话,越努力,越幸运,共勉~