首页 > 其他分享 >从校招新星到前端技术专家的成长之路

从校招新星到前端技术专家的成长之路

时间:2024-07-16 14:53:36浏览次数:14  
标签:尝试 项目 从校 前端 新星 技术 我们 代码

引言

我在2018年校招进入京东,主要负责广告投放系统的前端工作。在京东,这一路走来,我经历了多种角色转换,我从学生到职场人,从校招生到校招导师,从初级前端开发到前端技术专家,也见证了京东广告业务的蓬勃发展。

回顾过去的成长历程,我心中充满了感慨。首先,我要衷心感谢那些与我并肩作战、共同奋斗的优秀同事们。然后非常荣幸能有这个机会与大家进行交流,分享我作为业务研发的成长经验。这一路走来,我收获颇多,希望我的经历能为大家带来一些启示和帮助。

 

个人成长经历

我的技术能力成长经历可以划分为三个阶段,起步探索、稳步成长、突破贡献。

【起步探索-保持好奇、深入探索、打牢基础】

对于刚接触或者即将接触工作的同学们来讲,下面的经验能够帮助你们更好的的适应职场生活

敢于提问

对于刚毕业的我们来说,对职场生活、项目研发的过程都充满着好奇,也有着各种各样的疑问,比如刚入职的我需要学习哪些东西,做哪些事情?在京东的需求开发流程是什么?这个项目需要怎么去开发?这个需求评审怎么听不懂?等等各种问题。

首先你要明确,这个是很正常的事情,毕竟刚走出校园,需要学习到的东西还有很多,但是也不需要过于担心,在京东对校招生,都会有校招导师,他们可以帮助你更好的适应职场生活。

在这里很感谢我的Leader和校招导师,他们帮助我解决了很多困惑和问题,让我能更快的适应工作,比如以下几点:

1.前期开发技能的储备:会在前期告知团队中主要使用了哪些技术栈,如Vue、Koa框架,能清晰的让我知道需要学习哪些东西,掌握哪些开发技能。 2.项目开发前的准备:会告知我需要提前熟悉下项目的代码,在项目在本地启动后,会讲解下项目的整体架构以及技术栈、项目的业务和功能,帮助我更好的理解该项目。 3.熟悉项目的开发流程:为了能让我更快的适应业务的开发节奏,会带我了解项目的开发过程,这个阶段导师基本会带着做一些需求,对于我们而言就尽快习惯这种节奏就好。

还记得在初次参加需求评审的时候,很新奇,但在会议过程中,会发现好些东西听不太懂,这种其实都很正常。对于不会的名词就在会议之后在网上查询,积极学习了解。

对于业务中的问题,主动找找产品经理、Leader、导师咨询,他们能帮你解答,并给你很多有效的建议,另外在分析需求内容的时候,推荐使用XMind这样的工具去整理自己的思路,会让你的思路更加清晰。

 


 

在刚进入职场时,保持好奇心,勇敢的提问,你的同事们都会很乐意为你解答,毕竟都是从这个阶段走过来的。

 

打好基础,多做尝试

 

养成良好的编码习惯是成为优秀开发者的重要一步。首先需要了解公司或者团队的编码习惯,在大学的时候其实我已经比较注重代码格式的养成了,毕竟良好的书写习惯看着也比较舒服,所以在进入公司之后,在这方面并没有花费我太大经历。然后对于研发而言,需要注重代码注释,因为它会能帮助你理清自己的思路,也能在你过了许久翻到这里时,有个大致印象,我在当时也会写很多代码注释,确实对比过写和不写注释这两种情况,写了注释的代码能让你过了很久之后还能“认领”出来,而没有写的可能过了许久之后,你都“怀疑”是不是自己写的。最后就是要做好Code Review,它能很好的提高你代码的质量,为你尽早的发现问题,我们在这个时候,要多让大家帮你review,同时也可以去review别人的代码,这是一个相互学习和交流的过程。

 

掌握了基本的开发技能,就可以独立去承接需求,如果条件允许的话,可以多尝试一些项目,在这个阶段我尝试过的项目很多,大概有八个的样子,其中包含了投放系统、管理后台、官网等项目。每个项目带给我的成长其实都不大一样,不同的项目就意味着我们需要去接触不同的人,当然这是一个很好的学习机会,我们可以看到很多人做事以及思考问题的方式,也能能充分锻炼自己的沟通和协作能力。

