个人前端成长之路:中医药大学毕业的业务女前端修炼之路

简介: 前端工程师的修炼没有捷径,踏踏实实的经过一个个项目的实践来升级打怪实现进阶;本文仅分享本身11年的前端生涯,探讨一直在业务中的技术人的成长之路,也复盘再认识下本身,每一个节点我遇到的问题和个人选择。前端

做者 | 风月

image.png
你们好,我是风月,2014年二进宫进入阿里,目前是业务平台体验技术数据服务前端团队负责人,负责 BizCharts 横向建设以及财鲸数据业务支撑。本次分享我将回顾做为业务前端从前端工程转型到数据可视化过程当中的心路历程。node

前端工程师的修炼没有捷径,踏踏实实的经过一个个项目的实践来升级打怪实现进阶;本文仅分享本身11年的前端生涯,探讨一直在业务中的技术人的成长之路,也复盘再认识下本身,每一个节点我遇到的问题和个人选择,过程当中聊聊走过的弯路但愿能让你们少走弯路就达到个人目的了,不说教,不带货。jquery

技术 TL 进阶金字塔

在我十一年的职业生涯中,以一个阿里的BU为单位,从推进解决业务问题的角度,我基于本身有限的观察总结了须要修炼的6个层次仅供你们参考。
image.png
第1层是我的专业技术能力的修炼:web

  • 咱们工程师从校招开始进入阿里就被安排经过项目开发来训练基础编程能力。通常工做三年,就可以胜任编程岗位工做。编程基础好,成长快的小伙伴1~2年就能够实现专业能力的储备。编程是一门须要动手实践的工种,且在阿里这样的大型互联网公司,业务复杂度不断攀升,一万小时定律被验证是成立的,修炼后就能够在编程上辅导新人实现技术攻坚,这个阶段最重要的事情就是作加法,尝试更多的可能性,不要过早为本身定型技术细分领域,为后面在前端细分领域的选择上打好实践基础;
  • 前端专业能力三板斧:前端工程、性能优化、质量保障
  • 影响力:该阶段更多的是高执行能力,技术攻坚为主,解决点的问题,对项目的成败有必定影响,但不起决定做用;

第2层是人际沟通能力的修炼:面试

  • 在阿里的研发工做中,不可避免须要与上下游的合做伙伴共同做战完成一个中小型项目(项目组成员10人之内);此时修炼的是PM能力,可以经过对业务的理解识别到业务的痛点和项目的风险,给出优先级事项的判断,并协同和推进项目组一块儿解决风险,保障项目的进度;
  • 既有专业能力又有人际协做效能,能够独当一面;
  • 专业层面:通过第1层的实践,开始系统了解技术细分领域,同时基于本身所处的业务和团队状况,做出选择,好比node全栈、数据可视化、中后台、多媒体、3D渲染等细分基础技术;
  • 影响力:对项目的交付质量能起到决定性的做用,项目主力核心;

第3层是组建团队&架构能力:算法

  • 要求咱们具有管理、计划、组织、协调、目标管理、激励、反馈、辅导、招聘、评估绩效等等能力,以便带领他人完成团队目标。具有能够迅速组建新团队或接管已有团队,可以很好的带团队、带项目,具有因人而异解释工做目标的能力,能用团队目标统合团队成员共同实现目标。这一层的修炼难度和挑战远远大于前面2层,由于技术相对是可控的,而人的管理很是复杂,且投入这一层修炼精力消耗较大,同时也要继续技术专业上修炼架构能力与保持编程能力;
  • 专业层面:在第2层选择的基础上,细分技术领域上的深度实践,沉淀专家领域能力;
  • 影响力:可以判断团队所负责业务的痛点,并能结合团队角度给出对应的技术方案,工做会影响到大部门的业绩;
  • 观察样本:最丰富的样原本源,身边有很多优秀的案例,我本身已经修炼过几年的时间,还有很大的提高空间;

