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

在阿里做前端程序员,我是这样规划的

时间:2023-03-17 19:12:13 科技观察

作为阿里的一名前端程序员,我打算就这样走出去(类似react,vue),成为一名前端网红。有人说他们想创业。通常很少考虑长期的职业发展规划。希望把我在阿里的工作经历和所学分享给大家,作为案例解答职业发展的烦恼。前端程序员常问的几个问题本文来自团队内部的一次分享。我是淘宝技术内容前端团队尹健,负责平台技术内容。我的习惯是在每个新财年的开始分享《HOW TO BE AN EMINENT ENGINEER》,说说目前的团队组建,OKR,业务和技术大局,说说我作为程序员的规划。本文仅记录【我作为程序员的计划】的内容。第一,比如某学校招了学生,在阿里工作了两三年,整体技术能力还处在上升期,但在交流和工作中从来没有失去过“学生气”,而且看起来它还没有毕业。第二,技术更新迭代非常快,尤其是前端领域,近年来不断有新技术发布。每一个夜晚,当人静下来的时候,你会发现,真正能够静下心来的技术少之又少。第三,关于技术深度。我经历过推广失败,“技术深度不够”的评价让我印象深刻。当时沟通结束后,我低着头走出会议室,不停地问自己,技术深度到什么程度才算是足够。作为前端,我们在公司多写一些页面,优化UI,提高页面的性能。即使我们的产品很成功,那成功在哪里呢?可能是UI设计的漂亮,或者推荐算法的精准,但是前端输出给产品带来了什么?阿里体系完善,良师益友。没有这个大平台怎么办?加入阿里经历了三个发展阶段,经历了不同的BU和部门,一直在寻找职业发展的答案。到目前为止,我将自己的职业生涯分为三个阶段:掌握一门技能、独立做事和找到使命。技能分为:栈内技术、栈外技术、工程经验、带人做事、行业影响力。?第一阶段:熟练技能栈内技术指的是你的专业领域技术。对于前端,就是我们熟悉的js等基础知识,深入了解我们程序运行的宿主环境——浏览器或者NODE,能够理解v8运行时发生的一切。前端没有什么秘密,所有可访问的页面都类似于开源,所以测试栈里技术的标准就是看你最后能不能形成技术“白眼”——你有信心看通过任何前端产品。栈内技术是安定生活的基础,所以不要轻易“改变方向”。永远不要放弃你作为前端的技能。遇到一些工作几年的前端同学后,对前端更加熟悉了。他们考虑转到其他岗位去做音视频技术,或者做跨度更大的产品和运营。但是我想说,从你转行的那一刻起,把你想转的领域变成你新的“栈内技术”,然后再走一遍技术沉淀的过程,一晃几年就过去了.前端是一个可以长期坚持的领域。现在,新的软件生态,比如web3、Ethereum,首先会针对JS开发者。因为有庞大的开发者群体,工具链也比较完善,所以长期从事前端工作。在可预见的将来,它不会“过时”。栈外技术栈外技术是指栈内技术的上下游,领域外的相关专业知识,包括但不限于服务器技术、运维、CDN、测试,甚至UI设计、产品设计等。拓展你的技术在栈中的周边领域,充分了解你的工作在整个技术研发体系中所处的位置。把更多的精力放在业余时间,不断将其他栈外技术融入自己的知识体系,建立栈外能力。前端如果想深入,往往涉及服务端、网络、机器学习、用户体验等知识。没有足够的栈外技术积累,你很难为你的团队获得足够的话语权。工程经验工程经验是指构建专业技术体系的“解决方案”。通俗地说,就是做事的方法论,掌握从0到1、1到60、甚至60到100的阶段性构建专业技术体系的过程。工程经验涉及技术选型、架构设计、性能优化、CI/CD、日志监控、系统测试等,这些都是工程相关的方法论。很多同学会说没有时间去研究新技术,所以他们问自己为什么不去争取新技术在自己业务中的落地。很多工程师不具备总结工程经验的能力,尤其是从业多年后,感觉自己的技术能力已经退步。决定你的专业价值的是领域工程经验。不管你读了多少文章,如果你没有真正去实践,就不能称之为“精通”。所以我建议,如果你想拥有足够的工程经验,你需要争取更多的业务实践机会。LeadpeopletodothingsLeadpeopletodothings前三项是对个人专业技能的深度要求,而leadingpeopledoingthings是对团队协作能力的要求。第一次带小弟的时候,经常有这样的感受:需要多次沟通需求,专注于技术解决方案。我和他沟通的时间是可以写代码的。带人做事就是把自己擅长的,积累的思维方式传授给别人,从而达到1+1>2的生产力提升,让整个团队的产出高于你自己。这个阶段大家要特别注意“管理”和“领导”的区别。依我愚见:所谓“管理”,就是某个领域我不会,但我知道你会,所以我安排你去做;而“leading”的意思是“我很懂这个领域,我知道你不会,我会教你做得更好”,有授人以渔,成就他人的意思。带领一个人或一个团队具有战斗力,是做人做事成熟的体现。这两年,我也在思考如何激发别人的能力。我想到了我的老板和我的1v1同事的帮助,他们非常擅长用反问来指导我。提问的深度尤其能体现一个人的能力水平。任何用来提出要求的陈述句都可以转化为疑问句,在启发新思想的过程中嵌入对结果的约束。当你让一个人做A的时候,他提出了B方案,你不要强行颠倒对方的思路来提出A,因为对于新人来说,可能无法一步搞懂A方案。能力所限,他只能想到B。尝试将A与B的差异转化为问题。你问他这个问题怎么解决,那个问题怎么解决,一直问到A形成。他会用思想做事。如果没有这个过程,他的思维就没有进化的过程,他虽然得到了A的指示,但是他不明白,他会用其他的方式做出来,最后得到一个C,然后你再次重构,陷入了一个怪圈不能自拔,这是我之前的误区,所以现在特别注重提问的艺术。但一切的前提是:你需要对事物有很好的理解。按照张一鸣的观点:对一件事情的认知决定了一件事情的高度。业内发声如果你过去做的很好,那么把你的工作经验总结发布给大众,与他人交流,碰撞思想,看到更高的高峰,然后修正自己的思想,一天天进步,你可以走得更远有的时候需要把自己的想法放到行业层面去验证,大家真的很好。如果别人不认可你的想法,基本上你也可以判断你没有达到更高的境界。对外分享的目的不是为了展示素质,而是为了听取别人的意见,实现自我成长。永远不要放弃一项技能,没有所谓的转行或转型,始终坚守自己原有的领域,拓展自己的外延,最终成就更全面的能力。坚持是成功投资回报率最高的方式。?第二阶段:独立做事第二阶段是独立做事,这也是我这两年的主张。在我不断试错的过程中,我把他分为:独立交付、独立领导、独立领导团队、独立业务、独立生存。独立并不意味着孤独。独立是指以今天公司提供的资源,你可以完成公司交给你的项目,并取得不错的成绩。俗称“带队”。独立交付独立交付是指给你一个可以自己完成和启动的项目,而不需要让别人擦屁股。更强调整体项目管理的能力和取得成果的能力。带人/独立带队进入带人/独立带队阶段,你需要更加关注整个团队的氛围和工作效率,用你专业的工程经验带领团队高效生产高质量输出结果,实现1+1>2。做好团队的两个大图,业务大图&技术大图。让团队中的同学知道自己发展的主线。工作愉快,团队的稳定性就高。独立业务&独立生存团队稳定后,开始关注你做的业务,行业的发展,了解你的用户,他们是谁,他们在哪里,他们为什么使用你的产品,指导团队进行下一步产学研方向。最高境界就是能够带领一群人自食其力,独立生存。至少要有商业眼光,对你所在行业的商业方法有深刻的理解,有能力去发挥。如果你能很好地解决这个问题,相信大家都会玩得很开心。独立做事的每一个阶段都是一个比较大的飞跃,需要思维上的大转变,各种软素质。不管技术人是什么身份,独立做事的阶段也是一个人逐渐成熟的过程。如果你技术扎实,能独立生存,我表面上认为程序员35岁的危机应该不存在了。?第三阶段:寻找使命找到使命,实现自我价值。创业还是跳槽?生活还是工作?如何平衡呢?自己还在迷雾中,还在摸索中,留下一个悬而未决的问题,有兴趣的同学一起讨论。最后,以莫泊桑的话结尾:“生活可能没有你想象的那么好,但也不会像你想象的那么糟糕。我觉得人的脆弱和坚强是我想象不到的。有时候,脆弱的我可能会流泪顺着我的脸颊,有时我发现自己咬着牙走了很长的路。”在这里工作就是这样,但我坚信明天会更好团队介绍我们是淘宝技术内容中台前端技术团队,主要负责中台系统的搭建和研究多媒体技术,团队拥有FFmpeg、tensorflow等领域的技术高手,自主研发基于浏览器多种编码格式的视频分析、解码、播放能力,团队氛围轻松,以帅哥美女为主,群里的同学爱好广泛:跑步,健身,瑜伽,飞盘,手游等等,如果有前端同仁想自荐,请将简历发至:hongjian.chj@alibaba-inc.com。