此外项目之间无论是项目架构还是技术栈都会存着着差别,尝试不同的项目可以扩展你的技术视野,了解各种技术的优缺点及其适用场景,在项目切换的过程也可以学习如何快速上手和适应新的技术栈,这对我们后续的职业发展都是非常有益的。

 

总之在这个阶段,你需要敢于提问,积极的融入团队,另外要养成良好的编码习惯,通过不同的项目去提升你的沟通协作能力,技术能力,这些都对你的长期职业生涯发展极为重要,它们将为你的未来成长打下坚实的基础。

 

【稳步成长-主动承担、攻坚克难、稳抓稳打】

在技术成长的初期,我们往往从简单的任务开始,通过不断学习和实践逐步积累经验。随着知识和技能的丰富,我们开始承担更复杂的任务。

主动承担,攻坚克难

在技术能力得到显著提升之后,这使得我们能够承担更大的责任,这个时候我就开始主动承担一些从零启动的全新项目和重构的项目。相对来说,从零启动的项目难度会低一些,因为这一类项目不存在历史的负担,可以从头开始设计和实现。但是也需要我们全面考虑系统的架构、技术选型,确保项目从一开始就朝着正确的方向发展。

我就主要介绍下我重构项目的经历,我接手的项目叫创意中心,当时的背景是需要在这个项目里承接一条新业务,按照当时的项目架构,整体的接入成本及维护成本都很高,另外在我们的业务流程里,用户的操作路径也比较长。

为了解决第一个维护成本这个难题,我当时也是主动同产品、后端同学进行了多轮方案沟通,最终决定采用“配置化+组件化”的方案,这次升级改造的前端就是我自己,我把原来根据每一种广告样式定制的代码架构,升级为通过获取广告位系统配置的样式及样式下的元素,动态进行页面渲染。最终达到的效果是,大多数情况下,新增一个广告样式,只需要产品在广告位系统配置一下,整个创意中心都是不需要进行代码开发和上线的。

 


 

 

第二个难题便是用户操作路径过长,那为了解决这个事情,我也是进行了技术调研,这个是我在极短的时间内做的第一次调研,在调研完成之后,也是找到团队Leader、产品主动去沟通了这个事,他们都认可了我这个方案,最终我使用JS-SDK的方案,将广告创建创意的核心代码通过该方式赋能给相关投放产品线。最终达到的效果是,从最初的反复跳转造成操作中断,到后面的当前页面建创意,整体操作连续,用户的体验得以提升,在代码层面一套代码既应用在项目中,也赋能到各个产品线中。

 


 

在解决这些难题的过程中,并没有那么顺利,过程中出现了各种困难。但是,最终的结果还是令项目的每一个人满意,这大概就是“痛并快乐着”吧!在这次实践之后,我的项目架构能力、认知能力、问题解决能力都得到了很明显的提升。正如《老人与海》中的那句话:“一个人可以被毁灭,但不能被打败。”每一次挑战和困难,都让我更加坚定和成熟。

在这个过程中,我深刻体会到了一句话的真谛:“没有比人更高的山,没有比脚更长的路。”每一个问题的解决,每一次困难的克服,都是一次自我超越和成长的机会。通过这些经历,我不仅提升了技术能力,也丰富了人生阅历,成为了一个更为坚韧和智慧的自己。

 

【突破贡献-技术创新、业务突破、突破自我】

在经历了稳步成长阶段之后,我们迎来了一个新的篇章—突破贡献阶段。这一阶段不仅仅是对技术的进一步精进,更是对自我认知的深刻提升。我们不再仅仅满足于完成任务,而是开始主动寻找创新点,推动项目的突破性进展。

技术创新,业务突破

技术创新对于研发也是至关重要的,对于个人而言,它不仅能提升专业技能和创新能力,也可以提升自身在团队和行业中的价值。同时,对于业务而言,创新可以带来更多可能性。