第4层跨职能协做能力:编程

  • 修炼到这层,应当具有多线程工做的能力,能够带领几个核心骨干或初级TL,统管多个团队和项目,同时,也可以跨职能沟通,跳出前端的岗位视角,更多元化的思考问题,好比可以很好的协调后端、测试、算法、HR、运营、PD、PMO等各个团队一块儿工做。
  • 专业层面:第3层的基础上,还可以具有必定的行业看法;
  • 观察样本:深刻业务合做过的资深TL们,我本身也是刚开始投入这个层次修炼,视野很重要;

第5层组织发展能力:后端

  • 修炼到这层的人,了解企业的各个职能是如何工做的,可以为BU的扩张作支撑,哪一个部门该加人,哪一个部分该减人,都应该心中有数。此时的头衔,每每是部门总监,可以给出组织架构上的设计建议并推进落实。
  • 专业层面:这个层面已经不单纯讲专业,更可能是深度结合细分行业的业务作技术决策和业务决策,产生业务价值;
  • 观察样本:个人主管

第6层战略眼光:性能优化

  • 此时的身份每每已是BU Head 或 BG Head了,为公司的将来发展负责,判断将来趋势,规划战略方向,组织效能提高,人才战略,产品战略,都是须要关心的问题。
  • 观察样本:业务平台的你们长 @若海(eric.yug)和 CFO产技部的你们长 ;

我走过的弯路

image.png

弯路一、 2011-2014年间出走阿里去当技术TL,发现榨干本身,欲速则不达

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.2五、创业吸引、薪资吸引等等缘由,无可厚非。但我更想说的是,想清楚本身真正想要的是什么?若是肯定是技术专家路线,那就有本身的坚持,职场上的玻璃心基本上不适合长期发展,大几率“出局“。尤为是像阿里这样的高速发展的互联网公司,外部环境的剧烈变化必然引发内部的变化,一线的开发要有感知,但通常影响没那么大,专一作好本身的本职工做更重要;

正视3.25,从我我的了解的,大部分有三种状况。第一种是与该层级要求的能力有距离,如刚入职的新人不适应新环境,或者刚晋升到新层级的老人处在迷茫期;第二种是工做方式出现问题,如只会埋头苦干纯执行没有本身的深刻思考;第三种是因身体缘由,如生病修养一段时间,或孕期须要更多休息等特殊状况;前两种状况均可以经过努力来解决。3.25只是表明当前这个阶段,并不表明一年后两年后的你,成长须要看的更长远。至少我认识的发展不错的同事大部分都有被打3.25的经历,包括我本身,第二年逆袭3.75和晋升的大有人在,也包括我本身;更关键的是,主管的理由是否是更多关注在你的成长上,有没有看到本身的成长。

弯路二、2016-2017年业务量大,须要我更多投入修炼组建团队能力,代码量少,一度迷茫,差点失去信心考虑转型PD

2016年初,感谢主管 @梓骞 信任我,让我承担商家业务的前端TL,此时此刻的我,一方面要熟悉新接手的业务,一方面要修炼组建团队的能力,同时承担PM的工做。这一年下来,业务作起来了,团队建起来了,而我本身的发展呢?精力被分配,代码量少了,编程能力生疏了,开始迷茫,技术TL到底该不应写代码?是否只有我并发能力不行?只有我不适合当前端工程师?

我甚至主动的约个人主管 @梓骞 探讨我转型PD的可行性,认真的讲我对本身优劣势的分析。主管没表态,告诉我迷茫是好事,说明我在思考,对于个人想法不拒绝也不愿定,只是让我本身去尝试后再作决定,但前提是不能影响当前的本职工做,且明确的告知我技术TL必须写代码,并且是核心的代码,不管有多忙,都要保持住技术敏感度,熟悉当前的研发体系,对研发痛点有体感,再结合业务痛点才能做出更正确的判断和技术决策,不然面临的就是职业生涯的天花板甚至被阿里淘汰。

