Yuying Wu

moon indicating dark mode
sun indicating light mode

我在大厂如何打怪升级

July 20, 2020

Tags:总结

平时有不少萌新前端同学们,来跟我说,“我觉得很迷茫”、“不知道该怎么成长”、“你在做什么呀”……前端早早聊组织的这个关于“职业成长迷茫”的专场真的很棒,国内针对前端圈女性成长比较少的,所以当时我听 Scott 说有这么个专场,就主动报了个主题,希望从我从业以来“不同阶段的我做了什么”、“有什么想法和思考”、“未来想做什么”切入,给大家看到一个个有血有肉的故事。如果听完分享,大家能够得到一些启发,也算是我对社区有点反哺啦,哈哈。

关于迷茫

image.png

我该不该……

这是我很喜欢的一部电影《疯狂动物城》的一个场景,兔子 Judy 进警察训练营准备开始训练。在此之前,警察团队从来没有过吃素的动物,更不会有那么可爱、看起来很弱的小兔子。在警察的成长路上,Judy 遇到很多的嘲笑、质疑。

“兔子该不该当警察?”讲真,在我看来,这个问题和“女生该不该做开发?”是一个问题。我的答案,大家应该都是知道的~ 在我们的这个专场,我相信大家已经看到了很多非常优秀的女性工程师,所以,至少在这个问题上,女生们不应该再迷茫的。

当然,这是“现在的我”的观点。在我刚出来实习时,也问了我的师姐师兄很多关于迷茫的问题。

  • 女生能不能做好工程师?
  • 软件工程师是不是青春饭?
  • 30 岁,我应该走技术路线还是管理路线?
  • 1、3、5 年的职业规划怎么做?
  • 生活与工作如何平衡?

当时师姐给出的答案,在我的成长路上起着非常正面、深远的影响,至今我还觉得这就是最好的答案。

成长就像打怪升级,打着打着,你就知道自己想要什么了。

不成熟的小建议(关于迷茫)

在这里呢,我有几个不成熟的小建议。

1. 在职业发展,职业能力才能决定你是否胜任某项工作

在职场上,还是用能力证明自己吧,提升个人的专业能力和综合素质,那些跟你说“你不该 xxx”“你不能 xxx”,如“女生不该做工程师”的声音,可还行……

2. 每个人的长处不一样,用你的方式,跑到终点

认识到每个人的长短处是不一样的,不管男生女生,关系到你在职场发展的点,更多的是你的个人特质、思维方式、能力。刚刚《疯狂动物城》的训练剧照,还有个点,里面有各种各样的动物,除了兔子,悉牛、大象等难道天生就可以当一个好的警察吗?没有的,都是要一起训练,练出好警察的基础素养,再发挥专长,用自己的方式,去到终点。

另外一个题外的点,也是我这段时间的感悟。团队协作,你会遇到很多人,也许会出现很多跟你不一样的人,欣赏 TA 的优点,去欣赏这些团队里跟你不一样的烟火~

关于我

image.png 我是伍玉莹,花名“姬无”,来自阿里巴巴 1688 体验技术。以上是我的履历,其实也很简单。

  • 实习:百度知道
  • 校招(工作前 3 年):百度知道 & 百度经验 & 百度师傅(孵化)
  • 间隔年:新西兰打工度假
  • 现在(工作后 3 年):阿里 1688 体验技术

现在,在业务上主要负责 1688 的行业导购场景,技术上负责新研发(前端工程/Serverless/Web IDE)和数据度量(业务数据度量/研发效能度量)。

image.png

上面这是阿里前端的 JOB MODEL,个人认为比较客观的,可以看到我的成长历程,基本也是这套模型的其中一个实例,哈哈。接下来,基本按照“每一个阶段中,我做了什么和有什么感悟”的套路,给大家分享我的故事。

初入职场

image.png

我的故事(初入职场)

从校园到职场,相信和大家经历的都差不多,实习/校园招聘,经过了层层笔试、面试,最终拿到心仪的 offer。

在这一趴,我的故事很简单,大三参加了百度的实习招聘,来了百度知道的前端团队,实习期间跟着导师,修修 bug、做一些小功能。

在这个阶段,最好的点是可以开始培养一些良好的职业习惯,我现在的很多习惯都是在这里培养起来,譬如天天写工作日记和阶段的总结等等。

不成熟的小建议(初入职场)

1. 保持好奇心

如果是上线一个导航上的“new”标识,你用的是 React,你会不会去了解 React 的相关原理、当前这个页面的构成/模块化/应用脉络、前端工程……

2. 做一个靠谱的职场人

老板给到一个需求,合理评估排期和落地,有风险的话及时暴露风险,上线前做好测试,上线后回归,不要在关键时刻失联。成为一个靠谱的新同学,团队会给你更有挑战和更有成长空间的机会~

3. 培养一些好的习惯

也许这些好的习惯,跟专业技术没有直接关系,但会潜移默化地提升你的综合实力。

  1. 时间管理
  2. 项目管理
  3. 记录与总结
  4. 学会求助
  5. 多走一步:除了完成需求,能不能多想想,多走一步,去做一些有价值的事情

4. 进大厂看看

如果有机会的话,争取在工作前几年进大厂看看。刚毕业到公司,遇到的师兄师姐,几年之后你身上有些特质会跟他们很像~ 在大厂你可以看到大规模应用的研发流程、技术栈、解决方案,另外也会遇到很多优秀的同事,在导师、同事身上,会学到很多东西。

独当一面

从校园到职场,我们都会经历一个 landing 的阶段,学习技术、熟悉团队、融入公司文化、和不同的人和团队协作……那么,一段时间之后,我们就变成一个“熟手技工”,真正成为一名前端工程师。

下一个阶段,我们要思考的问题是,前端工程师是怎么变成一个可以独当一面的“高级”前端工程师的呢?

我的故事(独当一面)

image.png

刚加入阿里的时候,我们小分队对接的是 1688 的淘货源业务,1688 大家应该都知道噢,我们的目标是让天下没有难做的生意,让源头厂货更高效地在市场流通,而淘货源业务服务的客户是那一批来 1688 批发的淘宝卖家。

这块业务当时是刚刚交接到我们的小分队,有 5 个前端,支撑淘货源的 PC 频道&导购场景、无线频道&导购场景、商家管理后台。现在看来 5 个前端太豪华了,但是,当时太难了,天天报线上 bug,业务飞快增长,需求多多多,基本都是白天救火+评审需求,晚上加班赶需求的开发,业务疯狂地往前跑,我们基本是被拖着在地上摩擦。

作为一个“高级”前端工程师,我可以有两种做法:第一,天天还是救火加班,按时把需求交付了就完了。另外一种做法,也就是接下来要给大家讲的做法,有独立的思考,知道业务需要什么,团队在面临什么问题,你可以做些什么,让你的团队变得更好。

分析问题的表象和本质

当你遇到让你难受的点,不要一直忙着写代码,留点时间给自己想想,问题出在哪?怎么改变?

我们当时遇到的难受的点,表象就是天天报线上 bug,忙着救火,还要一直加班赶新的需求。

救火这个事情,其实好破的,源于我们刚接手新业务,不熟悉现有的逻辑,花点时间梳理业务对应的所有应用、页面、模块,review 下有什么问题,碎片时间或者一块时间集中修掉,就完了。

一直赶新需求这个点,我们来分析一下,都是在做什么需求?

  1. 历史原因,技术栈不兼容,导致一些别的技术体系的组件要 copy 过来。这部分的工作量,属于重复的不必要的工作量,可以通过统一和打通,把人力释放出来;
  2. 类似的场景,不同的运营同学、设计师负责,规范不一样,而开发出来的组件,没有复用性,基本是一次性的。缺乏模块沉淀,每次都是从零开始,开发效率当然快不起来~
  3. 如上一点所说,一个业务的一类组件(如商品表达、头部导航)表达类似的信息,但是有 6 套组件,每一套为什么长得不一样,对业务有什么价值,说不出个 123,这个问题让我们的日常维护非常头痛,假设要在商品的右上角加个大促标(如双 11 热卖),需要修改 6 个组件。这部分的人力也是可以省一下。

image.png

我要和团队一起做些什么

问题的表象和本质梳理完啦,要做什么就很明确啦。

  1. 梳理一个场景(页面)的构成,如下图,大概包括:业务组件、基础组件、UI 元件、业务数据 adapter……
  2. 联合业务、产品、UED 团队,产出业务的视觉规范,同类场景、组件做到收敛同时又支持业务特性配置,同而不失个性化;
  3. 基于以上的规范,沉淀出代码层面的元件、基础组件,配合业务配置,快速可以产出业务组件,搭建不同的业务场景;

如右下角的 4 个不同的场景,改造前的工作量,可能是 2 人日 * 4,改造后,2 人日做完 4 个场景没问题。同时,收敛基础模块,维护成本也被大大降低。

image.png

不成熟的小建议(独当一面)

我简单梳理一下刚才的思路。从初出茅庐,到技术有所成长,该懂的我们都懂了,开始关注下业务需要什么。刚才那个例子,飞速增长的业务需要前端能够快速支持,需求上得越快越好,对吧?经过了解之后,加上我们在一线开发,我开始知道一点点业务想要什么,有了自己的想法,很多事情不是你一个人能做完的,所以我们这里会涉及协同,还有项目管理,最后发挥了技术的价值,做了一些对业务对团队有价值的事情。

下面是我梳理的一个完整的项目流程,有的时候,我们也会做一些项目管理的工作。项目管理嘛,其实就是谁在什么时候应该交付什么东西,中间有风险能否及时识别并且解决掉,保障项目如期甚至提前的高质量交付。

image.png

是从视觉评审开始,接需求,就开始排期开发,项目上线之后,就算结束了呢?周而复始地接需求、做需求。

还是,业务方会主动在 ta 做规划的时候找你聊,我有个点子,是基于 xx 理由对业务有正向价值提升的,你有什么建议,然后再走需求评审、视觉评审,技术调研&评审等,项目上线后,还没完,你会主动去跟踪和验证项目上完之后,跟一开始这个点子提出来的假设是否一致,有没有优化空间,再拿着数据去跟业务方/产品同学说,数据是这样的,我有个点子,是这样的……

技术视角的点子一般包括但不限于:技术重构、模块化、性能优化、跨端技术、云原生、3D、AI、微服务……

这样结合着业务做技术,是不是有意思多了?哈哈。

领域专家

刚刚的阶段,不知道大家有没有注意到,我是用技术的视角做研发提效,基于研发效率的角度,解决天天救火修 bug 的问题。

还遗留了一个问题,天天赶需求,业务为了什么天天搞事情?

下面给大家带来的故事是,结合业务,前端做了什么技术赋能业务增值的事情。

我的故事(领域专家)

在这个阶段,需要对负责的业务、行业、商业有更多的理解,这也是我来阿里之后,觉得自己变化最大、收获最多的地方。

以前做产品,思维可能更偏技术或者产品,想的事情大多是怎么开发效率更高、产品的体验可以怎么监控或者把产品体验做得更好。

在 1688,从一开始的淘货源,到现在的行业导购场景,导购场景处于交易漏斗的最上层,在这一层的转化越高,漏斗到最底层的成交额/成交率就会越高,技术能够产生的价值可以直接体现在交易的用户量和成交额上,玩的就是心跳~

下面会简单过一遍,我对业务的理解以及怎么从中发现前端机会的思路。

业务理解

一个商业公司有好的商业模式,是解决了“交换”中的某个难题。电商三要素 —— 人、货、场,我做的是 1688 的其中一种“场”,“场”通过高效匹配“人”和“货”,提升商品的流通效率,降低了交易成本中的搜寻成本。

不难看出,“场”遇到最大的挑战是如何提升场的匹配效率,如什么人该进什么场,进来后哪类型的人更希望看到怎样的商品,他们对什么信息更敏感……搞清楚,是什么更容易促成买家的点击和交易。

image.png

回到我的业务场景,之前不是提到,天天在赶需求么?在以上的大背景下,我们来看看下图的需求梳理,业务方提的需求,不管是升级组件、做页面改版还是做一些跨团队合作的联营场景,真相只有一个 —— 提升场景的业务效能。

image.png

场景业务效能的转化,是业务增长的关键,提供低成本的实验能力,支持业务更低成本的的探索、试错,用数据赋能驱动业务的增长。—— 这就是我的突破口。

问题、策略与解决方案

下图可以看出,传统的实验链路,成本是非常高的。

image.png 我们来梳理下,需要人和时间的地方在哪里?

  • 分桶逻辑(随机实验、人群圈选实验)
  • 埋点
  • 实验方案渲染(偏前端 UI 实验)
  • 实验数据回流

所以,我的策略是降低实验的成本,最理想的方式就是把研发过程需要“人”的环节都产品化掉,不仅如此,还联合搭建平台,提供实验插件,让运营同学可以自行完成实验的创建到发布,进一步增强实验的自主性和效率。

  1. 联合服务端团队,沉淀基础的随机分桶和圈人分桶的逻辑,输出 SDK;
  2. 联合服务端、数据团队,约定埋点的数据信息规范,配套收敛和升级各端的埋点工具,添加实验相关的逻辑,在框架层自动埋上,对一线前端同学是无侵入、黑盒的;
  3. 实验和搭建平台打通,提供实验容器,运营同学可以通过搭积木的方式,自行搭配实验的组件和配置策略;
  4. 自动的实验数据任务,提供 T+1 的实验数据自动回流,无需人肉拉数据或申请研发资源。

image.png 方案出来前后的实验成本对比,现在要在导购场景做个实验,简单太多了。于是,我们多了很多运营和产品同学自发完成的实验,这些数据不由实验方案直接产出,我们做的技术,除了是技术产出,更多的是给业务提供了一种新的视角,一种新的模式,可以更数据化更科学地去探索业务的增长。

另外看左下角的这些实验的数据,正如本章开头说的,这些都是钱呀~ 在一家商业公司,做着会赚钱的技术,最让人兴奋不过了!

不成熟的小建议(领域专家)

我们回顾下刚刚的思路:了解技术 - 了解业务 - 发现业务痛点 - 解决问题需要什么 - 去做 - 数据衡量你的产出。

我们大部分人,应该是在商业公司做技术,在这里,我可能要发出一些灵魂拷问,你也问问自己:

  1. 业务是什么
  2. 客户是谁
  3. 怎么赚钱
  4. 跟你有什么关系

另外一个问题,也是从独当一面到领域专家面试的时候,经常被问到的一个点,如何判断哪一件事情最该现在由你去做呢?如何评价你选的这个事情的投入产出比(ROI)呢?

image.png

  • WHY:为什么要做?在独当一面的时候,其实我们就开始了解业务,为什么要做一件事情,相信都会有自己的角度和想法;
  • NOW:为什么是现在去做?不管是什么优化的点,去做了,肯定比不做好,但是要问一个问题,当前的业务/产品/团队最需要的是什么?
  • YOU:为什么是你做?我的角色是体验技术的前端,我的团队是做导购和工程的,我的特质或者擅长做项目管理、跨团队协同,结合这几点,我最适合从什么角度切入,创造价值?
  • HOW:怎么做成?单点问题的技术深度、技术广度,解决这个问题是单次解决还是体系化地解决,譬如做实验是只考虑前端的实验还是全链路地一起做出了服务端实验、算法实验的解决方案?
  • RESULT:最终结果是什么,是自嗨,还是客观的有价值,价值怎么衡量?
  • PLAN:下一步要做什么?复用赋能其他团队,走到社区,输出给更多的团队使用?

乘风破浪

我正在做什么有意思的事

从去年下半年开始,我和团队同学开始做 1688 云开发的基础建设,起源于 Serverless 的相关,进行本地 CLI 到云研发的研发模式升级。1.0 版本可以看到,主要做了这几件事,解决不同 OS 的运行环境问题、研发流程和开发者提效工具的集成、图形化的操作引导降低学习成本等。

说实话,云研发这个方向我们认为是下一个阶段的研发模式,对降低研发场景的入门门槛和教育成本是很有价值的,也是面向未来的云原生的基础建设,短期没有结果正常的,于是只在课余时间投入很少的人力,结合业务场景很轻量地做了一些云研发场景的建设。

万万没想到,今年年初疫情的到来,没带电脑或者新入职的同学,面临在家里没法跑代码,无法推进项目的问题,由于前期有一些云开发的业务建设,在这段时间针对更多的场景和用户紧急做了更多的补充,在上班的一周内推出了 1688 的云研发解决方案,解决了 SOHO 期间的燃眉之急,从数据来看,大家也开始接受这种研发模式,真香~ 也被认为是 1688 在去年具前瞻性的方向之一。

image.png

那么到了 2020 年,这个事情有了进一步的升级,2.0 版本在路上~ 我们是个业务前端团队,Web IDE 不只是一个 Web Editor,更希望这是个业务云工作台,针对每一个业务研发场景,一站式地完成研发流程管理(变更&发布)、编码&调试、多角色协同、打通业务工具平台和工具,真正地成为业务研发模式的 Web IDE。

下图画的其实是其中一种场景 —— 端云一体化。在一个应用里,一站式搞定本地 UI 的开发&预览、本地服务的开发&调试(结合 1688 的领域模型)、本地 UI+本地服务的调试,发布直接跟消费组件的搭建平台打通。

image.png

然后呢,我手上还有另外一块事情,业务相关的,之前不是提到我在做 1688 的行业导购场景么?最重要的是场景的业务转化么,之前搞过 A/B,现在我们有更智能化的解决方案。

image.png

举个例子,最近地摊经济很火嗷,我买了辆三轮车,准备去地摊,下了个阿里巴巴 APP,想找找货源,看看卖些什么好赚钱。这时候,我分别进入了两个场景,一个出的是左边的信息和样式,重点是价格,比零售价低很多,另外一个更直接,告诉我利润空间有多少。不同的人对信息偏好不太一样,我个人会更偏向利润,会选择在第二个场景下单,而你会更偏好价格,会选择在第一个场景下单。

根据“你是谁”、“有什么商品信息/浏览偏好”,结合“不同行业的商品模型”给用户推送一个千人千面的、智能化的导购场景,就是我们团队现在在做的 —— 智慧卖场。

如果说,研发模式升级是解决生产时的研发效率问题,那么,智慧卖场解决的还是那个商业难题,交易成本中的搜寻成本,对的源头厂货在对的场景给到对的人,让天下没有难做的生意。 嗯,这就是我现在在搞的两 part 事情,很有趣、也很有挑战,有兴趣的同学欢迎一起来玩 :)

image.png

还迷茫吗?

回到我们一开始的话题,在我 22 岁的时候,我问出的那个问题:30 岁,我该走技术路线还是管理路线?

从毕业到现在,经历了一些事一些人,我感觉过了很久很久了,其实啊,我还没有到 30,哈哈,感觉当时的自己,可可爱爱的~ 不过对于这个问题,现在的我已经有答案了。

image.png 现在的我,可以走技术路线,搞前端工程、云研发,打磨丝般顺滑的业务+研发体验,帮助一线开发者提效;
现在的我,可以走业务赋能路线,基于数据洞察更多商业的机会和可能性,写出一些会赚钱的代码;
现在的我,可以帮助团队的小同学们挖掘个人的特质,探索成长和成长的烦恼,我也一起成长;
现在的我,可以沉淀和总结,输出成文字、线上/线下分享,理清思路的同时收获来自不同视角的思维的碰撞;
现在的我,可以反哺社区,筹备像 D2 这样的前端技术论坛,把来自世界各地的前沿思想和技术带给社区;
现在的我,还可以……

除了工作,我还有生活,兴趣爱好也相当广泛,哈哈,最近偶尔有练拳、打鼓、旅旅行,去年考了个咖啡 SCA 中级感官的证书(证书水不水,不重要啦)……

image.png

港真,这些在我 22 岁的时候,我想都没想过,如果刚毕业就幻想自己 30 岁怎样怎样,然后听了别人说“你不该”“你不能”,选择放弃,可还行?只需要考虑“你想不想”,想,干就完了!

现在我感觉自己的乘风破浪、C 位出道的时刻才刚刚开始,哈哈,什么 A 路线还是 B 路线,成年人是不做选择的,我全部都要!我要继续打怪升级!

荐书

最后一个环节,推荐一本书,没有太特别地选,写 PPT 的时候想到这本书很贴题,也许能给大家一些新的角度。

我们老是说青春饭,有没有想过到法定退休年龄,我们的职业生涯可能会长达 45 年 Orz (查了下,国内女性法定退休年龄介于 45 岁到 60 岁,看情况)

还有,人们常说“试错成本高”、“错不起”,但是我经常说的一句话是“我还年轻,试试无妨”(虽然大家可能觉得我不年轻了,估计再过 10 年,我还是会这么说,哈哈),你呢?书里也有写关于这个问题的观点,可以看看~

Emm,有可能这是一本关于时间的书,就不多剧透了,感兴趣的同学看看就好 :)

image.png

最后,也是最重要的

以上就是我的故事,复制应该是不能直接复制的了,大家所处的年代、技术背景、团队、业务可能都不一样,故事背后的思考和方法论,希望能够对大家有一丝丝的启发,哈哈,再次感谢看直播或看本文的你。

如果你对我、对我做的事情对我们团队感兴趣,来和我一起燥、一起打怪升级吧!加入阿里 1688 体验技术团队,一起搞这些有意思的业务和技术。

我们的业务和技术方向包括但不限于:

  • Serverless
  • 前端工程
  • 跨端技术
  • 智能化
  • 云研发
  • 搭建体系
  • 数据化 & 用户体验 & 研发度量
  • 直播

我们的二维码:

  • 左下角:我们的钉钉群,欢迎进群一起聊;
  • 中间:姬无的微信
  • 右边:1688 体验技术的 JD(非官方版,详情欢迎找我聊)

image.png

大概在一年前,类似的主题我在阿里内部有文章、线下沙龙分享过,这一年内,收到很多来自不同岗位、部门的同学的点赞、思考和迷茫,也给了我很多新的启发。我当时就在想,有机会分享给社区的同学们,也是一件很赞的事情,如果对分享的内容有什么想法,欢迎和我多多交流。

下回再见,我应该是那个还在打怪升级、乘风破浪的姬无。


Yuying Wu 个人博客,文字、代码、照片,记录工作和生活.
你可以在这里关注我:twittergithubdoubanzhihu