我们都知道,视频相比较图片能传达更多的有效信息,更能吸引注意力,那在广告业务中也是同理的。这里我就主要介绍下在广告视频广告业务的经历,主要有两段经历,第一段经历是在短视频蓬勃发展的时期,为了赶上这种变化,我们积极主动地进行技术探索,致力于寻找一种能够帮助用户快速创建视频创意的方案。经过我们的不断尝试,最终确认通过使用“AE+Lottie”方案实现模版的制作和播放,使用“pupteer+ffmpge”生成最终的视频文件。这个方案在当时的电商广告行业也是一种创新,通过我们方案,能有效的为广告主提供了视频创意制作的途径。我很荣幸能参与到这个项目,同我们前端团队的架构师,以及后端、算法团队共同来完成这件事情。这次项目经历不仅提升了我的专业技能,也进一步开阔了我的视野,也为我后续的发展做了良好的铺垫。

第二段经历起源于一个大胆的假设,如果不直接生成视频,利用Lottie是不是可以进行动态广告的播放。为了验证这个想法,主动和团队的客户端开发同学去做了这个尝试,实验的结果验证了猜想,我们用实践的案例和产品沟通这个事情,期望在业务上能尽快去落地。在这个业务落地过程中,做为前端的一号位,我将原本完整的模版输出过程升级为元素粒度的输出,并且提供了动效的编辑器,用来组合多种元素,最终生成具备宏替换规则的动态模版。我们将这种方案应用在京媒SDK开屏广告业务上,也是取得了一定的成果,这种动态化渲染的方案,相较于传统的客户端广告播放样式开发,在新增样式的场景下免去了客户端的开发和发版工作;至今已经上百家媒体接入,CTR也有着一个明显的提升。我自己也在这个过程中,不仅提升了自己的技术和创新能力,也沉淀了两篇技术专利。

 


 

我建议大家在日常的工作中,首先我们要关注行业动向,提升对技术的敏锐度,保持对新兴技术的好奇心和探索精神。正如《小王子》中的一句话:“所有的大人都曾经是小孩,虽然,只有少数人记得。”我们在技术领域也应保持那份童心,去探索未知的世界。然后我们也要善于观察,主动去发现业务可以提升的地方,发现之后也要敢于推动,因为我们只有不断挑战和突破,才能取得真正的进步。

 

【无畏挑战,超越自我】

虽然我的职位是前端研发工程师,但我并没有局限于此。我主动涉猎了许多其他领域,积极尝试各种新鲜事物。这不仅丰富了我的技能组合,也令我在职业发展中不断拓宽视野和提升自身价值。

零售前端开发通道影响力建设

零售前端精品课

21年一次巧合的机会,我的Leader给我说前端通道要建立一个分享体系,询问我是否有想法。我当时的第一反应就是立刻答应下来。因为在团队中,我一直负责团队的技术分享工作,因此我也想借此机会进行更多的尝试。在此,我要特别感谢Leader的信任和引荐。

在接到这个任务之后,我先是制定了初版的分享体系,后面又与负责京英专业力的老师进行多次对接,敲定了课程的组织形式和合作方式。在首次课程直播的时候,也是有着各种突发状况,因为宣传上不到位,最终的数据也很不理想。结束之后,也是认真做了复盘,并且积极整改,数据上也是有了正向的反馈。

后面因为一些调整,从和专业力协作的方式,变成通道主办的方式,应对这个突然的变化,我也是积极学习,结合我们通道的实际情况,最终沉淀了一套完整的前端精品课的组织流程。

作为精品课的核心组织者,从0到1建立精品课体系,为零售前端技术交流提供了平台,该项目也获得零售前端开发通道2021年度“最佳实践”三等奖,到目前沉淀了47期精品课,累计PV8000+,UV6000+,覆盖70%左右的前端研发。

 


 

技术沙龙主持人

在2023年的时候,“技术融合 前端无界” 京东 & 百度前端技术沙龙需要一位主持人,为了突破自我,我决定尝试主持技术沙龙。这一决定不仅是为了提升自己的沟通和组织能力,更是为了挑战自我,走出舒适区,积累更多宝贵的经验。该沙龙主要从跨端、低代码、大语言模型及端侧智能等技术领域,分享前端前沿技术与最佳实践,共同探讨前端各领域技术演进现状与未来展望。

