简介: 前端工程师的修炼没有捷径,踏踏实实的通过一个个项目的实践来升级打怪实现进阶;本文仅分享自己11年的前端生涯,探讨一直在业务中的技术人的成长之路,也复盘再认识下自己,每个节点我遇到的问题和我的选择。
作者 | 风月
大家好,我是风月,2014年二进宫进入阿里,目前是业务平台体验技术数据服务前端团队负责人,负责 BizCharts 横向建设以及财鲸数据业务支撑。本次分享我将回顾作为业务前端从前端工程转型到数据可视化过程中的心路历程。
前端工程师的修炼没有捷径,踏踏实实的通过一个个项目的实践来升级打怪实现进阶;本文仅分享自己11年的前端生涯,探讨一直在业务中的技术人的成长之路,也复盘再认识下自己,每个节点我遇到的问题和我的选择,过程中聊聊走过的弯路希望能让大家少走弯路就达到我的目的了,不说教,不带货。
在我十一年的职业生涯中,以一个阿里的BU为单位,从推动解决业务问题的角度,我基于自己有限的观察总结了需要修炼的6个层次仅供大家参考。
第1层是个人专业技术能力的修炼:
第2层是人际沟通能力的修炼:
第3层是组建团队&架构能力:
第4层跨职能协作能力:
第5层组织发展能力:
第6层战略眼光:
2009年,我从浙江中医药大学计算机专业毕业,和CS强势专业的大学还是存在差距的,学长学姐也没有给出参考模版,一番分析后,不认命的我还是决定继续走前端工程师路线,一开始就很有自知之明,不怕从小公司做起。我大一就开始抓紧机会在计算机学院的创业园里开发学院网站以及大四全年出去实习来积累研发实战经验。幸运的是,几经周折如愿以偿P4入职阿里做前端,可能面试官看中我的不放弃,能否活下来靠自己了。
2009-2011年是我的第一份正式的工作,这阶段我主要负责阿里妈妈淘宝客的前端开发工作,主要技术栈是类库YUI,让我学会了模块化开发的前端工程思维。当时同团队的师兄们已经在实践应用backbone,尝试开发单页,还有一个骨灰级的大神 @李牧 在团队中坐镇,相对而言,对我这个菜鸟来说,09年就接触到了前端届的MVC,学习机会很多,技术氛围也不错;
2011年,本该珍惜来之不易工作机会的我,却因一点小插曲(毕业不久怀孕生娃拿了阿里职业生涯中的1)作出了看其他机会的冲动想法,同时被外部的创业公司以薪资double和技术TL岗所吸引,就这样离开了阿里。创业这一年日日生存在生死线上,资金紧张、融资失败、1小时裁员、互相鼓励、迷茫、解散,从激情满满入职到失望离开,至今历历在目。创业这一年学到的不是技术精进,而是血泪教训,意识到我正在偏离前端技术专家这条主航道,过早被眼前的薪资和TL岗位所吸引,忽视了欲速则不达的道理,我真正需要的是一个稳定长期发展的工作机会,不能短视到只看眼前利益。
2011-2012年,这阶段我的技术栈是seajs、jquery,关键词是模块加载、类库、轻量、ftp上传部署;
2012年,我顺利入职了腾讯(杭州),负责应用宝PC端的Web前端开发,两年后作为预备Web前端TL参加了潜龙培训,一切都在往好的方向进行中。但是,2014年初腾讯杭州分部突然被通知要求将应用宝PC端的业务从杭州迁移回深圳总部,杭州研发人员要么选择base深圳,要么在杭州从头再次孵化新业务,且此时腾讯总部也在大面积的收缩业务,从自研转变为投资合作伙伴。作为杭州土著家庭的我,要想继续我的技术专家路线,只能选择离开,找到一个真正足够大的互联网平台,能够支撑我长期发展。
2012-2014年,这阶段我的技术栈是Angular,MVVM、单页、shadow dom、框架、编译、CDN、动静分离等关键词;
痛定思痛,2014年04月28日,选择在生日这一天二进宫阿里,代表我的新生,从看似光鲜的TL岗重新回到一线开发工作,且暗暗下决心,这一次绝不会主动离开阿里,也不转岗,坚持到底活下来。此时二进宫的我已经工作五年,现在想起来特别感谢这一年没有层级和年龄的限制,让我这个浪子可以有机会回头。考虑离开阿里的同学一定慎重思考未来二进宫阿里是否还有机会,千万不要草率作出决定,可以参考我的血泪史。
2015-~,这个阶段我一路写过全栈node、移动端zepto、React,阿里统一以React作为底层技术栈,内部紧密共建React生态,toB研发模式逐渐形成,D2C(design to code)、webIDE、搭建发展如火如荼,数据可视化也正式被阿里加入前端招聘细分子方向,影响着前端从业人员努力的方向,并且不少阿里优秀的库对外开源回馈社区。这个阶段是最百花齐放的时刻,也是无形中在推动你成长,不要忽视环境的力量;
11年里前端技术栈发生着剧烈的变化,前端的职能边界一直在延伸。阿里非常鼓励我们在技术产品化上有更多的尝试,在阿里已有的平台上,独立从前至后完成一个专业的产品完全不是问题,就看你是否限制了自己,当然牺牲业余时间学习不可避免,我自己想的很清楚我会得到什么,失去什么,未来自己把控。
感悟:功利心是大忌,长远职业生涯考虑,发展才是硬道理,面包会有的
冲动是魔鬼,工程师在打怪升级的过程中,会遇到非常多的“意外”面临选择,比如失恋、迷茫、怕累、家庭、没信心、与主管意见不合、晋升失败、被打3.25、创业吸引、薪资吸引等等原因,无可厚非。但我更想说的是,想清楚自己真正想要的是什么?如果确定是技术专家路线,那就有自己的坚持,职场上的玻璃心基本上不适合长期发展,大概率“出局“。尤其是像阿里这样的高速发展的互联网公司,外部环境的剧烈变化必然引起内部的变化,一线的开发要有感知,但一般影响没那么大,专注做好自己的本职工作更重要;
正视3.25,从我个人了解的,大部分有三种情况。第一种是与该层级要求的能力有距离,如刚入职的新人不适应新环境,或者刚晋升到新层级的老人处在迷茫期;第二种是工作方式出现问题,如只会埋头苦干纯执行没有自己的深入思考;第三种是因身体原因,如生病修养一段时间,或孕期需要更多休息等特殊情况;前两种情况都可以通过努力来解决。3.25只是代表当前这个阶段,并不代表一年后两年后的你,成长需要看的更长远。至少我认识的发展不错的同事大部分都有被打3.25的经历,包括我自己,第二年逆袭3.75和晋升的大有人在,也包括我自己;更关键的是,主管的理由是不是更多关注在你的成长上,有没有看到自己的成长。
2016年初,感谢主管 @梓骞 信任我,让我承担商家业务的前端TL,此时此刻的我,一方面要熟悉新接手的业务,一方面要修炼组建团队的能力,同时承担PM的工作。这一年下来,业务做起来了,团队建起来了,而我自己的发展呢?精力被分配,代码量少了,编程能力生疏了,开始迷茫,技术TL到底该不该写代码?是否只有我并发能力不行?只有我不适合当前端工程师?
我甚至主动的约我的主管 @梓骞 探讨我转型PD的可行性,认真的讲我对自己优劣势的分析。主管没表态,告诉我迷茫是好事,说明我在思考,对于我的想法不拒绝也不肯定,只是让我自己去尝试后再做决定,但前提是不能影响当前的本职工作,且明确的告知我技术TL必须写代码,而且是核心的代码,无论有多忙,都要保持住技术敏感度,熟悉当前的研发体系,对研发痛点有体感,再结合业务痛点才能作出更正确的判断和技术决策,否则面临的就是职业生涯的天花板甚至被阿里淘汰。
经过主管一番的指点迷津,了解到技术TL参与研发的目标后,我开始思考怎么选择项目来确保ROI,做好时间管理,而不是事事参与后精疲力竭还拿不到结果。此刻再回到业务本身的痛点,贴着业务打是最稳妥的方式,大数据客户运营平台最大的痛点就是可视分析的高效表达,且鉴于之前在ARMS监控平台中积累的图表开发经验,我发现自己对数据分析场景下的数据可视化有浓厚的兴趣,可以先从这里入手深入了解一下体系。短短几个月的探索,奠定了我后来几年为之奋斗的细分技术领域方向-数据可视化。
感悟:在业务痛点中发现机会,方向对了就不怕远,坚持就是胜利
现在回想,职业生涯中出现迷茫不可避免,是很常见的事情,主动找主管沟通是很明智的选择,可以更快走出迷茫期,避免陷入误区作出不成熟的决定。比如在TL初期很多同学都会遇到是否坚持写代码的疑惑,时间管理的疑惑,专业发展的疑惑。
在入行之前,我和大家一样以为只是简单的使用图表库,会API调用,能渲染出来折柱饼就行,实际上数据可视化这个方向别有洞天:
同学看到这里,不禁又问?那前端工程能力是不是没有要求,我只会做渲染实现绚丽的大屏?又是一个大大的误区,前端工程永远是Base能力,没有这个基础,基本可以不谈其他的,因为阿里的业务是一个大工程,而受限于你的技术栈不全,你能发挥实力的业务少之又少,谈何独当一面?因此大部分新人入职后,都会优先开始工程能力的训练,存活下来是第一要事。我自身能够顺利转型到数据可视化领域,也是依赖之前积累的工程基础;
感悟:机会总是给有准备的人,保持热情,坚持(死扛)领域深耕
我自己的经历是,刚开始是2017年初从商家业务的痛点入手,先重点做统计图,在作出bizcharts的原型并且应用到业务中后,和AntV建立深度的合作,基于G2沉淀出BizCharts赋能给集团,后又开源反哺给社会,这个过程中也深度参与前端委员会数据可视化小组,希望能贡献自己的一份力量。过程中牺牲了很多我自己的业余时间,比如参与答疑、参与文档优化和demo编写,确实很辛苦,但是我自己乐此不疲,因为过程中我了解到很多用户的真实诉求还有真实的业务用例,这对于我判断bizcharts的发展是很有帮助的,也逐渐清晰下一步应该怎么做。
后随着自己对数据可视化的理解加深,自己能Cover的业务机会也越来越多,2018年开始组建专业的数据可视化团队支撑业务平台的数据服务和大财鲸业务(阿里大财务中台),现在重点投入精力做财务行业领域的可视分析系统和ToB企业级工程解决方案。会一直深耕下去,踏踏实实的,一步一个脚印,稳扎稳打,一起加油。
感悟:不惧怕失败,深耕绝不是一蹴而就,不积跬步,无以至千里
之前有同学问我:为什么我选的是数据可视化这个细分方向?理由如下:
过程中我也是从一次次的业务中实践和摸索,在我看不清的地方,就跨出去先试试水,没有人一开始就知道所有,围绕着数据领域的业务一步步的做,一点点的积累,前期还看不到自己的成长,但是在坚持两年后,突然有一天发现自己有系统性的观点,可以和 @宁朗 @御术 等数据可视化领域的前辈,在一起平等探讨业务发展问题和技术建设的问题了,其实就是日积月累的经验让我从量变到质变了,一万个小时的定律至少在我这里是准的,失败并不可怕,可怕的是还没开始就放弃了;
我的主管 @梓骞 经常会讲,阿里很多小二比我们聪明,却还比我们更努力,我们还有什么借口说是天赋的问题。虽然聪明人很多,但不缺有想法的,更缺的是实实在在落地做实事的;内网ATA有很多非常高质量的前辈体系化的经验总结,非常宝贵,能够扩大技术视野,非常适合在碎片的时间里充电。
心态要摆正,成长是自己的事,职场那么长,长达三十年,为什么我要跟面子过不去,老拿自己去和身边的同学比,非要去死磕层级,累不累?坚定我当前做的事是不是一件正确的事情,是不是解决了业务痛点,在当下,我的核心竞争力是什么?成长真要有什么灵丹妙药的话,可能是我的主管 @梓骞 一直以来的思维方式是怎么通过技术产品化等工作,提升团队的运转效率,那就可以做更多新的事情,自然而然的就成长了,这个思维方式对我影响很深,至少经过目前为止的验证还是成立的!一年可能看不到成果,需要三年~五年;
在经历千辛万苦之后,我幸运的晋升到了P8,你以为终于可以松一口气好好休息一下,其实是不存在的,因为你面临的是新层级的期望和要求,讲人话就是距离3.25很近甚至淘汰。说好的不可替代呢?真相是在工程世界里没有银弹,也就是不存在不可替代性的人,连马爸爸离开阿里,阿里也能正常运转。但技术领域研究越深入,权威度越高,替代成本就越高,一定程度上可以形成核心竞争力。阿里的舞台很大,身边的学习对象很多,立志做一个懂商业的数据可视化专业人士,打深、打穿、打透,新的征程,重新出发,努力踏上数据可视化领域的新阶梯。
原文链接
本文为阿里云原创内容,未经允许不得转载。