一名淘宝老员工的自传:“我在淘宝这7年”

2012-02-23 15:35:12来源:RTdot整理作者:赵超

今天有同事恭喜我,我才知道自己在淘宝已经七周年了。很多人第一句话就是七年痒不痒,老实说,也曾经痒过,但往往都是一痒而过,又投入到水深火热的工作中去。回家之后就想这七年我到底收获了什么,且不论成败与否,

今天有同事恭喜我,我才知道自己在淘宝已经七周年了。很多人第一句话就是七年痒不痒,老实说,也曾经痒过,但往往都是一痒而过,又投入到水深火热的工作中去。回家之后就想这七年我到底收获了什么,且不论成败与否,这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了,那是我成长最快的一段岁月。

一名淘宝老员工的自传:“我在淘宝这7年”

第二年:

做完支付宝,公司给弄了硕大的庆祝仪式,带我们一帮人去了千岛湖。玩的很爽,但我有有点不安,因为我跟这帮人混了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。据说这个项目后来申请了专利,这的确是一个很大的创新。

这三个项目我做的很顺利,认为自己已经能称得上是项目经理了,但巨大的失败在后面等着我。

一名淘宝老员工的自传:“我在淘宝这7年”

第三年:

2005年年底的时候,我结婚了,跟老婆匆匆领了证就往公司跑,因为当时我负责了一个更大的项目,重构【我的淘宝】。由于太匆忙,结婚证掉在了半路上,后来有人送到了民政局,结果一天去民政局领了两次结婚证。

【我的淘宝】是给会员管理自己的商品、交易、收货地址、评价、投诉的地方,这个地方由于登录之后才能看到,所以风格跟外面完全不一样,很长时间都没有优化过,样子丑,用户操作也不方便,如果一个人有很多商品,上下架还需要一个一个的操作,非常麻烦。这时候一个重要人物登场了,承志@SharkUI ,他给我们演示了最牛叉的前端交互技术,就是Gmail上那种ajax的交互方式,可以拖动、可以用右键、可以组合键选择、操作完毕不刷新页面,管理商品如有神助。

除了承志,还有个牛人加入了项目组,一灯@喻策 ,这是他作为PD的第一个项目。再拉上万剑和一伙工程师我们就开搞了,我给这个项目取名alps,就是阿尔卑斯山,淘宝的前台项目叫denali,后台叫 mickley,都是名山,咱这个要更有名。项目的过程中我把电脑桌面换成巍峨的阿尔卑斯山,加班的时候给兄弟们买阿尔卑斯糖,大家干的热火朝天。快要完成的时候,老马不知道怎么回事突然出现在我身后,看我操作了一遍新版【我的淘宝】之后,问我这是不是客户端软件,我说是网页,他抓狂了,说这跟客户端软件一样,链接底下连线都木有,上下架用文件夹表示,我都不知道怎么操作了,卖家肯定也不会玩。被他这么一说,我们虽然不服,但也留了个心眼,于是做了一个 beta版的发布,在老的版本之外让一部分用户先体验新的版本。

接下来淘宝历史上第一个群体性事件爆发了,试用完新版本的【我的淘宝】之后,很多卖家愤怒了,说不会玩,一灯就和承志一起商量怎么把页面改得像个网页一点,改了半个月,愤怒依然没有平息,我很无奈地看着这两个人在那里坚持,然后跟老板们商量怎么办。后来我们用了一个很挫的方法给自己一个台阶,到论坛上让大家投票要不要使用新版【我的淘宝】,投票结果是一半以上的反对。于是这么十来个人做了3个月的系统被杀掉了。我当时只感觉对不起这帮兄弟们,也对不起自己领的这3个月的薪水,走路都抬不起头来。但这还不是最痛苦的,最痛苦的是我们下线之后,另外一拨卖家不满了,说这么好的功能怎么没有了?

虽然【我的淘宝ajax版】挂了,但老板们也没说我什么,我自己诚惶诚恐的总结出了项目过程中的几大罪过,发给大家,警示后人,缓解一下内心的歉意。到 2006年五一的时候,另一个划时代的项目启动了,就是【招财进宝】(我苦逼的连续失去了两个五一节)。财神说要用最好的项目阵容,我被选中了,这一下子让我觉得我能划分到最好的员工之类,原来正受伤的心又痊愈了。这是一个商品P4P的系统,就是按成交付费。我们认为已经有很多卖家有钱了,但淘宝上这么多的商品,他们很难被找到,他们愿意花钱让商品排在前面。我们允许卖家购买广告位,把他的商品按一定算法给个排名(类似于百度的竞价排名,但不仅仅看他出了多少钱,还有信用、成交量、被收藏数量等等,这个算法搞的巨复杂)。这是一个多么牛叉的盈利模式啊!在这个豪华的阵容里面,乔峰@王煜磊 是业务方,浅雪是PD,开发有黄裳、进宝、晓锋、长空,测试有自在、非烟,UED是青桐和@sharkUI,架构师是行癫,DBA是叶开。