因为有了第一次主持技术沙龙的经验,我得到了更多的信任和认可,因此后面零售前端开发通道主办的AIGC技术沙龙也交给我来主持,这次沙龙从大模型的前世今生,到GPT的代码辅助、业务应用的最佳实践,共同探讨大模型时代下的机遇与挑战。

 


 

 

在这两次活动经历中,我收获颇丰。作为观众,我汲取了前沿的技术信息,学习了优秀的实践经验,并结识了一群杰出的专家和老师。作为主持人,我锻炼了自己的沟通能力和应变能力,同时也大大提升了自信心。这些宝贵的经验不仅丰富了我的专业知识,还增强了我的综合素质,为未来的发展打下了坚实的基础。

 

作为研发人员,除了做好本职工作,我们还可以尝试很多新事物,不要给自己设限。其实,在我们身边有很多类似的机会,希望大家可以主动争取。比如,加入“零售前端通道交流群”这样的技术交流群,这里有许多优秀的技术实践分享,参与这些分享可以开拓你的眼界;群里还会有项目共建的机会,让你尝试更多的可能性;此外,还有一些组织活动的机会,可以锻炼你的组织和沟通能力。通过积极参与这些活动,你不仅能提升技术水平,还能积累宝贵的经验,全面发展个人能力。

团队“校招小组”负责人

在2021年,我有幸成为了一名校招导师。角色的转换让我既感到欣喜,又有些不知所措。然而,我迅速调整了状态,像我刚入职时的导师那样,积极为新成员解答各种问题。不同的是,由于我也是从校招身份转换过来的,所以我能够结合自己的成长经验,给出一些切实可行的建议和引导,帮助新成员避免走一些弯路。这不仅让我在帮助他人的过程中感到满足,也让我自身的能力得到了进一步提升。

2023年下半年,我开始担任团队“校招小组”的负责人。这个小组是由历年校招生组成的虚拟团队,目前有着10位成员。随着职责的变化,我从只为一个校招生的成长负责,转变为为整个小组成员的成长负责。为了更好地履行这一职责,我进行了多种尝试,并在不断的尝试中积累了宝贵的组织和管理经验。

我主要组织成员进行业务开发问题、校招培养,AIGC等主题的探讨学习。并且目前也已经取得一些成果,通过AI Agent的方案沉淀校招成长中的问题及解决方案,能够更好的帮助校招生解决遇到的一些问题。

 


 

另外和团队成员利用大模型进行团队官网重构的实践,通过即时AI生成设计稿,利用gpt-4o生成代码,真实的实践能让团队成员更好的理解大模型的上下限。

 


 

总结及未来展望

总的来说,每个人的成长经历都是独一无二的,但从他人的经验中,我们也能找到一定的参考价值。对于当前的你来说,最重要的是专注于把当前阶段的事情做好,认真解决每一个你遇到的或者业务遇到的问题。每当你成功突破一个问题,你会发现自己的认知能力、理解能力以及解决问题的具体能力都会有显著的提升。

此外,要不断地接触新事物,勇敢地尝试。虽然在这个过程中你可能会遇到一些失败,但这些经历都是宝贵的财富。每一次尝试,无论成功还是失败,都会为你积累宝贵的经验和教训。整个探索的过程不仅能丰富你的知识和技能,还能为你的未来发展奠定坚实的基础。这些经历将成为你未来发展的重要宝藏,帮助你在职业生涯中不断进步和成长。所以,不要害怕失败,勇敢地迈出每一步,你会发现自己的潜力远超预期。

 

AIGC的快速发展就是一种机遇,无论从代码生成,图视频制作上都给了我们太多惊喜,而我们完全可以将自己的想象力和AIGC结合起来,去创造出更多的可能。

对于前端而言,AIGC正在极大的改变我们前端的开发形式,大模型能帮助我们生成设计图,并且通过设计图能直接给出代码,我们需要尽快意识到技术进步带来的紧迫感,并采取积极的措施来适应不断变化的行业环境。作为研发,首先我们应该积极学习和尝试大模型的各种能力,无论是代码辅助还是自动化生成用例,都能极大的提高我们的开发效率;另外也要试着将大模型和自己的业务结合起来,比如通过自然对话的交互形式,更高效的支持用户的需求。

 

