之前还没写过知乎体,不过这次真的是一个非常有意思的体验,就写一写吧。
进入公司
在2015年校招的时候来到了美团,当时想着,嗯,我是去了一家用户过亿的公司上班呀!想想还有点小激动呢~
实习的时候一直以为自己在做大项目,嗯,加油~
实习接到的第一个正式任务是做一个移动版的BD小秘书,由于踩了manifest离线缓存的各种坑(坑就千万不要在安卓的WebView下用manifest缓存GET请求),因为这个坑忙活了快一个月才做完。公司一共一万多BD呢,我想着每天访问量没几万也得有几千吧,后来听说这个页面有过一段时间挂了,都没有BD反馈,还是开发人员发现的,我突然觉得好像并没有什么BD在用……
又接了一个任务,做一个账号绑定的后台页面,没有设计师给设计,自己YY页面,最讨厌没有设计稿的任务了(>﹏<)。当时想着,这个后台这么复杂,一定要好好做,测试同学还很忙,我做完第一版后QA童鞋还专门给测试了,直觉告诉我这个东西一定很重要。这个语气你一定知道我接下来要说什么了,后来发现这个项目就只有组里的产品妹子一个人用,在一些诡异的用户行为下,会有一点小bug,我告诉产品妹子,反正就你一个人用,你先凑合用,我现在忙着别的需求呢,你用的时候不要胡乱操作就不会出bug了……
实习走之前,最后一个任务,是我们团队刚开的一个新项目,我去负责做了一个注册流程页面,貌似团队很重视这个新项目嘛,还给我配了一个非常厉害的美女设计师:)。可是设计师设计需要时间,设计稿还没出呢,我就按照产品的设计先去做,其中注册的几个流程状态是一些前面带着凸出来的三角形,后面带着凹进去的三角形,当时还很用心的去用CSS画它们,画完之后还觉得挺厉害的,看这个可以用图片做的,我用CSS画出来了吧,哈哈哈~
可是,等设计稿出来后,我发现白做了,人家设计的是一个大圆嵌套一个小圆的,这我才知道原来设计稿可以和产品文档一模不一样-_-|||。我想还是要写的酷一点,不能用图片,又用CSS去画。突然有一天leader说这个以后有可能要兼容ie8呢,额,我还是假装不知道这事吧。
后来注册页面添加了新需求,我写的代码不能满足那个需求,就被team里的前端妹子重构了……
正式入职了,感觉用户过亿的大公司有大项目在等着我做
入职后发现实习的时候做的注册页面那个项目,确实是个大项目,我们团队居然有五分之三的前端资源都去负责这个项目了(其实当时团队不算leader一共就五个前端,三个人负责这个项目,说的好像有多少人一样,不过这么说不是比较酷么~)。
用户只有一个人的"大项目"
虽然"大项目"打了双引号,不过我没逗你,这真的是一个大项目,就是目前用户少了点……
有一天(故事的开头都是这样的),一个我们产品的用户因为用不了过来问下怎么回事,刚好那个模块是我负责呢,赶紧看看去。打开控制台发现报错了,怎么会这样,报错的代码我怎么会提交呀。打开报错的文件发现代码不是最新的,又打开git上同一个文件,纳尼,我已经提交了呀。leader去刷新了一下,突然正常了,原来是缓存问题,由于当时自动化构建工具还没来得及做,缓存问题想用构建工具统一解决呢。
我很着急,和leader说:“这个用户出现了这个问题,其他用户由于缓存很可能也不是最新的文件啊,这算线上bug,我要赶紧去做一个紧急的线上fix!”
leader淡定的说:“不用了,没事。”
我吃惊的问:“线上bug不能不管啊!?”
回答道:“反正就他一个人用,下次上线的时候自动化构建工具弄好了就行。”
我:“哦……”
我陷入了深深的思考(@﹏@)~
在一家用户过亿的公司上班,居然做着一款只有一个人使用的产品……
一群人辛苦做了好几月的项目,居然还只有一个用户……
说好的你代码会影响上亿人的生活呢……
说好的你会戎码一生呢……
只有一个用户……
一个用户……
一个……
一……
要说体验了
标题是:在一家用户过亿的互联网公司做着一款只有一个人使用的产品是一种怎样的体验?
那到底是怎么样的一种体验呢?
由于是新项目,初期一定要先把功能做完再上线,这个阶段产品的需求和愿景还没有特别的明确,开发的时候也经常很难预期到以后会有怎么样的功能。
先说说麻烦事:
- 程序架构可能不合理,总是修修补补
- 可能一不小心就嵌套了几层回调
- 变量命名可能和以后的功能需求产生歧义
- 应该组件化的东西还没有组件化
- 有时候因为产品的一个很小的需求变更前后端都要重构代码
- 给几万行的已经没人维护的工具做二次开发会遇到非常多的坑
- 逻辑复杂的模块没有很好的解耦和复用
- 新项目无论在产品上还是技术上总会有好多坑
再说说好处:
- 需要优化的地方太多了,工作有挑战性
- 做新项目维护工作比较少,如果维护别人写的代码一定没有自己写新的快
- 自己做数据可视化用的开源工具是我leader的开发的,工位就在我左边,有问题直接问作者
- 团队和项目一样也很新,有二分之一是刚刚校招入职的,大家可以在一个技术次元交流学习,没有全是老员工就自己一个小朋友的感觉
- 并没有传说中产品童鞋会给新项目往死了添加需求的情况,产品汪和程序猿并不是总撕逼(这么说怎么感觉有点像曾经撕过一样,其实我和产品童鞋很好的,我们从来不撕……)
- 一点点庆幸的是业内已经有一个非常成熟的产品可以参考了
总结一下,麻烦事基本都是所有新项目都会遇到的问题了,其实也没什么,项目不成熟没关系,只要团队没放弃,只要团队还在持续积极输出,项目渐渐就成熟了。不过目前大部分精力都在做业务需求和与产品经理梳理产品逻辑,总是没时间梳理和优化技术。
但是由于在做新项目,挑战会有很多,可以在这个过程中学到很多东西。现在去工作的大都是去维护别人的写的代码,如果遇到不喜欢写注释又随便命名的代码,真是想全删了重写,并不是所有人都像我一样写注释跟唠嗑似的。由于团队和项目都很新,有一种团队和项目共同成长的感觉。
其实你的用户是几个人不是最重要的,最重要的知道所做事情的价值所在。