作者:阿里P7子柳
今天有同事恭喜我,我才知道自己在淘宝已经七周年了。很多人第一句话就是七年痒不痒,老实说,也曾经痒过,但往往都是一痒而过,又投入到水深火热的工作中去。回家之后就想这七年我到底收获了什么,且不论成败与否,这7年的经历,是我人生的宝贵财富。
第一年:
@正牌七公 曾经说过,要是写一本淘宝的历史书,一定很多人感兴趣,其实我也很想写写这样一本书。2004年12月8日入职的时候,我和@衲子如幻 一起进来,迎接我的是骆冰和@岳旭强 ,骆冰是百阿的班主任,@岳旭强 是我的师父。当时还没有百淘,先参加了百阿,百阿给我发了一本书叫《完美商店》,讲的是ebay的故事,看的时候我就想什么时候我也写一本淘宝的故事来。
我进淘宝非常偶然,当时只是看到这个网站做的不错,自己也不想继续做对日外包的工作了,就过来面试了一把。进来的时候我被震撼到了,跟传统的企业非常不一样,到处都是生机勃勃的样子。还有前台的@香香的好朋友 笑的很亲切,原来公司的前台都冷冰冰的。@武当三丰 给我两张笔试题,我估计做的很烂,但是居然通过了。财神面试我的时候,问我为什么到这里来,我说很欣赏这家企业发展这么快,这么快的企业里面一定有很多高手,跟高手在一起一定成长很快。我每说一句,他点头“嗯哼”一下,以至于后来我跟老婆形容公司的CEO的时候,她只记得那个喜欢“嗯哼”的人。
来淘宝做的事情是Java开发,但是之前我只做过3个月的Java项目,连eclipse都不熟(但我来之前恶补了一下快捷键的操作)。一开始做事是在@岳旭强 的手把手的指导下做的,当时非常依赖旁边的几个老员工,多隆、正风、进宝、我行、不同、范禹、天川。做的事情也没有一个成熟的流程,常常是大家在论坛看到有人叫需要什么功能,我们问问PD是不是需要做,然后就写代码,提交测试(给自在、郭芙、宝驹),然后就让青青打包,让剑英发布。还很清楚的记得做的第一个需求是,有卖家说不想把货卖给一个心以下的买家、有卖家不想卖给某个省市的买家,于是就给卖家一个工具,他可以限制某些买家不能买。于是我就在发布商品的流程和生成订单的流程中,找到合适的地方,加了几个合适的参数,写了几段合适的代码,就发布上去了。但是这个功能一直没敢启用,估计是怕买家要叫。直到3年之后,08年要拆分denali的时候,这段代码都在,但都没有发挥作用。
做完第一个需求,感觉好 牛叉,自己写的代码在系统上运行了,一下子有了信心。当时HR成立了百淘的项目,我先去百淘二期玩了几天(本来要我参加一期的,但当时忙,延迟到了二期,胖胡斐是我百淘同学,现在百淘已经过一百期了),回来就投入到一个更牛叉的项目——支付宝。
支付宝一开始生存在淘宝系统上,但到04年底的时候老马已经有眼光看到支付宝的未来了。当时请了sun的一帮人在把淘宝的第一个PHP版本变成Java版,之后,就让他们做独立的支付宝系统了。我跟天川被从淘宝派出来做支付宝跟淘宝相关的业务,当时除了sun的人,淘宝的人,也来了一位标志性的人物@fenng ,他是这个项目的DBA,记得他那时侯刚来杭州,家里装宽带,运营商服务不周到,被他骂了好久。后来(2010年)他在微博上大战中国电信,已经相当有经验了。项目组里面还有另外几个我非常佩服的人,鲁肃、苗人凤,二人后来成了支付宝的首席系统架构师和业务架构师。就这么跟着这样一伙牛人,鼓捣了3个月,支付宝在五一节的时候上线了。还记得几个DBA在做数据迁移时候的囧样,数据结构已经面目全非了,@正牌七公、 @fenng、多隆、鲁肃这几个苦逼的家伙愣是搞了3天3夜。我们熬夜的时候还有杭州的卖家跑来看我们,有一位是@淘宝璧君 ,后来直接加入了淘宝。
当时是多么一派热火朝天的苦逼岁月啊,我三天三夜没回家的时候,老婆还打电话过来问“你到底还爱不爱我了?”怎么会不爱呢。
第一年进来是P1,现在已经没有P1了,后来调整过,我当时进来应该是算P3的样子,记得年底的时候三丰给了我4分的评价(超出期望),然后升级为P4了,那是我成长最快的一段岁月。
第二年:
做完支付宝,公司给弄了硕大的庆祝仪式,带我们一帮人去了千岛湖。玩的很爽,但我有有点不安,因为我跟这帮人混了3个月,实际上只做了3个功能,一个是创建支付宝交易的接口、一个是接收支付宝订单状态的接口、一个是绑定和解绑支付宝账号的功能,而另外的牛人们,搞出了那么巨大的一个系统,我处于深深的拜服中。半年之后,淘宝网的outing又去了千岛湖,后来另外两个项目的庆祝,也去了千岛湖,到后面我都认得那边的道路了。
从千岛湖回来,真正苦逼的日子开始了,我很长一段时间都在做擦屁股的工作,擦的就是支付宝系统里面的一些问题。由于支付宝和淘宝是两个独立的系统,系统之间的通信是一个大问题,而银行跟支付宝也需要通信,于是问题就经常出现:用户在银行付款了,未必能通知到支付宝,支付宝收到通知了,未必能通知到淘宝,于是用户的钱没了,淘宝的系统上却显示未付款,很让人崩溃。我和鲁肃尝试了很多种办法,一开始用MQ,但并发量上来之后老丢消息,消息的时间顺序也会错,后来他做了一个消息中间件系统,这个就是淘宝的notify的雏形,现在notify一天能发送几个亿的消息通知,能保证通知到、能保证不重复通知、能保证消息有次序,相当不容易。
三丰看我好像在支付宝做了很多事情,而且跟鲁肃他们合作的这么好,还以为我水平大有长进,于是在维护着支付宝接口的同时,我开始了PM(项目经理)的生涯。据说我是淘宝的第一个PM,这让我很爽,我在做PM的过程中跟SQA一起整理出了《项目管理流程》、《PM工作手册》、《系统设计模板》等等开创性的工作,有些东西沿用到了现在。但后来某一日有人提出敏捷的概念的时候,我又在反思,我是不是误导了淘宝的项目开发模式很多年?后来想想,反正当时大家都不懂,谁说的明白听谁的。
我的PM生涯从2005年持续到2008年,这三年又大致分为两个阶段,一个是“新手上路”阶段,自己摸索着做了【商品详情拆分】、【收藏夹改造】、【支付宝认证】几个项目;另外一个是“死去活来”阶段,做了【我的淘宝ajax版】、【招财进宝】、【淘宝旅行】,为什么死去活来,因为后面这3个项目死了2个,活了1个。
【商品详情拆分】是在2005年的时候开始做的,三丰说让我当项目经理,我看到经理两个字吓的半死,但后来知道项目里面就我和拖雷两个人。要做的事情非常简单,淘宝商品信息表一开始就是一张表,商品的所有 信息都在这张表里面,包括商品的详情,用一个clob字段存储的。大家应该知道商品的详情是一个多么恐怖的字段,据说淘宝商品详情页面如果打印出来平均大概有5米长,当时没这么长,但也很恐怖了,跟其他信息放在一块,严重影响数据的读写性能。于是我新建一张表,存储商品详情,普通的商品查询不会用到这张表,只在商品详情(detail)页面才会用到,做完之后性能一下子好了很多,我又骄傲了很久。再后来我知道商品的详情已经不能存数据库了,放到了文件系统上。
【收藏夹改造】是一个稍微再大点的系统,最早淘宝的收藏夹只能收藏商品,我跟万剑、领军几个人把收藏夹改造成能收藏店铺、能收藏搜索、能把收藏的内容分类处理,当时的UI设计可能是@sharkUI 做的,看他一个像素一个像素的扣,才发现他比我们写代码的更苦逼。这个项目算是一个比较完整的项目过程了,我除了写代码,也做些计划之类的东东,所以后来就开始写项目管理的文档了。
【支付宝认证】是淘宝的一个创新,淘宝在成立之初就要求卖家实名认证,最早的认证方式是让用户上传身份证照片,我们去连接公安系统的网站来核对信息,核对一个要交5块钱,成本相当高。后来浅雪@面我 过来当PD了,提出了一个新的认证方式:我们认为银行里面一定有用户的身份信息,而支付宝又跟银行有合作,那就可以通过银行的用户信息来验证身份了。所以支付宝认证的原理就是:用户提交身份信息和银行账户,我们往这个账户里面打钱,打进去之后用户填写收到了多少钱(我们号称打过去的是1块钱以内的金额,实际上只有几分钱),用户填写的跟我们打出的是一致的,那这个人的身份就是对的。这不仅降低了认证的成本,也使认证的效率由原来的一周左右变成一天以内即可完成。由于我跟支付宝比较熟,又做过PM,就理所当然的做起了这个项目的PM。据说这个项目后来申请了专利,这的确是一个很大的创新。
这三个项目我做的很顺利,认为自己已经能称得上是项目经理了,但巨大的失败在后面等着我,由于后面那些想起来太伤心了,先写到这里吧。
欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。
本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。
- 长按下方的二维码可以快速关注我们