阿里技术专家:成长路上如何破局?
点击上方蓝字关注我们
阿里妹导读:自小喜欢计算机,高考却落榜心爱的计算机系,如何圆梦?校招进入阿里开局不利,如何在边缘业务中突破成长?业务不断发展、技术不断更新,如何调整自己跟上变化的脚步?本文分享阿里技术专家圣司(张舒迪)在阿里的成长之路,分享他进入互联网行业、成为一名前端开发道路上的那些转折点和“弯路”,以及体会和感悟,希望能为同学们带来启发。
“因为你,我愿意成为一个更好的人,不想成为你的包袱,因此发奋努力,只是为了想要证明我足以与你相配。” —— 《侧耳倾听》
大家好,我是张舒迪,花名圣司(取自吉卜力的动画《侧耳倾听》),2014年校招应届进入阿里巴巴担任前端开发,目前在飞猪技术部负责「用户前端和数字化经营平台团队」。
一路走来虽然时常会反思自己成长道路的关键节点,以及判断和选择,但很少会落到纸上,一方面因为自认尚算年轻,阅历不多;另一方面人生没有大起大落、跌宕起伏的经历,缺乏故事感,不过是平凡人过着平凡的生活。这次很荣幸收到邀稿,借这个机会,梳理一下进入互联网行业、成为一名前端开发道路上的那些转折点,于我个人而言是个内观的机会;如果能给在看本文的你引起一些共鸣、带来一些输入,那更是甚好。
“我相信自己,生来如同璀璨的夏日之花,不凋不败,妖冶如火,承受心跳的负荷和呼吸的累赘,乐此不疲。” —— 《生如夏花》 泰戈尔
“我年轻时候喜欢说如来,就是如同要来,还没来,但终归会来。如丧,就是如同要丧,还未丧,但终归会丧。” —— 《如丧》 高晓松
“I am what I am,我永远都爱这样的我。快乐是,快乐的方式不止一种,荣幸是,谁都是造物者的光荣。不用闪躲,为我喜欢的生活而活,不用粉墨,就站在光明的角落。我就是我,是颜色不一样的烟火,天空海阔,要做坚强的泡沫;我喜欢我,让蔷薇开出一种结果,孤独的沙漠里,一样盛放的赤裸裸。” —— 《我》 张国荣
确定跨专业考研的长期目标,开始自学&旁听计算机系课程,同时开始刷 OJ(那时候北邮的 OJ 做得是真不错)。
包揽了本专业几乎所有团队课设大作业的编程相关工作,做 Flash ActionScript & Flex 开发,折腾 J2SE、LAMP,帮忙维护基于 .net 的院系官网,总之只要编程相关工作我都干。
进入校学生会科技部,开始混社团,一路做到副部长,主要承担各类大型活动开闭幕视频的制作工作,涉及一些 AE 粒子脚本的开发,这应该也是次与 JavaScript 结缘,除此之外 PS、PR、AU、CorelDraw 这些软件也玩得贼溜。
由于本身专业的缘故,接触了 3DMax 和 AutoCAD,凭借手艺课余接了几个外包项目。
追寻热爱:支撑自己向前的应该是源自内心的热爱,对当下的热爱,对生活的热爱,也是对爱与美的追求,这种热爱很少是与生俱来的,更多时候需要自我暗示;一如写这篇文章,刚动笔也枯燥不堪,尝试说服自己沉进去,文字从笔下缓缓流淌的感觉却也让人感到平静。
日拱一卒:人会高估短期的成果,却低估长期的成就,每天哪怕花 10 分钟看 5 页书,一年就是 6~7本;每天解一个 leetcode 题目,一年你能超过 95% 的人。其实走得慢不要紧,关键要走得久,时间长了自然能走很远。
接纳失败:“那些没能将我击倒的,都使我更加强大”,挫折来得早一点,跌得狠一点不一定是坏事,与自己和解,从情绪中跳脱出来,逆境更能激发人的思考,也更能锻炼人的韧性。
留条后路:人生不是非黑即白,避免情绪化决策,给自己留条后路;我参加考研没影响保研,不喜欢设计专业也拿到了 Top 2% 的校级毕设,临毕业参加校招面了一些互联网公司的产品岗位,多几个选择总不是坏事;类比到现在流行的裸辞,是不是也可以更平滑一些?先换行业再换岗位?先做副业再做主业?
“生活中多数东西,好与普通之间的差距不超过两倍,好比说纽约的出租车司机,棒的司机与普通司机之间的差距大概是 30%;棒的 CD 机与普通 CD 机的差距有多大?20%?这种差距很少超过两倍。但是在软件行业,还有硬件行业,这种差距有可能超过 15 倍,甚至 100 倍,这种现象很罕见,能进入这个行业,我感到很幸运。” —— 《遗失的访谈》 史蒂夫·乔布斯
毕业季拿到了阿里 Java 研发的 offer,入职前部门组织了一次圆桌,新人可以跟后端、前端、客户端、测试等岗位 TL 作直接的沟通,并在入职后转到任意方向。跟拔赤(也是我现在的主管)聊了一下前端技术的现状与未来发展,聊到 PWA,他演示了一个 Wap 页面怎么通过添加到桌面的方式变成一个 Web App,B/S 无需安装、互联互通的体验让人印象深刻,聊到类比 PC 时代 B/S 逐步替代 C/S 的案例也十分生动,跟其他几个 TL 更偏业务分享、工作内容、培训方案的交流相比,一个领域未来的可能性无疑更让人神往。
那段时间有幸读了 Paul Graham 的《黑客与画家》,对我触动很大的反倒是书名,本科设计、硕士计算机,中二地感觉自己像极了左手画笔、右手键盘的「黑客与画家」,而前端恰好是视觉交互设计与计算机的交叉学科,更能发挥我的优势。后,这次圆桌与这本书将我引入了前端的世界,职场生涯就这样从挂着研发工程师 title 写前端代码开始了。
活在当下
四年的工业设计学习生涯,教会我的不只是怎么切图,更是对好产品的审美,作为前端开发有这样一段经历弥足珍贵;小到每个项目、大到每个人生阶段,我们很难预见当下的经历对未来的影响,因此认真对待每件身边事,尊重每段人生经历独特的价值,历久必会弥新。
不给自己设限
学理科考上大学,也能坐在画室折腾素描/水粉/石膏/三大构成;本科四年一身机械+设计的本领,硕士也能跟一帮 CS 大拿聊聊设计模式与系统架构;折腾两年半大数据&算法,进到公司也可以靠前端手艺吃饭;所以别给自己设限,能力不只是经历决定的,也有意识与胆量。
“模仿” 身边的人
接触一个全新的领域,学习一门全新的技能,快也是好的方式,便是模仿身边这个领域的人;没做过工程化/可视化/低代码化?看看集团对应领域的同学在做什么/想什么;没牵过虚拟项目?看看身边做得好的虚拟组组长是怎么做的,多久组织一次会议,怎么制定项目组目标,怎么驱动项目组同学。
坚持阅读
书本能够提供的不只是经验与知识,有时候是灵光一闪、虎躯一震,有时候则是更平和而充实的内心,与自己的和解;尝试带着意义感去品味,音乐、电影、诗歌、话剧、动漫、游戏...亦复如是。
“譬之若寒暑之序,时至而事生之。圣人不能为时,而能以事适时。事适於时者,其功大。” —— 《吕氏春秋》 “得时无怠,时不再来,天予不取,反为之灾。” —— 《国语·越语》
2014 年还需要写 YUI 代码、调 IE6 兼容性、走前后端统一部署,非常边缘。
由于阿里本硕校招生无差别定级策略,跟我同一天入职同样是 P5 的小兄弟小我整整 3 岁,起跑线堪忧。
刚转岗残缺的前端知识体系完全写不出工整而高效的代码,基本盘被吊打。
...
调整心态:认可合理性,少抱怨(脏活累活也是活,总得有人干)。
发挥优势:更低的预期意味着更容易超出预期(“他做边缘业务都能有这么多产出”)。
寻找痛点:主导并落地解决方案(实在没痛点,尝试一下智能化方向把自己 “做没”?或者挤时间参与一下工程化基建?)。
纳投名状:需要证明自己的能力,也需要韬光养晦等待机会。
专业为先:前端是相对垂直的技术体系,业务价值不高不代表技术价值不高,不要放弃思考与改变。
重新定义性能质量标准,从初的页面秒开率,转为 三端(飞猪、手淘、支付宝)、四网(2G、3G、4G、wifi)、五维度的度量模型,在白屏、DOM Ready、Onload 等通用评估标准之外定义了「页面可见时间」与「可交互时间」等体感指标。
重构数据采集上报链路,维护基础库 Base 及 tracker 模组,制定业务埋点规范并推进埋点上报率、准确性治理。
和搭档搭建数据分析平台「鱼眼」,打通 ODPS、Node 工程、数据清洗及可视化链路,提供页面性能、接口性能、JS/接口异常、在离线分析、红黑榜等度量分析报表。
工程化链路升级,从 dns-prefetch 到 mtop-prefetch,从 SSR、静态资源缓存,到数据、DOM 结构、占位符多级缓存,一毫秒一毫秒、一 kb 一 kb 打磨业务实现细节,优化加载性能。
构建泛性能体验相关佳实践,包括帧率、CPU、内存、电量等指标优化,及全链路 Tap 化、转场动画优化、长列表滚动优化等体验优化。
“‘自己’这个东西往往是看不见的,你要撞上一些别的什么东西,反弹回来,才会了解‘自己’。所以,跟很强的东西、可怕的东西、水准很高的东西相碰撞,然后才知道‘自己’是什么,这才是自我。因此,交不同类型的朋友,看不同类的书,去不同的地方,在碰撞中不断反思自己!” —— 山本耀司
技术基建重视程度足够,但缺少对业务价值的衡量,业务方感知弱。
脸皮薄,推动力不足,问题修复拖了一个又一个版本。
稳定性问题,RN 初面向独立 App 场景的定位与成熟客户端水土不服,投入产出比低。彼时集团 Weex 开始崭露头角,相较 RN 更适合阿里的业务土壤,基建随即开始往 Weex 方向倾斜。
“你是否和我一样,一路走来我好匆忙,模糊了来时的方向,清晰了北京的茫茫。你是否也和我一样,找到了梦开始的地方,日复一日谈着理想,年复一年的那条小巷。他们说远方是大海,那里会有海风吹来,看着海鸥自由自在,不要让我的梦醒来。” —— 《海风》 郝云
打破前端与设计师的壁垒:拉通 PD 和 UED,构建蜂鸟设计中台体系,提供跨行业一致的视觉交互规范,以及五端一致的配套组件库(H5、Weex、Rax、Android、iOS);形成「行业提报-信息收口-规范升级-沟通决策-落地实施」的标准化链路,保障规范稳定持续。
打破端与云的壁垒:拉通后端,构建 BFF 层(Node/Java),面向各个业务领域抽象视图层模型,对下屏蔽业务差异,对上提供一致的数据结构。
打破端与端的壁垒:拉通各个业务前端团队,面向各领域 BFF 构建领域驱动的前端业务框架,并以业务组件形式封装行业实现,支持面向各类场景的功能组合与插拔。
解决研发效率瓶颈问题,支持跨行业物料互通,统一商品/交易,也为后续支持全域氛围控制、结构化表达、全域投放、资源位互通等打下基础。
为业务团队一线开发同学打开思路,在基础架构与上层业务之间明确了业务架构层,各域可以更聚焦作领域解决方案的演进,也为日后频道批量生产、搜索卡片动态化、详情域 DX 动态模板化、交易域新奥创迁移等项目打下基础。
推动团队完成组织架构调整,从按行业化纵切的组队方式,改为按领域横切,职能更加聚焦。
活水之源:昨日因今日果,招聘要凭良心。
换位思考:眼里要有事更要有人,多做 1v1 沟通,培养同理心(我懂你)、信任感(你懂我)与利他心态(能成事)。
榜样作用:我说你听,我做你看,你说我听,你做我看,带领团队赢一场大仗。
使命与愿景:沉淀共同的文化、目标与路径,攀更高的山,看更美的风景。
“梁丘据谓晏子曰:‘吾至死不及夫子矣!’晏子曰:‘婴闻之,为者常成,行者常至。婴非有异于人也。常为而不置,常行而不休者,故难及也?’” —— 《晏子春秋》
前端思维:配置页面打开速度怎么样,大表单有没有缓存机制,Push 文案在不同尺寸屏下被截断的效果,承接页兼容性如何。
后端思维:消息能不能准确送到,任务如何拆分与合并,线程池如何设计,海量消息高并发如何解决吞吐率和时效性问题。
产品思维:消息类型能不能横向扩展,推送时间是否支持自定义,数据报表能不能与触达任务无缝衔接打通。
业务思维:哪类 Push 拉新效果更好,什么时间发打开率更高,哪些消息面向活跃率/又有哪些是面向成交,两者比例如何拿捏。
过度的产品化执念导致容易陷入细节。
缺少与业务方长时间高频度的互动,对商业模式的理解、数据的敏感度不足。
从阿里内部看,更偏垂直专业领域的 KPI 与晋升体系一定程度上也决定了技术产品化的重要性会略高于业务结果。
培养对目标与数字的敏感度,尝试收集并形成自己的订阅报表,定期 Review,多追问指标升降背后的原因。
加强与业务方互动,多从业务目标视角看待每个需求,使用 STAR 法则梳理关联关系,多问几个为什么。
尝试结合掌握的信息去做公式拆解与沙盘推演,例如 App DAU = (MAU * 月均访问频次)/30 + 域内日均拉新 + 域外日均拉新,目前的现状每个指标分别在什么量级,每个需求又分别服务于哪个指标,能够提升多少,提升后是否能推导出目标达成,拆解事项并梳理优先级。
抛下过于超前的产品执念,避免陷入细节,以产出小可行产品(MVP)为原则快速试错与迭代,区分好「锦上添花」与「雪中送碳」。
对接业务方多,各业务方 KPI 目标存在差异,需求承接缺少主线。
技术上各应用缺少清晰的定位与领域划分,怎么快怎么来,架构腐化快。
边界不清、业务功能模块重复建设导致与营销、行业等协同团队踩脚的事时有发生。
确定团队的北极星指标,前期关注导购平台承载流量规模,在研发资源投入不变情况下,提升多样化业务承接能力;后期关注业务 IPVUV/成交转化,通过业务策略、算法的快速迭代试错优化流量承接效率,再通过规模化效应快速赋能全渠道提升转化。
围绕北极星指标确定不同阶段的核心业务方,并通过目标规划对齐确定产品技术规划与优先级;如初的业务收口阶段,首先拉取了各个资源位渠道流量规模,然后由大至小逐步沟通推进收口,同时对于 App 首页等重点场景提供底层统一能力之上的定制化产品支撑;
对于技术规划中涉及到的各系统模块,与协作 BU、中台团队沟通确认是否有已有系统能够支撑并且规划能够 match,不满足条件的情况下明确定位区别与各自边界,自建支持。
阶段一 建设飞猪物料流通大动脉(2018)
解决行业物料不互通,平台能力不互通的问题,完成面向飞猪业务的选品平台(星辰)、投放平台(泰坦)、搭建平台(页匠)建设,围绕多种类型的行业物料完成统一分发链路的构建,通过一条大动脉串联了云与端。
阶段二 端侧资源位收口,业务承接物料加工(2019)
构建资源位管理体系完成端侧资源位收口,包括主动触达渠道(如 Push)、静态资源位(如 App 闪屏)、动态资源位(如 SmartBanner);构建 LandingPage 生产体系,基于飞猪行业化物料快速批量化搭建场景频道、榜单、清单等 Landing 页。提高人货场匹配效率。
阶段三,构建精细化运营体系,推动运营模式转型(2020,ing)
构建用户增长、人货场理解、流量调控、策略编排、商业化、数据可视化等数据化/智能化基础运营能力,实现精细化人群/场景运营,推动飞猪从面向行业运营、流量运营的模式向面向用户运营、策略运营的模式转变。同时沉淀高质量运营物料与策略,并通过人群包、数据银行、商家运营平台、生意参谋等产品渠道赋能商家优化运营能力,提升运营效率。
信息链路变长,很多信息直接 get 不到了。
对一线同学的产出与状态感知变得不太清晰。
团队内部开始出现分工与边界问题。
在「一线管理补位」与「跨级管理顾虑」间反复横跳。一些会议逐渐不再参与,负责的事情也逐步下放,在 BU 内的存在感变弱,坦白说会有短暂的焦虑,尤其是下面同学能力很强时。
努力往信息与规划的上游走,多与产品业务一号位、各技术域一号位沟通,保证信息通达。
把控宏观方向,从日常事务中抽出身来,结合业务思考未来 2~3 年的规划,跟进前期运作。
对新履职的 TL 给空间、做兜底,退二进三。
更多思考团队发展与人员成长的问题,使众人行。早前参加过一次管理培训,授课老师提到管理分几个阶段:不带人 - 带几个人 - 带几个管理者 - 做一号位;从第二到第三阶段不是人数变多的量变,而被类比为不带人-带人的质变,当时不理解,现在深以为然;
“人生就是一列开往坟墓的列车,路途上会有很多站,很难有人可以自始至终陪着走完。当陪你的人要下车时,即使不舍也该心存感激,然后挥手道别。” —— 《千与千寻》
“今天的每个人都只是约 70 亿人类中的一员,而人类又只是地球上约 100 万物种中的一个。地球只是银河系约 1000 亿颗行星中的一个,而全宇宙有约 2 万亿个星系。人的寿命只是人类历史的约 3000 分之一,而人类历史又只是地球历史的 2 万分之一。换言之,我们渺小、短命得不可思议,无论取得什么样的成就,其影响都是微不足道的。同时,我们又本能地希望有意义,希望进化,而我们只能产生一丁点儿意义。所有这些一点点的意义加起来,才是宇宙进化的推动力。” —— 《原则》 瑞·达利欧 “人固有一死,但正因为此,我们才是幸运儿。大多数人根本就不会死去,因为他们压根就没有诞生。这些潜在的、没有出生的人,数量超过了阿拉伯大沙漠中的沙粒;他们本来可能活着与我们同列,但事实上却永远也没有机会见到一丝阳光。显然,在那些没有诞生的生灵中,会有比济慈更伟大的诗人、比牛顿更伟大的科学家。我们知道这些,是因为我们的 DNA 所允许的‘可能存在的人’的数量,大大超过有机会出生的人。拥有这些罕见机会的幸运儿,就是你和我,就是生活在这世上的平淡无奇的人们。” —— 《解析彩虹》 理查德·道金斯
宋宝华: Linux为什么一定要copy_from_user ?
提升开发效率N倍的20+命令行神器!(附 demo)
4 种数据库缓存终一致性的优缺点对比?终选择方案四!
相关文章