当前位置: 首页 > 科技观察

从P6到P8,再到P10,我11年的前端成长之路

时间:2023-03-12 22:45:45 科技观察

今天想和大家分享一些关于个人成长和团队领导力的感悟。我可能更倾向于写作或者阅读,很少谈及对外分享的成长。今天试了一下,希望对大家有所帮助。图片来自Pexels注:这是一篇阿里内部前端大学的分享。我编译了一个外部版本。希望分享的内容能对你有所帮助。这是我的简单经验。2008年加入淘宝UED,学长是佩玉。我和小马、远心在同一个大团队。那是一段非常快乐的时光。到了2011年,淘宝有了赛马机制,我就兴致勃勃地出去了。在经历了几个月的惨败后,我回到了淘宝技术部,在Java团队从事前端工程和性能优化工作。当时一边写Java代码一边写前端,终于喜欢上了前端,于是在2012年转入了支付宝的前端技术部。在2013年的无线ALLIN中,一大批前端面临选择。我选择了落日红的PC业务,留下来继续做支付宝PC版。当时有很多要求。当我正要兴高采烈地去做的时候,经常会被告知项目暂停了,不需要我去做了。很伤心。幸运的是,从2014年开始,大量中后台业务的需求开始疯狂增长,尤其是金融云业务的上线,中后台的产品体验变得越来越好。更重要。于是2015年开始成立UED,体验技术部有了第一位正式设计师,之后逐渐发展,业务和团队也越来越好。整个经历分为三个阶段:一个是求学生涯,然后是淘宝岁月,现在是蚂蚁时代。在我心里,我一直认为我是一个淘宝人。去年在阿里呆了10年,突然发现自己在蚂蚁呆的时间比淘宝还长。我已经是蚁人了,这太棒了。个人成长关键词加入阿里的11年,我会不断回顾自己,尤其是这次收到前端大学的分享邀请。想想过去11年对自己成长最关键的是什么。我自己的总结是三个关键词:全心全意,正直出奇,甘等花开全心全意。我一直提醒自己,你必须全身心投入到你所做的任何事情中。让我告诉你一个故事。2008年刚加入淘宝UED时,长期不在工位的我进入了静修室。一进闭关房,就基本不出门了。从交易的二期、三期、四期开始,我们一直在做彩石项目。回首往事,十分怀念。进公司的那几年,我的状态就是每天写代码,很疯狂,也很有成就感。我在做交易业务的时候,心里想的是,一是想把前人写的烂代码改进一下,二是发现这个业务很有意思,这样可以熟悉整个淘宝通过代码进行交易流程。我记得癫痫先生有时会来找我询问一些业务细节。真正的细节魔鬼掌握在编写代码的人手中。现在的交易过程中,在退款等页面,有些代码是我几年前写的。那时候超级熟悉淘宝的整个交易流程,觉得很自豪。可能正是因为这种疯狂,在2009年,他从P6提名到P8,没有面试就通过了晋升。另一个令人印象深刻的项目是旺旺灯饰。旺旺灯饰的代码不多,但是逻辑有点复杂。比如很多门店的客服服务员叫沈玉落雁,那么我们就需要考虑如何正确分配账号。旺旺灯饰也开启了我写SeaJS的欲望。旺旺电录首先要解决的就是加载问题。类似阿里妈妈的广告脚本,想办法优雅更新,处理多版本兼容,加载更多模块等等。旺旺灯饰的另一个逻辑是通过URL拼接参数,这会带来灾难。IE等浏览器对URL的最大长度有限制。在我的印象中,URL不能超过2083个字符。如果超过,则必须拆分。批量发送请求是异步的,但是返回结果后,需要保证返回的结果能够按顺序正确执行。这实际上是SeaJS的核心。SeaJS中存在批量异步并发请求模块,那么需要保证每次请求结果返回后,执行顺序可控,处理好模块的依赖关系。很多技术思路都来自业务本身遇到的问题,挺有意思的。KISSY也来自商业。一开始交易线上使用的是YUI类库。在使用YUI的过程中,发现它的代码写的一般,很多模块官方更新比较慢。当时为了追求极致的性能,很想删掉YUI基础类库中不需要的代码。过程中你会发现很多优化点,甚至有比YUI更好的代码实现方式。在模块组织的粒度上,也有更适合交易线业务的最佳实践,所以顺手写了KISSY的基础内核代码。同时,程宇的加盟非常给力,让KISSY得以快速发展。在做淘宝贸易线业务和旺旺灯饰业务时,我真的把所有的时间和感情都投入了进去。每天想的都是业务流程和代码优化,想尽可能的提高代码的可维护性和性能。到极点。在这个过程中,出现了很多有趣的想法,比如SeaJS和KISSY。那几年,我也做过淘宝首页、全球天花板、淘集集、社区等业务,每一个项目都倾注了自己的情感。有一个女孩曾参与过一个项目。我到支付宝后,她还给支付宝前端起司分享会送了一个起司蛋糕。大家都夸我是合作最好的前端。那时,她经常分享一个想法,我第二天就做了一个原型。非常沉浸快乐的淘宝时光。所以我给自己总结的第一个关键词就是全身心投入,享受当下的事业,想方设法做到极致。在投资过程中保持真实而不虚假。很多前端喜欢做类库。如果你真的想做,可以大胆的告诉Leader。当时和小马商量,想做KISSY,为什么,对生意有什么好处。得到小马和其他同事的认可后,才有机会愉快的去做。核心前提是想清楚完成后对业务的价值。PC互联网时代,从2008年到2012年追求性能优化,那个时候一个很大的背景是极致的性能优化对2C业务有很大的价值,所以才有机会去做。前不久在一次团队会议上,我半开玩笑地说,全情投入也包括全情投入和全心投入。你经常参加各种会议,没必要的会议,我能逃就逃,有的会议逃不掉,我的做法是全神贯注,身体在会议室里,人却飘出来了,飘远了头出去是完全致力于其他重要的事情。一个人唯一的财富就是自己的时间,要对自己的时间负责。最好的时间管理就是全身心投入。每个人都可能会读《守正初起》(qi),但事实并非如此。正确读法是(ji),odd为奇数,02468为偶数,13579为奇数。奇数比偶数多一点,奇(ji)是多一点的意思。只有用更多的人力和时间去做更多的事情,才能取得胜利。挺身而出的典型案例就是韩信的背水一战。韩信手头有三万多人,他准备带着二十万人去攻打赵军。取得胜利的一大原因,并不是逆水作战没有退路,而是韩信在逆水之外有奇兵,半夜派出两千人埋伏。赵军以为韩信大军将要战死后,派出所有老窝,两千伏兵从背后冲入赵军空营,迅速夺取营房,使赵军大获全胜在混乱中。克敌制胜的关键在于与齐胜和好,而不是将所有的士兵都置于水边,死战到底。最后一站的详细故事,推荐听听课程《华杉讲透孙子兵法》,很精彩。回到前端领域,业务正,专业生怪。首先要做好企业服务,做到客户至上。我们稍微扯点题外话,谈谈什么是客户至上。以我个人的理解,客户至上就是客户价值+客户体验。我们建立了一个商店,为商家提供各种有用的服务,这才是真正的客户价值。但你也需要关注客户体验。所谓客户体验,往往是让客户认可你,在情感上支持你,而不是简单的把功能做好。对于前端,我们的客户包括商家、用户等终端客户,也包括产品、运营、技术等业务合作的直接客户。对于直接客户,我们习惯称他们为业务方。前端需要为终端客户创造客户价值,同时需要处理好业务端的客户体验。前端资源一直供不应求。在与业务方合作时,往往不乏客户价值。业务方的感情很容易相处不好。每个前端TL都应该经历过,业务方找我们做前端,很头疼。处理业务方的感情有很多方法。先说一个Ant中的案例。蚂蚁的中后台一直缺前端。为了解决这个问题,推动了全栈开发。直接让Java开发做前端的工作很容易引起Java团队的反感。当时我们的做法是不断找一些JavaLeader来布道,真正解释前端资源不足的困境。同时,我坦言,我们需要共同解决的问题不是前端资源的问题,而是如何共同努力把业务做好。希望JavaTL能进来一起解决。然后我提出一个全栈方案,我会做讲师,培养Java学生具备前端开发能力。最重要的是大家齐心协力,让业务线的项目开发继续下去。最后你会发现,最重要的是如何把业务方一起拉下水,和你一起解决问题。只要你们一起下水,Java开发者就会开始了解你们。他会觉得前端技术比想象中难多了。原来宇博队不简单。一旦有了这种感觉,你和他之间的情感沟通和一些联系就建立起来了,他对你的感觉也会不一样,以后也会出现很多合作的机会。做好业务项目,服务好业务方很重要,但还不够。我经常跟团队说的是,如果业务没做好,性能肯定是3.25,但如果只把业务做好,很难拿到3.75。想要拿到3.75,还需要专业沉淀的突破。业务正,专业奇。既要服务好业务,又要能够在专业上有所提升和突破。职业之所以“奇”,是因为对职业的投入需要你和团队在业务之外有额外的人力和时间投入。如果一直忙于业务,没有多余的精力投入到专业的思考和创新上,就会缺少“惊喜”,最终也难以良性发展。这个故事大家比较清楚,就不多说了。AntDesign、AntV、EggJS等技术探索和沉淀,是体验技术部在2014年开始布局的专业投入,时间确实很难保证。我曾半开玩笑地说,AntDesign的全职投入只有0.6人,因为AntDesign所在的基础技术组有大量的直接对口。并没有大家想象的那么多专职人员。.但也正是因为能挤出这0.6人,才逐渐投入更多的人手,逐渐形成了一批奇兵。专业需要长时间的长期投入,才有可能出奇制胜。齐和郑需要能够建立直接的关系,齐帮助郑是非常重要的。从业务的角度看前端的价值无外乎两点:一是有助于提升业务研发效率,赋能业务的顺利开展。二是可以给商家的产品体验带来比较大的、真实的提升,可以带来商家的增值。专业人士也应该往这两个方向走,才能赢得上司和业务方的认可和同意。人心是肉的,他会在交往的过程中了解你,才会真正看到其中的价值。然后往正和奇可以相互促进的方向去做,你的团队不仅会提供业务支持,而且在守正的过程中会逐渐产生一些奇奇怪怪的东西。保持正气很了不起,也可以用在学习和成长的领域。工作正,学习奇。在忙碌的工作之余,你是否还有一些时间用来学习和提高。我有一个早课习惯,就是每天早上8:00到10:00之间,我把这个固定的时间留出来学习和思考。看闲书,写写写,不要在学习量上给自己任何压力,而是固定这段学习和思考的时间段。如果断断续续地坚持,不可能天天都做,但是一周做几天,坚持五六年的话,收获还是挺多的。你可以让自己的心变得很安静,在平静中充满力量,非常享受早上的上课时间。同样的,守正惊喜也可以用在家庭生活的安排上,还有健身方面。健身最重要的是养成固定的习惯。你需要强迫自己每周留出一些固定的时间来做这件事。我的健身项目是俯卧撑,断断续续但一直坚持到现在,效果还不错。我在《静候花开》中要讲的是长期主义。很多事情都需要决心和耐心。我总结得比较文艺一点,叫“欲待花开”。如果你真的下定决心要朝一个方向去做,就要学会等待,不能急于催熟。上小学的时候,我们学到了很多简单的道理,但是真正去执行却很难,比如不要破坏成长。在工作中,很容易推翻事情。我会一直跟团队强调,很多事情要快,但不能急。着急的时候,一来不能快速起身,二来容易打乱节奏。举个例子,比如AntDesign,2014年起步,真正有点影响力的,已经是2017年左右了,用了两三年才看到一些产出。AntV、EggJS、SFF等技术都是这样。需要多年的坚持和积累才能逐渐深入,社区慢慢接受他们,愿意接受并帮助这些产品的发展。这几年,体验技术部做的新东西,需要很大的决心和耐心。Basement是一个蚂蚁前端研发平台。今年10月是第三个年头,只是初步完成了三年前想做的事情。今年推出了基于CloudIDE的BasementCode项目,这是至少3-5年要做的事情。我愿意长期投入,因为我心里相信云研发一定是未来。虽然目前质疑和反对的声音很多,但这些声音需要被听到,更需要的是从大势上判断未来的发展方向。如果你有专业的决心,就大胆前行,小心填坑。在刚才的勇敢者分享中,提到了要使用乐高等低代码研发平台。在蚂蚁中,类似的平台有金蝉和云峰蝶。云风蝶选择了一条非常艰难的道路。该项目于2017年底立项,直到今年9月底才做出第一个可用版本。中间经过多次争吵,一度迷茫,但同时也克服了很多技术难关,对云峰蝶的价值和竞争优势也越来越清晰。这支队伍韧性强,经得起折腾,才有可能等到花开的那一天。玉雀的故事也类似。从2016年内部孵化,到2018年团队分崩离析,几近被逼入死胡同。2019年存活下来,正式对外商业化。.能够继续前行,关键在于团队成员心中对玉雀未来的深厚信念。玉雀的故事还在路上,肯定会有很多波折。保持快速发展的同时,也不能心急,要心甘情愿静候花开。以上是我自己的一些感悟。全心全意的奉献需要真实而不假装,需要完全存在。奉献是对待时间最好的方式。堂堂正正,出奇制胜,是我做很多事情的方法和策略。服务好企业,还必须有专业的投入,这样才能形成发展的良性循环。静待花开,需要专注和耐心。你需要时刻提醒自己,很多事情不能操之过急,需要看到更长远的可能性,才能静下心来。以上是三个零碎的想法,对我很有帮助。从2016年开始,我也开始思考支撑团队持续发展的系统模型是什么。最近越想越想把它归纳为一个发展支点杠杆模型。发展的支点杠杆模式2016年以来,无论是个人年度规划,还是团队财年规划,脑海中总会浮现一幅画面。我把它概括为“发展支点杠杆模型”。找到支点图中间的支点非常重要。支点是我们选择做前端还是做某个行业的出发点。这是您认为充实和有意义的事情。不管我们选择做前端还是做后端,做小程序还是做中后端,无论在哪个方向,我们首先要找的就是这件事情的意义。有了这种意义感之后,整个工作心态就很不一样了。2014年开始做AntV数据可视化的时候,我和小青就被《The Grammar of Graphics》这本书感染了,这是一本英文电子书。看了之后发现这个东西如果真的实现了,会带来整个数据图表的很多变化,可以成为AI时代的数据图形表达语法,可以彻底改变使用方式ECharts等传统图表库。我当时很激动,觉得这件事情很有价值,就立了一个项目去做。AntDesign类似。看到每件事背后的意义和价值后,你会驱使自己花几年时间去做,一定要搞出点东西来。在更大的范围内,意义感就是使命感。马云20年前就找到了阿里巴巴的使命,然后坚持做了102年。这是一个非凡的人。回到我们每个人身上,我们的使命可以更小一些,可以缩小到一定时间内我们工作的意义感。一段时间内的意义感是工作的支点,找到它,整个人就会处于一种被点燃的状态。你会眼里有光,有上进心,早上不用定闹钟,自己起床。最近听到梁宁分享了一个很有意思的关于使命的解释:所谓使命,就是如何过好这一生。如何度过这一生,就是如何度过时间,尽可能多地花时间在有意义的事情上。选择与投资找到一个有意义的支点后,我们需要认真思考在这个支点上我们的投资是什么,我们的选择是什么。比如图形语法方向的AntV项目成立后,我们的投入就是加班。业务支持已经很累了,但我们还是会利用晚上等各种时间,热情地去做。当时也有一个很大的取舍,就是放弃积累的ACharts类库,继续前行。选择与投资,对个人来说,是一段时间的工作策略,对团队来说,则是以年为单位的策略。战略二字,看似很高,其实很小。是团队选择的,也是团队投资的。有了投入,有了取舍,经过一段时间,就能得到一些业绩,取得一些成果。在这个过程中,需要不断地看杠杆是怎么动的,分阶段分析杠杆的选择是否正确,是否适合自己和团队去做,通过不断的调试杠杆反射。如果建立了杠杆并确定了所需的方向和目标,则增加投入。当你把这个模型想清楚的时候,你会发现工作中的一些纠结和困惑,比如绩效提升之类的,其实很简单。关键因素是你能不能找到支点,能不能通过投资选择撬动杠杆,走向想要的方向,得到想要的结果。业绩和晋升,在杠杆的过程中,水到渠成。后来两次升到P9和P10,偶尔会有些担心,但从长远来看,我并不着急。当我知道自己在做什么之后,我就有机会升职了。放下一些事情,专注一些事情,相信自己的内心,坚持自己的行动,成长往往水到渠成。看不起心态和能力,支撑整个支点的是你的心态。心态一乱,效率就很低,心态不稳会浪费很多时间。如何静下心来,如何保持学习状态,我觉得很重要。团队中新加入的90后,能明显感受到年轻人的热血与无畏,他们正在尽情地疯狂写代码。这种状态非常好,就像2008年刚加入淘宝UED时的自己。我现在有一个想法,就是想建立一个团队,让团队中的同学们始终保持刚加入淘宝时的热情。工作,能时刻保持良好的学习态度,能享受写代码的乐趣。对其他事情的热情会降低。有了良好的心态,可以通过项目实战、学习培训等方式快速提升能力,不能提升能力,光有良好的心态是不够的。久而久之,你很容易变成一只老白兔。心态不好,能力强,走不远,这就是野狗。想办法在心态和能力之间取得平衡,让良好的心态促进学习欲望和专业能力。同时,能力的不断提升也能让心态变得更好,形成发展的良性循环。心态的背后是价值观。你崇尚什么样的价值观,正面的儒家思想,或者更偏向佛家思想,这些为人处事的背景,会决定你遇到很多事情时的心态。这个话题比较大,有兴趣的可以线下聊。有时候觉得,公司给我们最大的财富,就是默默地让我们在六脉神剑和阿里话的文化土壤中成长。价值观就像土壤中的养分,默默地让树木茁壮成长,让每个人都能像海天一样蓬勃发展。写在上一个支点杠杆模型中,在团队发展规划中也很好用。今天特别想说说团队发展三大战略中的“大房子”。2014年我们在做AntDesign的时候,考虑过不叫AntDesign,考虑取一个中性的名字,这样阿里集团做大后我们有机会覆盖,因为中性的名字不带Ant两个字可以减少一些促进阻力,这是当时的想法。但后来我们选择不这样做,并决定将其称为AntDesign,具有Ant的特征。AntDesign从诞生之初到现在,都是为蚂蚁的业务服务。名称的选择似乎放弃了很大的市场。事实上,到目前为止,我们一点也不后悔。真正服务好自己直接支持的企业,已经很有价值了。专注于业务做技术,技术才会更有生命力。业务是技术的土壤,不同的业务会长出不同的技术。小程序IDE团队原来在体验技术部,但是我们判断小程序技术更适合支付宝事业部,所以我们把小程序IDE团队调到了支付宝团队。不需要太多的工作,不适合自己团队开发的技术,想清楚后可以果断转移到更合适的团队。做了“打舍”之后,对我的团队来说往往是一种解脱,我可以更专注于做“打舍”的事情。很多技术领域,水很深,不是几个人投入几个月就能搞定的。特别有趣的是,因为大舍后来的专注,它有更多机会真正做出世界一流的产品。AntDesign坚持服务好蚂蚁的业务,而忽略了群体的需求。相反,它让AntDesign专注于技术细节,这比集团的同类产品要好。渐渐的,很多BU都开始使用了,并且开源了,在国内被大量的公司使用。重要的是产品的精益求精,而不是一开始的技术职业。玉雀的故事也类似。集团各BU一直对语雀有很多个性化需求。玉雀对功能的选择,往往涉及大宅大户的决策。决定产品灵魂的往往不是你选择做什么,而是你选择不做什么。如果你选择什么都不做,你需要抵制很多诱惑,但在抵制的过程中,因为人力和时间有限,可以逼迫你真正去思考产品的差异化竞争优势,从而逐渐形成产品的独特性,开始有产品的灵魂。以上所有分享的核心就是几个问题:如何找到支点,如何选择平衡点,如何做到全身心投入,如何做事端正,如何提升自己和团队的能力,如何在心态上静待花开。这些都是我不断问自己和问团队几个问题,认真思考,尝试回答,通过实际项目“脚踏实地”的问题。我相信个人成长和团队发展会水到渠成。以上就是我的全部分享,有些啰嗦,见谅。希望对您有所帮助。如果您有任何想法或问题,请提问和交流。