通过主管一番的指点迷津,了解到技术TL参与研发的目标后,我开始思考怎么选择项目来确保ROI,作好时间管理,而不是事事参与后精疲力竭还拿不到结果。此刻再回到业务自己的痛点,贴着业务打是最稳妥的方式,大数据客户运营平台最大的痛点就是可视分析的高效表达,且鉴于以前在ARMS监控平台中积累的图表开发经验,我发现本身对数据分析场景下的数据可视化有浓厚的兴趣,能够先从这里入手深刻了解一下体系。短短几个月的探索,奠基了我后来几年为之奋斗的细分技术领域方向-数据可视化。

感悟:在业务痛点中发现机会,方向对了就不怕远,坚持就是胜利

如今回想,职业生涯中出现迷茫不可避免,是很常见的事情,主动找主管沟通是很明智的选择,能够更快走出迷茫期,避免陷入误区做出不成熟的决定。好比在TL初期不少同窗都会遇到是否坚持写代码的疑惑,时间管理的疑惑,专业发展的疑惑。

深耕前端细分领域-数据可视化

image.png
在入行以前,我和你们同样觉得只是简单的使用图表库,会API调用,能渲染出来折柱饼就行,实际上数据可视化这个方向别有洞天:

  • 往业务垂直领域走,数据本质就是业务,就会存在业务垂直领域的问题,基于我对业务领域中的业务深度的理解,对数据量级、客户群体、核心业务指标、数据计算口径模型、数据流的链路等了如指掌,才能给出合适的技术方案,只有贴着业务作,才能做出业绩;再从成长角度来讲,我在作业务的过程当中,会一直思考我能沉淀什么能够被其余项目复用,差别就在于体系化能力是否实体化了。我本身选择的也正是这条路,主要是考虑到阿里当前的缺口,即便当前晋升体系尚未承认,但我坚信这是正确的方式。
  • 往上层通用平台应用走,更可能是构建可视分析系统应用,如DataV、FBI、DI、财税大脑等,须要咱们对业务全链路有了解,熟悉完整的数据采集、清洗、提取转换加载(ETL)过程,能够利用工具完成数据建模,好比ODPS平台。如需继续深刻作架构,还须要了解大数据处理(Hadoop / Hive / Spark等)相关开发经验,数据技术能力综合全面,才能对大数据的性能优化方案了如指掌,避免视角片面;
  • 往可视化表达这一层走,统计图vs关系图vs地理空间可视化也是大相径庭,业务差别很大。
  • 往底层渲染走,通常是解决大数据的渲染性能问题或者图形渲染兼容领域,须要了解客户端、服务器端、Node端、移动端设备等多个端的SVG和Canvas的兼容性等,底层的性能瓶颈问题等;
  • 往2D仍是3D走,也是自然之别,2D更多用于分析场景,而3D应用在大屏和互动领域,技术栈为webGL、threejs等;

同窗看到这里,不由又问?那前端工程能力是否是没有要求,我只会作渲染实现绚丽的大屏?又是一个大大的误区,前端工程永远是Base能力,没有这个基础,基本能够不谈其余的,由于阿里的业务是一个大工程,而受限于你的技术栈不全,你能发挥实力的业务少之又少,谈何独当一面?所以大部分新人入职后,都会优先开始工程能力的训练,存活下来是第一要事。我自身可以顺利转型到数据可视化领域,也是依赖以前积累的工程基础;

感悟:机会老是给有准备的人,保持热情,坚持(死扛)领域深耕

我本身的经历是,刚开始是2017年初从商家业务的痛点入手,先重点作统计图,在做出bizcharts的原型而且应用到业务中后,和AntV创建深度的合做,基于G2沉淀出BizCharts赋能给集团,后又开源反哺给社会,这个过程当中也深度参与前端委员会数据可视化小组,但愿能贡献本身的一份力量。过程当中牺牲了不少我本身的业余时间,好比参与答疑、参与文档优化和demo编写,确实很辛苦,可是我本身乐此不疲,由于过程当中我了解到不少用户的真实诉求还有真实的业务用例,这对于我判断bizcharts的发展是颇有帮助的,也逐渐清晰下一步应该怎么作。