在我们开发的过程中,乔峰大侠踢球断了腿,于是他soho办公,经常在网络的另一头给我们打气。我当时第一次听说soho这个词,只是别人so的是 home,他so的是hospital。这个系统进行的很顺利,但发布的时候,更大的群体性事件出来了,买家们质疑:你们不是承诺3年不收费么?收广告费不是收费么?……后来巴拉巴拉很多事,由于有内幕,此处省略500字,以后发到阿里味……然后,这个项目又悲剧了。项目下线的那一天,乔峰先哭了,财神说男子汉大丈夫要拿得起放得下,晚上去虚竹家请大家吃个饭,算是项目结项了。饭桌上他才喝了两杯,就挂了,我看大家都吃不下去,也不敢多吃。结束的时候我和小宝送他回家,小宝力气大,背着他,我在旁边撑着伞,路灯下雾蒙蒙的,小雨一直下。

有人说这个项目的失败,让中国电子商务的成熟延迟了N年,但那些背后的人,你们真的损人也没有利己。

接连两个项目都挂了,我反倒不怎么悲伤了,已经被老板悲伤完了,心态反倒轻松了许多,很多东西,不是你努力就能成功的,也许应了那句话,谋事在人成事在天。

这期间也做了很多日常性的需求,印象最深刻的是胖胡斐有一次给我提了个需求,年底了要做个抽奖的系统,要求在抽奖人数能预估的情况下,系统能够即时开奖,发奖数量要均匀分布在一天的时间内,发出去的奖品不能超过预设的值,也不能有奖品没发出。真会难为人,我想了很久搞出一个算法,用随机数来做抽奖的种子,数字在某一个区间的时候算中某一等的奖,每个小时发几个奖有限额,发完之后在这个小时内的数字即便在中奖区间也不算中,如果前面一个小时很快就有人中奖,减小后面一个小时的中奖区间。这个算法后来被应用到多次抽奖活动中。

好吧,心碎的第三年就这么过去了,那时候已经是P5了。

一名淘宝老员工的自传:“我在淘宝这7年”

第四年:

在【招财进宝】项目中有一个技术的细节值得拿出来说说,淘宝商品详情页面每天的流量在10亿以上,里面的内容都是放在缓存里的,做【招财进宝】的时候,我们要给卖家显示他的商品被浏览的次数,这个数字必须实时更新,而用缓存的话一般都是异步更新的。于是商品表里面增加了这样一个字段,每增加一个PV这个字段就要更新一次。发布上去一个小时数据库就挂掉了,撑不住这么高的update。数据库撑不住怎么办?一般的缓存策略是不支持实时更新的,这时候多隆大神想了个办法,在apache上面写了一个模块,这个数字根本不经过下层的web容器(只经过apache)就写入一个集中式的缓存区了,这个缓存区的数据再异步更新到数据库。好像什么问题,到了多隆手里,总能迎刃而解。

那一年发生了很多事情,多到我都记不住了,我只模糊的记得项目结束之后,组织结构有过一些调整,也来了很多牛人,尤其是UED的人。例如@XX的三通 (他和我都是一灯的四个门徒之一)还有@赵小马、语凝、圆心他们。那个时候UED开始分交互、设计、用户研究、前端等等工种,以前都是一两个人搞定所有。下面那个项目中,我们有了深入的合作,UED的这种分工,对于PM来说,让我觉得项目周期更长了。

悲催的一年过得很慢,但是年底我却升到了P6.

2007年春天,老婆回老家生孩子去了,我在公司开始生我的孩子,就是下一个项目【淘宝旅行】。这个项目之所以我觉得像是自己生的,是因为我从最早期的商务调研就跟进了。我们想做一个集团版本的旅行服务,可以接入淘宝、支付宝,也可以接入B2B的系统,于是后来我们做出来的第一个版本的【淘宝旅行】是用支付宝账号登录的,跟现在的一淘接入的用户系统是一样的,当时很多人会觉得很奇怪,怎么不用淘宝的用户信息。老板们看我闲着,合作方也是我比较熟的支付宝,于是我阔别2年之后,又一次跟支付宝合作了。

我跟着支付宝的BD们(孙权、夏波波)去拜访一家家的航空公司,谈合作方式和分成模式,我第一次坐在谈判桌上跟这么牛叉的国企谈判,只在他们问我能不能实现的时候做一下技术分析。国企中有不少有眼光的人才,他们希望做点创新的事情来,但整个体制太重了,谈了半年没有结果。于是我们又转向跟代理商谈判,这些商人嗅觉非常灵敏,他们意识到有淘宝这么多的用户接入进来,是一个很大的市场。他们都很积极,于是很快【淘宝旅行】的模式就做成代理商作为商家的服务平台,代理商赚钱了给我们分成(分多少?不告诉你)。

