阿里妹导读:今年的双11已经是阿里资深前端技术专家舒文来阿里的第11年,从应届生到双11前端PM,他一路升级打怪,实现了岗位上从P4到P9的晋升。这第11届双11顺利结束之际,他把在阿里这些年的成长经历做一个总结和分享,希望你能在他的故事中得到些许启发。

作者简介:舒文,来自淘系技术部前端团队。目前负责淘系(淘宝+天猫)的营销活动、互动的业务,也在阿里巴巴前端委员会主导搭建体系的技术方向。

P4:懵懂学生入行记 (2008.10-2009.12)

2008年10月,入职阿里巴巴日文站,以前端岗加入UED团队。日文站 ( http://www.alibaba.co.jp ) 的业务源于阿里巴巴国际站 - 提供在线的平台化服务,专注撮合中日贸易。

在那个前端的鸿蒙年代,页面重构工程师和Javascript程序员还是两个细分职位: 在阿里,前端、交互、视觉共同划属用户体验部门。

而在部份公司,有专门的重构工程师。

在日文站亦如是:现实情况是杭州和东京的团队,具备写JS能力的工程师均不多。不少同事专注在HTML/CSS领域,且专研极深。举个例子:在日文站,所有的HTML/CSS代码必须通过两个Lint工具:HTML文書の文法をチェックし、採点します、[The W3C Markup Validation - 这让代码的规范性更好外,也能获得更好的搜索引擎分析&索引权重。

随着业务发展,需求场景多且复杂起来,对Javascript开发能力要求就越高。同时,也激发了我的技术热情。除了看书,我迫切想参与其他事业部的前端交流会。感谢时任主管的支持,我开始主动跨部门沟通,将他山之玉和学习所得有了更多结合。慢慢地,在团队内部提出一些技术方案并逐渐应用到杭州/东京两个团队 (特别感谢最早时代的D2)。

在那个阶段,我几乎参与了所有较为复杂的项目。结合当年的热门大作《高性能网站建设指南》、Yahoo网站性能优化黄金法则,负责了主站的性能优化,取得了一些不错结果。

2009年10月获得了日文站优秀员工,年底顺利晋升到新的层级(P5)。

P5:从热血到成长(2010.01-2011.06)

2010年开始,业务略微调整,参与“日本买家获得”(Buyer Growth)。这个业务本质是通过平台技术优化(SEO、SEM等)获得更高的搜索引擎权重、提高Landing到转化。

在这期间,随着被认可度提升、持续的项目历练,我的自信心也得到了锻炼。除了参与更复杂的项目外,我开始主动对业务和技术体系做出一些提案(Proposal) - 包括参考Google Webmaster Guidelines进行技术优化、参与了各种SEO项目,提出了现在回想起来各种或靠谱或不靠谱的提案。非常感谢历任主管的支持和包容,让一个楞头青能够没有后顾之忧地敢想敢做。

日文站初版克隆自Alibaba.com,加之外包参与、跨东京和杭州多团队开发等原因,全站前端框架混杂,包括不限于YUI/Mootools/PrototypeJS/ExtJS/TBra等前端框架&类库混杂在同一业务甚至页面。新人上手、多人协作、性能优化的成本很高,但历史原因积重难返,大家苦不堪言。

结束一个大项目后,时值“愤青”的我对全站的代码做了个调研和分析,说服了主管们,决定启动一个重构项目——旨在将全站混杂的代码统一到 jQuery。并大体确定了执行方案:随业务迭代上线、项目成员1人,我兼任PM、开发/自测。

在之后,一个如同打了鸡血般的前端程序员,白天黑夜的翻历史PRD、熟悉代码逻辑、阅读各种类库的手册,陆续将各业务线的脚本重写了一遍,边做业务项目边重构,整个项目持续了半年多,直到11年Q1完成。

现在回想起来,有些事情真需要一股冲动,正如买房、结婚。如果主管让我再多考虑半天,我兴许就怂了。当然,人生也可能走入另外一条主线。

2011年日文站业务合入B2B,我也参加并通过新事业部的年中晋升(至P6 ) 。

2011年阿里巴巴日文站誓师大会

P6:内部创业 + 前端的无线爆发 (2011.07-2014.06)

两段非常宝贵又特别的经历。

2011年下半年主动选择加入阿里内部的创业项目:打造一款面向个人消费者的云产品。 团队不大,20多人,各路专家云集,各负责人级别都很高。很享受这段工作旅程,我第一次参与桌面Hybrid端项目,第一次开发SPA Web应用,第一次参与跨桌面软件/PC Web/H5的项目,第一次领略敏捷管理的魅力。在来自美国的技术Leader带领下,我接触到很多新领域,极大地开阔了技术视野。

“创业失败是要承担风险的,没有加薪,没有晋升,而且还是996,直到项目成功”。第一次面试这个项目前,业务负责人,阿里工号16的虚竹告诉我。

不算幸运的是,最终这个项目没有取得如预期的成功,业务有了变化和调整。

但幸运的是:这段经历让我亲身体验了一把“创业”,也感受了技术以外的方方面面艰难。这个过程中形成的产品和业务思维,对我日后带来了深刻影响。当然,也在我之后几百次想离职创业时,这段经历让我能够静下心来思考创业的内核 - “为什么要创业?我有什么资源、能做什么事情、创造什么价值?”

忘了说,这段经历之所有特别,还因为办公地点在湖畔花园——马老师家。

 湖畔花园办公场地

2012年7月,加入到天猫的前端团队。 主管给予了充分的信任,让我负责天猫H5首页的研发,开始接触淘宝前端—— 一个更成熟完整的技术体系。

2012年底,@三七 加入天猫带领前端团队,作为国内前端领域最早的拓荒者之一,他在随后的两年时间给天猫的前端技术带来体系化的变革——从模块化到工程化再到生产环境的NodeJS,并引入了Mobile First理念。在他的支持下,我带领了一支前端小组陆续参与多条业务线的开发工作。我自己也加入集团级技术建设,主导跨端Web的项目,推进了前端体系的移动化建设。

除专业技术外,花了比原来更多的功夫在团队工作上,包括不限于团队氛围、风格和文化的打造,学会在内网分享中学习借鉴前辈大拿的的管理方法论。在阿里的文化中,非常强调传承。一个人牛不算什么,让一群人厉害才算厉害,最好是让下属比自己还强。

时间花在哪儿,结果就会在哪儿。团队内一些业务尖兵逐渐冒出头来,在后来几年成为天猫甚至大淘系的中坚力量。

这个过程既痛苦又快乐。痛苦在于要做越来越多的超过自己能力层级、远离舒适区的工作,快乐的则是能明显感知到自己在这个过程中的快速成长。

很幸运,在14年年中,顺利通过晋升(P7)。

P7:从双十一中打将出来 (2014.08 - 2016.01)

2014年注定是难忘的一年。在这一年,我开始负责营销活动的业务,并担任2014年双十一前端技术PM工作。

营销活动是一个顶有趣、富有故事的业务:

从技术上:它可以极致简洁到切一个页面上线就行,也可以复杂到如双11一般 ——它是阿里技术的年度大考。

从业务上:它既可以简单到直接把现实生活的促销活动进行虚拟世界的进行流程投射,也能如互联网史上的春运般整合零售生态和供应链。

我和多个团队在天猫制定了各个维度的技术规范,如内控标准、外包规范,有惊无险地渡过了14年双十一。

在PC时代,营销活动的研发模式,对于前端来说,实在过于“简朴”:“5到6位正式前端常年带着数十个外包,根据运营需求开发成百数千的页面,通过一个叫做TMS的运营系统预留坑位给运营同学填数据,交由后端应用推上线(CDN)。” 这类业务活动频次高、页面量大、协同成本高。某种意义上讲,对前端技术挑战并不高,为了更高效的研发,我们能做的是不断提高组件和模块复用率。

感谢TMS,它帮助前端们快速迭代出一个又一个页面,支持了集团的业务,即使在今天,它的设计思路都能称得上精巧犀利。

发生变化来自2014年双十一前,线上发生了一次令我终生难忘的离奇故障(涉及敏感信息,略过细节):当时因临时未排查出原因,VP现场观摩面,我和CDN运维团队的同学们能做的只是不断重启集群应用缓解问题。

我作为时任前端PM,也因技术方案选择失误受到批评责罚。(时隔多年,大家也偶尔调侃,责罚不冤,幸而那天的问题提前暴露而未发生在11.11号当天,否则后果难料 )。

那年双11最终还是完美谢幕,GMV 571亿,移动端成交42.6% ,很多人敏锐的感觉到:移动化时代到来了。

之后技术复盘,我们针对问题做了多轮讨论和推演,决定启动一个代号“斑马”的产品项目:基于我们对营销的理解,运营的实际需求、过往的技术痛点,设计一个高效的页面系统来支持运营快速发布活动上线,更重要的是它是完全的基于Mobile First设计的系统。

正所谓 “一饮一啄,莫非前定” ,因为过去一年的打磨锤炼、痛过后的反思,我们很快把方案框架敲定,并和多个业务搭档共同推进项目实施。

项目于15年初立项,我代表团队“激进”的将阶段目标定为“支撑2015年3月的春季大促” 。这种既要支撑日常高频的大促业务,又要同时从0到1做平台研发,不啻于“飞行中升级引擎”,困难很大。但我背后的思考是:“这就如同创业,没有一往无前的决心和一鼓作气的气势,等想多了细了,多半就怂了怕了”。

我负责整个系统及PM工作,团队培养出来的中坚力量们承担各个功能模块研发。为实现我们心中所定计划,整个项目组如同创业般激情,为了一个共同的目标奋进。春节假期不少同学还在主动提交代码,节后迅速返回公司继续项目。

很幸运,克服了重重困难,“斑马”项目顺利上线,并成功支持了2015年第一个S级大促。基于新的系统,我们共同把营销活动送上新的轨道:因模块化带来的效率提升让我们完全解除了外包依赖、因具备跨端能力运营们可以单次同时进行PC和无线活动、我们设计并推动了CDN构架,单在15年双11就节省了数千万预算。

随着技术迭代,“斑马”这个技术产品,在后面几年成为阿里的基础运营平台之一。

2015年5月,我参与了P8的晋升提名,结果未通过。Leader和我沟通:“成长很快,能力和规划出色,业务成果需要时间验证”。我很坦然接收了建议,晋升答辩中的技术评委的建议中肯不失公正,让我受益很大。

“但行好事,莫问前程”——在随后的时间,“斑马”的能力更为完备。我再次担任了2015年双11的前端PM工作,业务也顺利上线。那一年,双11当天GMV 912亿,移动端成交68%。

16年1月,新主管告诉我,绿色通道通过,晋升至P8。

 双十一令牌/虎符

P8:立足业务,敢想敢造 (2016.02 - 2019.07)

一次偶然的机会,看到一张图 :如遵循民意苹果手机会变成什么样?给我带来一些对业务和技术的思考:“页面发布系统本质上是一个通用的工具平台:前端/运营/设计师都是它的用户,每个角色都有对它的功能需求。但每个新增功能在解决一类用户需求的同时又增加了平台复杂度,降低的客户的易用性,丢失掉另一类用户的民心。”

“这兴许是一个产品的轮回宿命”,我内心有些敬畏地想。带着这个敬畏,时间到了2017年,随着斑马的功能日趋复杂,我决定将运营操作平台和底层技术能力进行剥离:

  • 将斑马定义为运营系统,专为运营打造极致的页面搭建。

  • 将底层能力抽象成服务平台(代号“天马”),提供开放的研发标准、搭建方案、页面渲染能力。

随着时间推移,“天马”的开放能力不断完善,越来越多的事业部基于它构建面向业务的平台系统,带来的技术回报是:技术复用减少从0到1的研发&硬件成本、标准统一使跨业务协同变为可行。

而在技术的另外一边,业务发生着悄无声息的变化:16年双11GMV 1207亿、17年双11则是1682亿。每年双十一在如此巨大的基数下还能持续业务高增长,个性化算法、推荐技术的大规模应用起到了非常重要的作用。在全局效率上,大数据优于人工干预逐渐得到了共识。在我看来,这些变化意味着时下大家认可的大促会场模式,也将带来新的变化。

2018年2月,我在内部做了个分享,描述了对营销活动未来的预判:

  • 业务化:面向“活动”组织,而非页面。

  • 产品化:构建常态化、心智化的大促产品矩阵,而非单纯是模块级的抽象。

  • 智能化:投放算法化和规则化,而非运营的动态化。

基于以上预判,我和团队的小伙伴,计划联同业务、上下游技术团队共同构建一个面向营销活动的平台产品(项目代号:方舟)。

很感谢历任主管实仙/四虎的信任,愿意帮我顶住重重压力,经过多轮沟通,我们达成了一致共识。

和过去几年稍有不同的是,我逐渐把包括不限于方舟的一些重要产品放手给团队中的骨干/TL,让他们去规划、去驱动、去变革。我更多做了辅导性、资源性、业务判断的全局性工作。

随着时间的推移,越来越多的结果开始凸现:

  1. 斑马逐渐成为集团级的通用平台,数万小二同学用它发布管理业务。

  2. 方舟作为业务平台交付成为大促体系的核心部分,并成功应用到双11期间,在效率、效果和交付质量上取得瞩目的结果。

  3. 天马通过“开放共建、出海上云”,为集团多个BU提供基础的技术搭建服务。

  4. 在业务中,团队中沉淀出一个个技术产品:渲染引擎、API聚合网关等,也把曾经仅服务于内部的产品开放到商家、ISV。

在2018年中,提名参加晋升面试,结果未通过,技术委员会的评委们建议更多参与“集团级的技术建设、更高格局的视野”。

我很快走出了沮丧,毕竟在阿里,常胜不常有失败倒常伴。更重要是,主管 @四虎 的开导让我开始思考更全局的未来。

随后的时间,我继续投入了2018的双11前端整体工作,推进了多个端技术方案落地天猫。感谢阿里前端技术委员会主席圆心的举荐,我加入前端委员会,担任搭建技术方向的Sponsor - 旨在站在集团视角,定制标准、融合并打通搭建技术体系,在更大范围内赋能业务。

在集团内各个前端Leader的支持下,我们很快跨多个事业群达成了共识,制定完善了技术标准,基于一体化方案启动了多个层面的项目。

2019年5月,参加了年度晋升,顺利通过P9晋升。感恩。

P9:不止于前端

现在,仍然有太多的事情值得去深入:

1. 以双11为代表的大促前端体系仍然是业内最具技术挑战的业务场景之一,包括不限于客户端容器技术、服务端渲染(Node)、框架与组件体系、跨终端技术等综合应用。

2. 阿里有数以亿计的消费者,如何为我们的消费者构建一个好玩有趣的互动购物体验,是我们这个团队一直需要探索和改进的。

3. 在未来,源自于前端的搭建技术,不仅能支持小二还能服务生态角色,不仅能支持国内还要服务全球。

除以上,我也深度参与阿里前端技术委员会的工作:

在阿里的前端体系,除了搭建方向以外,有相当数量的跨事业群共同建设的技术方向&项目,包括不限于Serverless、IDE、智能化、中后台、数据可视化、工程化、Node技术等。这些技术方向或者始于前端,但又不止于前端,共同为打造行业领先的技术生态服务。

有期待有更多的优秀的同学加入阿里,让我们的智力和努力触碰到数以十亿计的用户。欢迎加入联系我:wenliang.shuwl [at]alibaba-inc.com

最后分享一些过往些年的的心得:

关于工作:

1.想做好一件事情前,获得上级的认可非常非常重要,这是把一件事情做成、做好的催化剂。

2.很多时候,源自“事”的困难都可以用态度解决,来自“人”的困难可以用换位思考解决。

3.对于刚参加工作的同学,如果家中无矿,啥也别说,努力就对了!毕业五年内的表现,可以决定人生很多事情。

4.如果你和领导发生分歧:拿出你的数据/理由/态度尽最大的努力去说服他,如果充分沟通还形不成共识,那就先听他的 。这不是媚上,而是“在必须达成一致的前提下,相信更有概率做出正确决定的人。”

5.在工作中,如果某个时间突然发现和往常不一样,陡然压力变大/身心疲惫,别害怕 ,因为,这有可能是你在成长、突破瓶颈前的黑暗期。

6.专业技能是立身之本。从长期来看,它是性价比最高的投资标的之一。

7.结合资源,尽最大的努力、用最好的态度,做好手上的工作,也是一种创业。

8.不要因为背靠大树久了,就误认为自己是颗大树。对客户&用户的尊重和价值创造是我们很大的护城河。

关于生活:

1.技术人读书工作挣钱养家,一步步成长同时也会一岁岁变老。相比不少行业,互联网行业自身有赛道上的优势,但如果单纯以同比其他行业略高的溢价按年/月出售自己的时间和技能,这不应该是我们做的。坚持不断的思考、通过技术优势带来叠加价值,在过程中不断成长 , 这兴许会更好。

2.学会奖励自己。如果经受了辛劳、痛苦和压力走了过来,再不好好的、肉痛地奖励自己一把,哪对得起过去和未来的自己。

3.除了在工作中,人生处处皆可学习:学理财、学打球、学拍照、学游泳、学健身、学拍短视频、学习怎么把生活过得更好。

4.最后,咱们技术人可能很忙,有可能没法“work-life balance”,这是一种取舍。但健康的身体一定是最宝贵的一笔财富,没有之一,不能舍。谢谢大家。

怎样才能和舒文一起工作?

300+道面试题&最全面试资料,助你走进阿里,超强干货值得拥有。识别下方二维码或点击“阅读原文”获取面试真题。

你可能还喜欢

点击下方图片即可阅读

AI 如何对爆款内容未卜先知?

每秒订单峰值54.4万笔,我们扛住了!

关注「阿里技术」

把握前沿技术脉搏

戳这里,获取300+道面试题。

从P4到P9, 在马云家写代码到双11前端PM相关推荐

  1. 搭档之家:李佳琦“双11”直播最低价,还是贵了?

    以下信息由搭档之家收集整理自网络 随着直播热叠加下的"双11",各类优惠吸引着大家的眼球,"打工人"变身"尾款人".然而在"剁手& ...

  2. 阿里90后工程师,如何用AI程序写出双11打call歌?

    来自阿里巴巴的90后工程师芦阳,用业余时间开发了一套人工智能作词程序--名字叫做MusicGo,这个程序经过芦阳的"喂养"和设定,可以自己写饶舌歌曲. 芦阳加入菜鸟也才仅仅四个月, ...

  3. “双11”倒计时,电商行家如何玩转EDM?

    双十一客流访问量及销售量等需求的激增,对于营销.资源.人力物力等提出挑战,资源的最大化有效利用是个重要考验.电商市场营销人员如何以较少的成本获取更多的利润比例?Webpower中国区的营销专家们建议换 ...

  4. 某程序员吐槽:面试八股文害死人!公司新来的应届生满口框架,根本不会写代码!网友:八股文只能招到背题家!...

    程序员面试考什么?是工作能力,工作经验,还是背题能力? 一个程序员发帖吐槽面试只考八股文,招来的应届生张嘴就是分布式,一堆框架,代码根本不会写.楼主要他补补基础,把常用的api看熟一点,这个应届生却觉 ...

  5. 985大学的高材生只会写代码片段,丢人吗?

    很多同学在学习编程的时候都会遇到各种各样的难题,比如:没有合适的资料.学习过于碎片化.资料的质量层次不齐.看了很多视频自己动手时却还是不会.接触不到完整项目.无法检测自己的编程水平是不是企业所认可的- ...

  6. 熬夜写代码,不如换女装入GitHub获上千Star?

    作者 | 琥珀 出品 | AI科技大本营(ID: rgznai100) 程序员如何以合规手段快速获得 GitHub 上千 Star? 新年刚过,GitHub Trending 上一个名为"D ...

  7. CTO集体怒吼:我到底要不要继续写代码(下篇)

    http://www.devstore.cn/new/newInfo/4708.html 5.在人人创业的时代里,竞争压力非常大.有很多产品,甚至会有多个竞争对手,那么产品技术和布局会非常重要.CTO ...

  8. CTO集体怒吼:我到底要不要继续写代码(上篇)

    1.CTO有假期吗? 黄鑫(极光推送):最近一次休假是今年2月份,过年的时候,平时没有连续的休息的时间. 赵庆华(AppCan):我有两个孩子,都比较小,一个4岁,一个2岁,所以我的重点是从工作中抽出 ...

  9. 技术负责人要停止写代码吗?

    作者 | 唐门教主 出品 | 程序人生 (ID:coder _life) 今天浏览 Medium,看到一篇直接喊出「技术负责人,请停止写代码」的文章,晚间和家属一起坐火车,不禁一起围绕着这个话题进行了 ...

最新文章

  1. 300英雄服务器维护多久,300英雄7月19日停机更新公告
  2. 【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )
  3. Javascript中for循环
  4. CentOS 7.6 64位安装docker并设置开机启动
  5. 基于蚂蚁金服「如何管理好10万行代码」搭建了 Vue 项目架构
  6. 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!...
  7. Struts2 OGNL
  8. 【C语言简单说】十八:二维数组
  9. 你知道i=i++;的含义吗?原理其实没有你想的那么简单
  10. html自定义滚动条不占位,如何实现滚动条在各浏览器中不占用布局
  11. LeetCode MySQL 612. 平面上的最近距离
  12. 排序算法以及基本数据结构
  13. kafka经典面试题
  14. python 数据结构转换层_python – 具有Maxpooling1D和channel_first的Keras模型
  15. python 获取内存使用率_获取一个python实例的总内存和cpu使用率
  16. oracle rman备份和恢复数据库,Oracle rman备份和还原恢复数据库
  17. 12帧跑步动画分解图_跑步动画原理讲解
  18. 【51单片机开发板】可调周期、占空比pwm工程
  19. linux连接Redis客户端
  20. window下搭建php环境

热门文章

  1. 亚马逊旺季退货率飙升!卖家如何避免和处理买家退货?船长这几招值得收藏!
  2. 海贼班 胡船长第二次直播笔记 宏
  3. wasd和上下左右互换了怎么办?
  4. 【JAVA修行之路】--“斩杀”对象和类
  5. Maven是什么,以及为什么要使用Maven
  6. Word 2003 视频教程-Word 打印页面(转)
  7. 在IE(IE6)中常见的几个兼容性问题
  8. 模拟器鸿蒙停止运行,【新手引导】模拟器频繁弹出“停止运行”报错操作方法。...
  9. JavaWeb开发介绍
  10. 将猎豹浏览器的收藏夹转移到Firefox的书签