后随着本身对数据可视化的理解加深,本身能Cover的业务机会也愈来愈多,2018年开始组建专业的数据可视化团队支撑业务平台的数据服务和大财鲸业务(阿里大财务中台),如今重点投入精力作财务行业领域的可视分析系统和ToB企业级工程解决方案。会一直深耕下去,踏踏实实的,一步一个脚印,稳扎稳打,一块儿加油。

修炼的本质

image.png
感悟:不害怕失败,深耕毫不是一蹴而就,不积跬步,无以致千里

以前有同窗问我:为何我选的是数据可视化这个细分方向?理由以下:

  • 业务痛点须要是第一优先级,这是我必需要完成的,可以解决业务问题的技术能力,就是好的技术能力,并不必定都必须是技术深度;
  • 在2016年,进入DT时代,阿里数据业务化和业务数据化已经如火如荼,一片蓝海。阿里本质上是一家大数据公司,亟待专业的同窗加入挖掘金矿,搭上顺风车,会比逆风而行更容易成长;
  • 数据技术足够深足够厚,看得见的长期发展,且业务中屡次的实践,让我很感兴趣,愿意为之倾注我全部的心力、脑力、体力,来提高我我的的能力;
  • 积极主动历练本身和团队,多作功课,拿到技术圈子的门票不难,你们都比较“简单粗暴”很是愿意伸出援手,关键是要想清楚长期协力双赢的点是什么?技术壁垒的创建(业务诉求进入深水区)?大团队的技术组合拳?哪些你作?哪些合做伙伴作?

过程当中我也是从一次次的业务中实践和摸索,在我看不清的地方,就跨出去先试试水,没有人一开始就知道全部,围绕着数据领域的业务一步步的作,一点点的积累,前期还看不到本身的成长,可是在坚持两年后,忽然有一天发现本身有系统性的观点,能够和 @宁朗 @御术 等数据可视化领域的前辈,在一块儿平等探讨业务发展问题和技术建设的问题了,其实就是日积月累的经验让我从量变到质变了,一万个小时的定律至少在我这里是准的,失败并不可怕,可怕的是还没开始就放弃了;

个人主管 @梓骞 常常会讲,阿里不少小二比咱们聪明,却还比咱们更努力,咱们还有什么借口说是天赋的问题。虽然聪明人不少,但不缺有想法的,更缺的是实实在在落地作实事的;内网ATA有不少很是高质量的前辈体系化的经验总结,很是宝贵,可以扩大技术视野,很是适合在碎片的时间里充电。

最后总结

image.png
心态要摆正,成长是本身的事,职场那么长,长达三十年,为何我要跟面子过不去,老拿本身去和身边的同窗比,非要去死磕层级,累不累?坚决我当前作的事是否是一件正确的事情,是否是解决了业务痛点,在当下,个人核心竞争力是什么?成长真要有什么灵丹妙药的话,多是个人主管 @梓骞 一直以来的思惟方式是怎么经过技术产品化等工做,提高团队的运转效率,那就能够作更多新的事情,天然而然的就成长了,这个思惟方式对我影响很深,至少通过目前为止的验证仍是成立的!一年可能看不到成果,须要三年~五年;

在经历千辛万苦以后,我幸运的晋升到了P8,你觉得终于能够松一口气好好休息一下,实际上是不存在的,由于你面临的是新层级的指望和要求,讲人话就是距离3.25很近甚至淘汰。说好的不可替代呢?真相是在工程世界里没有银弹,也就是不存在不可替代性的人,连马爸爸离开阿里,阿里也能正常运转。但技术领域研究越深刻,权威度越高,替代成本就越高,必定程度上能够造成核心竞争力。阿里的舞台很大,身边的学习对象不少,立志作一个懂商业的数据可视化专业人士,打深、打穿、打透,新的征程,从新出发,努力踏上数据可视化领域的新阶梯。

原文连接 本文为阿里云原创内容,未经容许不得转载。

相关文章
相关标签/搜索