艰苦的商务谈判完成之后,更艰苦的项目开发跟进,老婆不在杭州,也不问“你还爱不爱我”了,我专心的投入进去, 2007年年底的时候,淘宝旅行上线了。上线的时候我问老板们用什么域名,语嫣姐姐说,用最土最好记的吧,于是jipiao.taobao.com就发布了。这个平台上产生的第一笔交易是一个代理商的老板给自己买的机票,按照分成规则,我们赚了几块钱。那天下午,财神和语嫣带了一波运营的同事,敲锣打鼓的给我们发金币巧克力,告诉大家这是淘宝第一笔收入。当时我被一拨人推着走,拍的合影也没人发我一份。这个项目的PD是小玉、运营支持是叶青和文纨,交互设计是语凝,从那个时候开始,我跟更多的女同事结下了深厚的情谊,所以我开玩笑说打算写一篇外传《我生命中最重要的十二个女人》,呵呵。开发团队的是震北、空望、清虚、腾翼、王喆等,他们是《我生命中最重要的十二个男人》之一。

当时国内机票市场的老大是携程、老二是艺龙,我们的平台上线之后很长时间内,用户还是习惯打电话去找他们来订票,而不是到网站上来用支付宝付款买机票,【淘宝旅行】的发展速度其实是很慢的。我自己还写了一篇软文《淘宝旅行,下一个携程?》被很多网站转载。另外一方面,为了获取更加实时的航班信息,我们必须获得中航信的支持,而中航信当时正急于推广他们的酒店系统。于是在接下来的半年时间内,我们用中航信的酒店系统做了【淘宝酒店】,跟机票一起纳入【淘宝旅行】,中航信也把IBE(Internet Booking Engine)接口给了我们。我和运营的姑娘们整天盯著有谁在我们这里订了机票,有谁订了酒店。如果有同学同事或亲朋好友要旅行,我们去给他们推销自己的系统。记得到2008年年底的时候,机票销量才几百张。

坐在我们旁边的是【淘宝彩票】的团队,哲别是PM,一灯是项目经理,经过了【我的淘宝ajax版】之后,一灯技术水平精进,跟彩票公司谈合作的时候大谈 ajax和用户体验,唬的人家一愣一愣的。这个项目真是天时地利,用户只需要两块钱就可以买一注,用支付宝下注非常方便,上线之后销量猛增,到年底的时候有两注彩票都中了500万,一时之间,风光无限。苦逼的机票团队在一边只有羡慕的份。

看着这个孩子在慢慢长大,这个过程中我们做了零零星星的一些日常需求,实际上工作量不大。因为我们都是土鳖,又挖了几个机票行业的人过来,一个是处端,一个是从艺龙挖来的老板。当时另外一拨人被关进了湖畔花园,做了【淘宝商城】,他们从湖畔花园回来之后,【淘宝旅行】这个垂直市场的项目被划分进了商城,然后我们团队被并入商城的技术团队。但每次跟行癫开周会的时候,他们讲商城的种种事情,我都插不进话。到了年底,商城蓬勃发展,但机票的业务没有太大起色,这一年我也不务正业啥都干过,在技术上没有多大进步,被打了个3.25分,P6不变。

这时候有人来挖我了。

一名淘宝老员工的自传:“我在淘宝这7年”

第五年:

有人担心,写到后面会不会变太监了。其实越往后面就真的越难写,一方面是那些人就在你旁边,你要顾及他们的感受;而那些事,也才刚刚过去或者正在进行中,身在其中很难有个客观的描述。不过既然都写了这么多,那就继续写下去吧,后面的事情比较近,也不太有名,估计感兴趣的人不多了。

我曾经写过一篇博文,是对于“小黑屋”的描述,淘宝有个传统,牛叉的项目都要在小黑屋中进行,当年我们做[我的淘宝]和[招财进宝]的时候,有人羡慕我被关在一个小黑屋里面。到了08年的时候,我开始羡慕别的关在小黑屋里面的人了。这样的人有两拨,一拨人做了传说中的[淘宝商城],一拨人做了传说中的[淘宝系统3.0]。做淘宝商城的那拨人暂且不说,淘宝主站系统在那个时候经历了一次翻天覆地的变化。

因为发展实在太快,淘宝的系统一直处于变化之中,但大的版本变迁大概有两次,一次是把最初那个LAMP架构的系统迁移到java平台上,一次是把集中的 java系统拆分成多层的分布式系统。从php到java在04年就迁移完毕了,我去的时候正赶上迁移完成后那帮SUN的工程师开始做支付宝,所以我错过了。从集中的java平台拆分成多层的分布式系统的时候,我在做[淘宝旅行],又错过了。

我一直相信像[淘宝旅行]这样的垂直市场才是最好的业务模式,不可能所有的商品用同一种展示方式,也不可能所有的交易用同一个流程。但在主站拆分之前,要做垂直市场只能重新做一个系统,拆分之后,只需要在业务逻辑层重组一下就可以了。所以这次网站的拆分,不仅撑住了不断上涨的流量,也支持了后续几年新的业务的发展。在拆分的过程中有很多技术的创新,我们从使用技术到了创造技术的阶段。

记得有一次我们跟腾讯的工程师交流,大家提起了那个时候各自做了一个文件存储系统,仿照GFS,淘宝做了一个TFS(taobao file system),腾讯做了一个TFS(tencent file system),在GFS的理论基础上各自有不同的创新。除此之外还有Key-value的缓存系统、消息中间件、java中间件、海量数据的存储和计算等等。一个系统发展到10亿流量的级别,你不得不做技术创新。

关键词:淘宝员工

赞助商链接: