畅销书《深入浅出Vue.js》作者,在阿里淘系6个月的收获成长

简介: 本文作者:刘博文(Berwin),花名“玖五”,畅销书《深入浅出Vue.js》作者、知名技术博主、讲师、阿里巴巴淘系技术部前端技术专家,现负责淘系618、双11等超大型营销活动主会场的终端渲染架构

本文作者:刘博文(Berwin),花名“玖五”,畅销书《深入浅出Vue.js》作者、知名技术博主、讲师、阿里巴巴淘系技术部前端技术专家,现负责淘系618、双11等超大型营销活动主会场的终端渲染架构。

回想起年初刚来杭州那会,是疫情正严重的时候,那时候刚来杭州要住半个月的酒店,然后才能进入阿里巴巴溪西园区(后续简称”园区”),时间过得飞快,一晃已经来杭州半年了,这半年经历了很多,也学到了很多,写一篇文章总结下这半年来自己的成长。

勇于挑战权威

要勇于挑战权威,发现现有技术体系的问题,并解决它。

记得当时刚来杭州时,心情是非常忐忑的,对未来非常憧憬,能和那么多很厉害的工程师一起工作是一件特别爽的事,再加上我们团队是做双十一大促会场的,技术人都知道双十一对工程师来说意味着什么。入职后,一大堆技术名词和各种技术体系铺面而来也确实让我感受到了技术的强大,所以就一直以学习的心态在了解和接触现有的技术体系。

进入园区后第二个月就开启了618战役,感谢主管墨冥的信任,当时我承担了一个非常重要的专项PM(Project Manager),它在整个618战役里都算是风险和挑战都非常高的专项,也是因为这件事干的还不错,上线后非常稳定,因此我获得了618战役奖励优秀PM的一个“厉害了Work哥 - 此时此刻非我莫属”奖,奖状在淘宝楼里挂了三四个月,入职不到3个月就获奖应该算是比较值得自豪的事了。

image.png

说这个当然不只是为了显摆,就在我以为自己表现非常好的时候到了转正面试的时间,虽然通过了试用期,但得到的反馈是对我的表现没有超出预期,我的执行力虽然很强,但我“没有对现有技术体系带来变化”。

换句话说,招我来的目的不是来当资源的,618战役虽然打的不错,但说实话换个人上去又能差到哪里去?大家对我的期望是对现有比较成熟的体系带来变革。

那怎么对现有体系带来变革?经过大家的引导和我自己的思考,答案是:”发现现有体系的问题“。我刚来觉得这里技术体系特别牛,加上沉淀了这么多年的双十一,已经是比较成熟的技术,觉得这是一个权威,不可能有问题,所以一直抱着膜拜的想法在了解和学习现有体系,所以这就是问题所在。

这时候我学会的最深刻的一个成长是:“要勇于挑战权威,发现现有技术体系的问题,并解决它。”

身为PM如何推进事情

感谢主管的培养和信任,给了我很多试错空间,入职到现在这半年时间从第一次当PM到现在,犯了很多错误,在一次次犯错后也学习到了很多当Project Manager的知识,本小节将这些成长总结起来分享给大家。

▐ 解决合作阻碍

在推进项目时,有时会遇到一些阻碍,例如:不配合,难合作,主动性差等问题。绝大部分能来到阿里工作的同学不会是“能力”或“态度”问题,所以大部分阻碍可以归结于:

1、信息不一致

2、目标不一致

3、优先级不一致

解决障碍,就是在解决以上这三点,信息不一致可以靠“沟通”和“换位思考”解决,而“目标不一致”和“优先级不一致”可以靠“上升”解决,只要事情足够重要,给出几种解决方案,上升到某个级别问题一定会被按照最合理的方案解决。

▐ 建立自己的权威

入职大概三个月左右的时候,我发现PD(产品经理,在阿里巴巴我们称为 Product Design,即:“产品设计”)在与我合作的过程中对我是有点不信任的,例如:相同的答案PD会相信我师兄和主管、我给了方案后PD会再去找我主管询问是否有更好的方案等。这也让我有了很多成长,当时我还特地去向二级主管请教一些方法。

拉人佐证自己的判断

案例一:在没有建立起自己的权威前,很多时候PD并不相信我给出的方案。那么这种情况解决方案是:假设有3种方案,将各自的利弊信息同步给PD后,如果都不满意,可以拉其他人,例如拉自己的主管进来,佐证自己的判断。(但前提是自己要做好功课,先和主管沟通好达成一致,再将信息同步给PD)。

案例二:假设现有两种方案各有利弊,完美的方案需要团队A配合,那么可以拉着自己的PD去和团队A的PD谈(前提是要先和自己的PD达成一致,并且以自己为主导拉PD只是来佐证自己的判断),一方面向团队A的PD佐证自己提的需求是重要的,另一方面也可以向自己的PD佐证这个需求确实没那么简单。如果事情推进遇到阻塞,回到“解决合作阻碍”小节,最终问题一定会被解决。

拉主管进来是为了佐证自己的判断,而不是和PD一起把复杂问题抛出去。

拉主管佐证要先沟通好达成一致,不是突然把主管拉进来佐证自己,避免主管的判断和自己不一致当场被打脸

资源不足而PD说我都要怎么办?

先和主管达成一致,客观评估需求是否真的重要到需要拉其他同学来帮忙开发,在一个更宏观的角度评估哪个需求优先级更高,然后再给PD同步结论,如果不接受拉主管进来还是相同的结论,再不接受再拉主管的主管也是相同的结论。权威就是在日常这样一点点建立起来的。

与PD合作的艺术

回到最初的问题,PD为什么要找我主管寻求帮助?

1、她想把事情更好地推进下去

2、她觉得找主管会有更令她满意的方案

本质上是我还没有建立起自己的权威,另外PD是信息弱势方,所以如果我给出的方案她不满意时,她会去找她更信任的人寻求帮助看是否有更好的方案,那么如果这时真得到了一个更满意的方案,那么她会觉得这招管用下回还会再去,这时候我的权威就会崩塌。

解决方案是:提前做功课给到PD的信息永远是权威的判断,在不信任自己时拉人佐证自己的判断是对的,或者和PD一起去找其他人继续推进&解决问题,逐渐让PD意识到即便是找了其他更信任的人也会得到相同的结论,我的结论就是正确且权威的。

积累自己的信用

作为新同学,可能会发现同一件事,同一个解法,PD经常会不信任新同学。

这里日常工作本质上是累积信用和消费信用的过程,解决方案是:在日常工作中一点点累积自己的信用,当机会来临要勇于消费信用去推动事情,这也是体现“此时此刻,非我莫属”的阿里巴巴价值观。

当然,打了败仗,信用也会消耗,经常打败仗即便不是新同学也很难让人信任,所以还是要靠自己的本事来积累信用并建立权威。

▐ 项目风险同步

这半年时间,关于风险同步我犯过两次错误,这两次错误也分别让我学到了两种关于项目风险的经验。

**风险同步:Case 1
**

事情发生在今年的88大促,当时我为会场底层渲染架构全新升级了一版,在一个极短的时间用新开发的2.0追上了正在运行的1.0的大部分功能,然后在88大促切换到2.0,可以类比在天上给飞机换引擎。切换2.0后如预料中的一样,出了一些小问题。

问题在于,给飞机换引擎这个动作和行为,我没有通知给业务方,导致出了问题的时候,业务方很惊讶,为什么之前一直好好的这次突然出了这么多问题?业务方对这个事没有任何预期。

在这件事上,我学到的是:在做一件事时,要通知到所有可能会因为这件事而受到影响的人,把自己的计划,方案,风险等信息完全同步给可能会受到影响的人,好处是:

人多力量大,如果方案确实不成熟,有漏洞大家可以一起完善提高稳定性

大家都知道这件事,而且计划、方案、风险、预案都得到了大家的认可,即使真的出问题也不会给大家“惊喜”

风险同步:Case 2

事情的背景是,有一次我负责一件事,这件事在过程中我发现进度有延迟的风险,但当时我选择了自己抗下来,加加班,赶赶进度。后面我低估了这件事的严重性,导致最后实在扛不住了才暴露风险,紧急加人解决了这件事,虽然这件事没引起问题,但是这个最后临门一脚才暴露风险这个行为是不对的。

通过这件事,我也学会了如何做事是对的(感谢主管孜孜不倦的教导),暴露风险不是懦弱和能力不行的体现,暴露风险是一个PM的专业素质,不要自己硬扛风险和压力,过程中有风险需要帮助应及时提,避免到最后扛不住才将风险暴露出来。

▐ 误区:不敢上升和暴露风险

新人入职都会进入一个误区:

1、为什么我负责的项目,大家都在争论不休,是不是我能力不行?

2、为什么我负责的项目,好多事我都解决不了需要靠更高级别的同学来拍板,是不是我能力不行?

3、为什么我负责的项目,又又又又有风险了,是不是我能力不行?

现在我可以很明确的告诉大家,不是,完全不是!

推进项目受阻有很多原因,绝大部分都不是自己这个位置能解决的,上升是非常高效的解决方案。

项目遇到风险也是同样的道理,除了确实是自己能力导致的风险以外,绝大部分风险都是客观存在的事实,和自己能力没关系,即时且充分暴露风险寻求资源解决风险才是王道,这反而是一名专业的PM应该具备的基本素质。

PM的职业素养

PM的目标只有一个:“确保项目按时保质上线”,但过程也同样重要,阿里巴巴有句土话我很喜欢:没有过程的结果是“垃圾”,没有结果的过程是“放屁”。

在推进项目的过程中,一名合格的PM需要具备的基本素养是:

  • 拥有Owner的心态
  • 做关键技术决策
  • 充分暴露风险
  • 调动能调动的一切力量

内心时刻铭记一句团队内广为流传的名言:所有关于事的困难可以靠坚持解决,所有关于人的困难可以靠换位思考解决。

▐ 关于情绪控制

项目复杂且生产关系也复杂的时候,会遇到各种困难和阻塞。沟通工作时很容易情绪失控,但身为一名合格的PM,任何时候,不应该被情绪控制自己的判断。

任何时候,都应该基于客观事实理性分析问题,不应该带有主观的执念。

这也是未来我要加强训练的一点,过去这半年,我经常情绪失控,未来我会克服这一点,做一名专业的Project Manager。

▐ 关于方案评估

评估某个方案是否可行,不应该只是评估技术上是否可行,还要考虑按照这个方案推进后,会带来怎样的影响。

关于这点我曾犯过一次错,在技术方案的评审上,我只判断了技术的可行性就同意了某个方案,但是我没有考虑按照这个解决方案推进后会带来很大的其他影响。后面我师兄及时制止了这件事的发生,但是已经答应了PD按照某个方案推进结果又反悔,对于我这种新人甚至是我们团队在PD心中,都是非常消耗信用的一件事,“积累信用可能需要好久,但消耗信用,仅仅只是一次无意间的失误”,要珍惜自己的信用,“信用”,才是PM推进事情时的通行证。

▐ 避免无意中踢皮球的情况

客户(运营、产品、其他人)有疑问来向自己咨询的时候,即便不是自己负责的域,也不要直接和客户说你去找谁谁谁。正确的做法是先把问题揽下来,然后团队内部找对应的同学拉个群解决。

我就曾遇到过这种被踢皮球的情况,我有疑问找了A,A说让我找B,B让我找C,C说他不负责这事,然后我直接找了他们共同的主管,问题解决。

我知道他们不是故意踢皮球,但在我找不到他们1号位是谁的时候,用这种方式对我来说是最快速解决问题的方案。这首先对于客户的体感不好,另一个是我向他们共同的主管寻求帮助后,他们的体感也不好。所以,要有owner心态,“让业务方幸福,让主管信任”。

前端工程师的职业素养

前面说了很多关于PM我犯的错和收获到的成长,那么作为一名前端工程师,这半年也收获了一些成长。

▐ 做一名有“标签”的人

要做一名有标签,有特色,有影响力的人,在公司工作了一段时间后,在人们心中不应该只是一名“前端工程师”,应该是一名XXX的前端工程师。

标签应该自己去努力获取,有两个标签是我现在在努力获取的:“双十一前端PM” 和 “不到30岁的P8”。

▐ 让事情因为自己而与众不同

一个灵魂拷问:今天我负责的事,我做完和其他人做完有什么不一样?今天我作为Project Manager负责某个项目,如果换做其他人来,会有什么区别?

今天获奖也好,得到一个好绩效也好,真的是因为自己做得好,还是因为主管把自己放在这个位置得到了更多的资源所以做得好?如果把其他人放到这个位置,和自己会有什么区别?这是一个值得思考的问题。

一个特别大的误区是:认为自己技术好,所以比其他人做的好。今天能进阿里的同学技术上都不会差,再加上大部分工作都不是去造火箭,所以 “技术好 !== 拿到好结果”,技术好会增加拿到好结果的概率,但不是一定能拿到好结果。

所以,要让自己负责的项目,因为PM是自己,而变得不一样。要让自己的团队,因为自己的存在,而变得不一样。

▐ 学会换位思考

换位到更高维度思考,很多时候不理解的事就理解了。换位到合作伙伴的维度思考,就理解他为什么会不配合,难合作,主动性差。换位到客户的角度思考,就理解她为什么会不信任自己。

还是那句话:所有关于事的困难可以靠坚持解决,所有关于人的困难可以靠换位思考解决。

▐ 沟通的艺术

这是有一次和主管聊天中学到的,和人沟通,一定要学会聆听,解决冲突或问题时,第一步是“聆听”,先聆听,充分了解信息后,再基于客观事实把事摊开了,并基于客观事实讲述正确的做法是什么,然后再去指点哪些地方可能不足。

如果不聆听就做判断,试想在没有得到足够信息输入时就做判断,判断真的客观么?还是自己主观上有倾向?就算自己对情况完全了解,不需要输入也可以做判断,那信息的输出方会不会认为自己做的判断不够客观?因为自己都没有听他说的是什么就做判断,他一定会质疑自己的判断是否公正。

总结

半年来,成长远不止这些,还是感谢舒文把我带到这个团队,赐予机遇和指导。感谢主管墨冥这半年来不断地言传身教并给予机会试错,相信未来,我会在实战中承担更大的职责,相信未来,我会让我们团队因为我的存在变得不一样。

更多:

玖五Twitter:https://twitter.com/jiuwu_lbw
玖五博客:https://github.com/berwin/Blog/issues
玖五知乎:https://www.zhihu.com/people/berwin-95/

关注「淘系技术」微信公众号,一个有温度有内容的技术社区~

image.png

相关文章
|
JavaScript 安全 前端开发
畅销书《深入浅出Vue.js》作者,在阿里淘系1年的收获成长
时间好快,眨眼间,加入阿里已经一年了。这一年发生了很多事,整体上非常地充实且精彩,在一件又一件事情中,我不停地犯错,一路走来,步履蹒跚,也收获到了很多成长。每次结束一件事后,经过短暂宁静的生活便再次踏上新的征程。 之前写过一篇《畅销书《深入浅出Vue.js》作者,在阿里淘系6个月的收获成长》,因此文本主要讲述“后半年”收获的成长。
|
7天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
10天前
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表
|
7天前
|
缓存 JavaScript 搜索推荐
Vue SSR(服务端渲染)预渲染的工作原理
【10月更文挑战第23天】Vue SSR 预渲染通过一系列复杂的步骤和机制,实现了在服务器端生成静态 HTML 页面的目标。它为提升 Vue 应用的性能、SEO 效果以及用户体验提供了有力的支持。随着技术的不断发展,Vue SSR 预渲染技术也将不断完善和创新,以适应不断变化的互联网环境和用户需求。
27 9
|
6天前
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
|
5天前
|
JavaScript
如何在 Vue 中使用具名插槽
【10月更文挑战第25天】通过使用具名插槽,你可以更好地组织和定制组件的模板结构,使组件更具灵活性和可复用性。同时,具名插槽也有助于提高代码的可读性和可维护性。
13 2
|
5天前
|
JavaScript
Vue 中的插槽
【10月更文挑战第25天】插槽的使用可以大大提高组件的复用性和灵活性,使你能够根据具体需求在组件中插入不同的内容,同时保持组件的结构和样式的一致性。
11 2
|
5天前
|
前端开发 JavaScript 容器
在 vite+vue 中使用@originjs/vite-plugin-federation 模块联邦
【10月更文挑战第25天】模块联邦是一种强大的技术,它允许将不同的微前端模块组合在一起,形成一个统一的应用。在 vite+vue 项目中,使用@originjs/vite-plugin-federation 模块联邦可以实现高效的模块共享和组合。通过本文的介绍,相信你已经了解了如何在 vite+vue 项目中使用@originjs/vite-plugin-federation 模块联邦,包括安装、配置和使用等方面。在实际开发中,你可以根据自己的需求和项目的特点,灵活地使用模块联邦,提高项目的可维护性和扩展性。
|
6天前
|
JavaScript 前端开发 UED
vue 提高 tree shaking 的效果
【10月更文挑战第23天】提高 Vue 中 Tree shaking 的效果需要综合考虑多个因素,包括模块的导出和引用方式、打包工具配置、代码结构等。通过不断地优化和调整,可以最大限度地发挥 Tree shaking 的优势,为 Vue 项目带来更好的性能和用户体验。
|
10天前
|
JavaScript 前端开发 开发者
Vue 的优缺点
【10月更文挑战第16天】Vue 具有众多优点,使其成为前端开发中备受青睐的框架之一。尽管它也存在一些局限性,但通过合理的应用和技术选型,这些问题可以得到一定程度的解决。在实际项目中,开发者可以根据项目的需求和特点,权衡 Vue 的优缺点,选择最适合的技术方案。同时,随着 Vue 不断的发展和完善,相信它将在前端开发领域继续发挥重要作用。
19 6