前端开发个人职业发展的四个阶段,你处于哪里?

前言

前段时间跟一位前辈聊到前端职业发展该怎么去规划这个问题。他说到的其中几个点我觉得非常好:

  • 第一是要有清晰的自我认知,知道自己在一个团队或者在一个项目中能发挥怎样的价值,不骄傲自大也不要妄自菲薄;
  • 第二点是无论做什么都需要勇于承担,不要害怕任务艰巨自己无法完成,做得越多你收获的也将越多。当然不是指一些机械重复的完成任务,要带着自己的思考;
  • 第三点是任何事情都需要规划,任何的能力和价值的养成都是阶段性的积累,在正确的阶段做正确的事,计划对应阶段,每个阶段做每个阶段该做的事,你的提升和成长才是最快的。

第三点我尤为认同,也跟他深入聊了一下关于前端开发的职业生涯分哪些阶段,在每个阶段应该做什么样的努力。

第一个阶段:入门阶段(1-3年)

阶段目标:这个阶段我们的目标就是对纯前端的内容能有一个清晰的认知。能够无障碍找工作,四五次面试能拿到2-3个offer。

入门阶段,就是刚刚入行不久,对前端开发有一点认识,会用基础的前端技术和简单使用前端框架。这时候也能开发业务,但也仅限于开发业务 ------ 俗称"页面仔"、cv工程师。这个阶段初期开发的大部分时间在面向搜索引擎。

这个阶段对前端的认识很不全面,技术上既没有广度也没有深度。前端相关的东西都知道一些,但是如果真正深入去聊的话会发现是一知半解。去面试时什么都能说上两句,但是一旦面试官多问两句就会变得支支吾吾。技术栈不够完善和系统,学到的和用到的知识没有整合起来,学的东西大多只是为了当前工作开发去学,工作过程中也只是完成就行,不会想为什么这么做,或者不会想更好的解决方式去完成业务。

那么处于这个阶段该做些什么呢?

  1. 从任何地方汲取前端相关的知识,包括但不限于:视频教程、技术书籍、博客;
  2. 把前端的相关技术和基础详细了解清楚,垂直方向深入。搞清楚前端是做什么的,完成不同的前端工作有哪些方案可以选;
  3. 了解各种框架的本质区别,不要求全部框架都精通。做到**"一专多熟"**,选一个自己常用或者自己感兴趣的框架深入学习,深入一点了解某个框架,做到这个框架无障碍使用,有条件最好能了解一点框架源码;
  4. 了解http协议相关知识、浏览器相关知识。

第二个阶段:全面发展阶段(3-5年)

阶段目标:扩展自己的知识面,对项目结构、项目的周期、研发周期等这些上层的东西有一定了解,慢慢了解接触管理工作。

这个阶段业务已经写得很熟练了,对自己工作的行业有了一定认识,再去同行业得公司工作时,积累的行业知识开始发挥作用,能结合自己对行业的了解和业务去进行开发,也有一定的技术广度和深度,能独立完成项目的构建和一些基本架构,对业务需要用到技术能进行一定的选型。

在这个阶段我们有应该做哪些努力呢?

  1. 扩展知识面,比如:后端、服务器、开发工具等方面的知识;
  2. 学习webpack、docker、Linux等,能够对整个项目的构建过程有一个比较清晰的认识,能从零独立搭建项目;
  3. 提升自己的一些软技能,比如:表达沟通、时间管理等;
  4. 对于自己工作的行业,可以做一些深入了解,了解自己工作的行业中,前端开发有哪些共性和特点,怎么结合行业特点和业务去完成开发工作。

第三个阶段:高级前端开发 / 前端leader(5-7年)

这个阶段你已经属于高级前端开发工程师了,这时候一般有两个方向:

  • 对于喜欢搞技术,不喜欢管理掰扯的人,你是团队中的主程,前端团队中的主力开发,负责团队项目的架构方面的东西,或者一些开发难点的攻坚;
  • 另一个方向就是,团队的管理者,管理一个前端开发团队,负责项目的整体规划和开发进度的把控。

到这个阶段的前端各方面都已经非常成熟了,有完善的前端知识体系,整体项目中,不管是前端部分、后端部分或者一些部署运维的东西,都有比较好的了解,能够同各个环节同事进行对接协调。

那么到了这个阶段,我们还要做些什么呢?

  1. 这个阶段,你应该对整体的前端有比较系统的认知,这时候你工作基本都是管理,管理项目或者团队;
  2. 应该有自己的作品或者产出:不论是开源作品、博客或者插件等都可以;
  3. 收入不单单依靠工作薪资,你对前端开发或者你工作的行业都有自己比较清晰系统的认知,这时候你可能会有自己的相关副业(这个因人而异)。

第四个阶段:前端架构 / 团队领导(7-10年)

到了这个阶段,如果你还在前端行业,那么你要么是一个行业大牛,要么是团队领导。这个阶段的工作方向就是管理和架构方向。当然如果你只是想有份工作,随便做做前端有点收入,保持躺平状态那就不在这些范畴了。

一些建议

  • 学好JavaScript原生的知识。如果你想长期从事前端工作的话,掌握好JavaScript是一切的基础,不管是对于你学习其他技术还是框架来说都是这样;
  • 养成多看源码的习惯。看不同框架、库等的源码可以让我们更多地了解别人是怎么写代码的,学习别人写的思想和方法,这些思想和方法你会发现在很多地方都是通用的;
  • 可以的话参与一些开源项目,或者自己做一些开源的东西,再或者可以保持写博客的习惯,这些都能更好的帮助自己更好的掌握和梳理自己的技术栈;
  • 避免做重复的事,多封装和抽离,不管是方法还是组件。长期保持你后边做项目会非常有效率。

写在后面

那么我们怎么判断自己当前阶段是否做得还不错呢?

  • 去面试,看自己在面试对应阶段的岗位过程中是否顺利,能否比较高比例地拿到offer。

你觉得自己属于哪个阶段?

你觉得每个阶段我们有没有更好的方法去提升自己?

相关推荐
逐·風6 分钟前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
Devil枫35 分钟前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
尚梦1 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子2 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
毕业设计制作和分享3 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
清灵xmf4 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
大佩梨4 小时前
VUE+Vite之环境文件配置及使用环境变量
前端
GDAL5 小时前
npm入门教程1:npm简介
前端·npm·node.js
小白白一枚1115 小时前
css实现div被图片撑开
前端·css