时间真是快,转眼间变成打工人也有一年的时间了,最近几天朋友圈被各个同学的答辩刷屏了。去年自己过年回到家里,再回学校就是领毕业证了,经历了可能是唯一一年的云答辩。学生时代的最后一年,对未来的工作充满了想象,一直想知道工作后会是什么样子,每天会干些什么,这里就分享一下自己一年以来在美团的工作和生活。
对接的伙伴
学生时代自己做软件的话,前端、后端、设计、测试可能都需要自己来搞,但在公司的话一切都分工明确。主要过程就是需求评审 -> 排期 -> 前后端开发 -> 联调提测 -> 测试 -> 回归上线。
需求评审
首先产品(
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
或者1pd
的buffer
还可以,但太多的话你的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
无法在本地自己复现,只是看到线上日志上有很多的报错,然而却并不知道为什么。只能不停的试,然后上线,然后再观察,很难受。
绩效以及晋升
这是上班和之前学生时期唯一像的地方了。很多公司都会划分出很多职级,比如美团 L5
、L6
、L7
,阿里的 P6
、P7
,腾讯的 2-1
、2-2
、3-1
等等。
校招生入职美团是 L5
,然后每年会有固定的时间去晋升,晋升前需要准备好材料,介绍你在公司做了什么,为公司提供了什么价值,未来你会做什么等等,然后会在评委面前讲一遍,评委是部门里各个业务线的 leader
们,结束后他们又会问一些问题。哈哈,是不是有毕业答辩的感觉了。
除了晋升,然后就是每个季度的述职了,这个主要是自己组内的,互相讲一讲大家各自做的项目。由于平时主要做一些业务需求,这个总结也比较难写,要根据 STAR
原则理出来自己的东西,然后再写,我是感觉很痛苦,不如写代码快乐。之后 leader
会结合述职以及平时的表现打绩效,绩效的话就和最后的年终奖挂钩了。比如美团是 15.5
个月的工资,除去一年 12
个月,剩下的 3.5
就是绩效工资了。
未来
工作一年也渐渐适应了打工人的生活,相比于学生时期,甚至开始有些怀念了。学生时期,想几点睡就几点睡,因为第二天起晚也没有关系。吃饭、打球约上小伙伴想啥时候打就啥时候打。编程的话,想学习什么就学习什么,感觉有大把的时间,当时每天的 leetcode 现在是不敢想了。总结就是,学生时期除了钱少一些,真的是完美生活了。现在吃饭的话题就变成了买房、股票、生娃了,然而我却觉得我还是个孩子。
未来主要是两个方向吧,一方面就是技术的提高,自己是做前端方向的,做的越多就发现不会的越多,还是需要不断的学习提高。另一方面就是英语了,程序员英语的话虽然平时工作遇不到,但如果技术上想要有更多的进步,肯定还是需要用英语在社区上和世界各地的人交流的。
最后,还是那句话,越努力,越幸运,共勉~