标签:尝试,项目,从校,前端,新星,技术,我们,代码
From: https://www.cnblogs.com/Jcloud/p/18305204

相关文章

  • 从前端程序员到大模型算法岗的华丽转身
    在当今科技飞速发展的时代,前端程序员们正面临着前所未有的机遇与挑战。随着人工智能技术的崛起,大模型算法岗逐渐成为前端程序员们转型的新选择。本文将探讨从前端程序员转行大模型算法岗的机遇与挑战,以及如何顺利实现这一华丽转身。机遇:技术升级:大模型算法岗涉及机器学习......
  • for...in 和 for...of 的区别:前端开发中的循环语法
    在前端开发中,JavaScript提供了多种循环语法来遍历数据结构,其中最常见的两种是for...in和for...of。这两者虽然都用于迭代,但它们的用途和行为却有所不同。本文将详细探讨for...in和for...of的区别,并帮助你在合适的场景中选择正确的循环语法。1.for...in语法for...in语......
  • 前端开发中的二分查找算法
    在前端开发中,处理和搜索大量数据时,效率是一个关键因素。二分查找算法是一种高效的查找算法,适用于在有序数组中快速找到目标值。本文将详细介绍二分查找算法的基本原理、实现方法及其在前端开发中的应用。什么是二分查找?二分查找(BinarySearch)是一种在有序数组中查找目标值的算法......
  • 前端测试框架(如Jest、Mocha、Jasmine)特点及优势
    前端测试框架(如Jest、Mocha、Jasmine)特点和优势。在前端开发中,测试是一个非常重要的环节,它确保了代码的质量和稳定性。关于前端测试框架,我虽然没有直接的使用经验,但可以根据业界普遍认可和广泛使用的前端测试框架,如Jest、Mocha和Jasmine,来谈谈它们的特点和优势。Jest特点......
  • 前端后花园周刊vol.19-ESLint的下一个11年计划
    ⚡️行业动态ESLint的下一步计划:ESLint已有11年历史,它正在为下一个11年做准备,继续发展成为一种与语言无关的linter,任何人都可以为其编写插件。ESLint9.0中引入的新配置系统“只是重大变革的开始”。加速JavaScript生态系统:隔离声明TypeScript的新隔离声明功能......
  • 前端回流与重绘:概念及触发条件
    在前端开发中,性能优化是一个永恒的话题。回流(Reflow)与重绘(Repaint)是两个重要的概念,它们直接影响着页面的渲染性能和用户体验。本文将详细介绍回流与重绘的概念、触发条件及其优化方法。一、回流(Reflow)(重排)1.1概念回流,又称重排(Reflow),是指当DOM的变化引起元素的几何属性(如尺寸、......
  • Python从0到100(四十):Web开发简介-从前端到后端(文末免费送书)
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • 前端实现图片裁剪功能,插件版和原生版
    概要最近遇到了一个需要用到图片裁剪功能,自己找了一些资料,有插件版和原生版的,VUE版本的我就不放了,原理类似,供大家参考。插件版Cropper.js是一个用于裁剪图像的JavaScript插件。它可以让用户在浏览器中对图像进行裁剪和编辑操作,具体功能包括但不限于:1.图像裁剪:允许......
  • 前端面试题(JS篇三)
    一、||和&&操作符的返回值?||和&&首先会对第一个操作数执行条件判断,如果其不是布尔值就先进行ToBoolean强制类型转换,然后再执行条件判断。对于||来说,如果条件判断结果为true就返回第一个操作数的值,如果为false就返回第二个操作数的值。&&则相反,如果条件判断......
  • MinIO - 服务端签名直传(前端 + 后端 + 效果演示)
    目录开始服务端签名直传概述代码实现后端实现前端实现效果演示开始服务端签名直传概述传统的,我们有两种方式将图片上传到OSS:a)前端请求->后端服务器->OSS 好处:在服务端上传,更加安全.坏处:给服务器带来压力.b)直接写在前端js代码中好处:效率高,不用给服务......