前端职业规划

保持“空杯心态”,才能持续不断的进步

1. 技术发展线路

  • 初级程序员(薪资6k-10k,1~2年)

    • 写一些简单的业务,负责项目某些模块的开发、维护
    • 遇到很多问题不知道如何处理,需要查询资料或者交流后可以解决;
    • 代码通常写的杂乱无章,能用就行
  • 中级程序员(薪资10k-20k,2~4年)

    • 可以独立负责中小型项目,负责公司项目核心业务的开发、维护
    • 遇到大多数问题可以自行查到解决方案,有一定的自学能力,通过官网文档可以自学
    • 代码质量较高,遵守代码规范,并且会对组内其他人的代码有要求
  • 高级程序员(薪资20k-50k,4~6年)

    • 独立负责中大型项目,可以为公司项目搭建架构,创建内部的脚手架,公司内部的UI框架
    • 可以读懂框架源码,并且从一些开源框架中借鉴优秀的设计、架构、思想
    • 公司的核心员工,具备可替代性,成为公司技术不可或缺的一部分
  • 系统架构师(50k~)

    • 可以对大型项目进行系统架构,不再局限于某个领域(前端、后端?)或者某项技术(JavaScript、Java、 C++?)
    • 对技术领域 现有技术方案进行评估,对不同的场景给出对应的解决方案
    • 确定项目最终方案,并且对整个项目进行“核心架构”(包括完成 核心架构 实现的能力)
    • 保证项目的各个环节有序进行,包括项目的高性能、高可用、可扩展能力
  • 资深技术专家(50k~)

    • 专注于某一个特定领域
    • 比如前端包括不限于对框架源码、node、js引擎进行定制化需求、优化
    • 比如后端包括不仅限于JVM、线程池、SQL调试、优化
    • 比如可以主导公司项目某些特定领域技术的落地,类似流媒体、即时通信技术等
    • 某些人在行业内有一定的影响力,是某一块技术领域的Top人物

2. 业界大佬

3. 软件是什么?

  • 生活中的软件有哪些

    • 聊天软件:微信,QQ
    • 短视频软件:抖音,哔哩哔哩
    • 外卖软件:美团,饿了么
    • 音乐软件:网易云音乐,QQ音乐
    • 编程软件:VSCode
  • 软件的专业定义

    • 一系列按照特定顺序组织的计算机数据和指令,是电脑的非有型部分
  • 软件开发是什么

    • 告诉计算机一系列的指令,这些指令也称之为程序
  • 开发软件的这部分人就称之为软件开发工程师,也称之为程序员

4. 软件(software)和应用程序(application)区别

4.1. 概念的区别

  • 软件是一系列按照特定顺序组织的计算机数据和指令的集合
    • 一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件
  • 应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序
    • 应用程序在分类上也比较多,系统应用程序,桌面应用程序,驱动应用程序,网络应用程序,手机应用程序,物联网应用程序等

4.2. 功能的区别

  • 软件由多个应用程序组合而成,功能及其复杂
    • 比如常见的office软件,能做表格,做PPT,处理文档等功能
  • 应用程序功能比较单一,只能处理一类工作
    • PPT只能用来处理幻灯片,没有办法处理复杂表格,想要录制音频需要调用office软件包里录制音频的应用程序

4.3. 开发难度的区别

  • 软件的开发难度要比应用程序大得多,由于需要多个应用程序配合,而且需要在不同的操作系统平台上发布,都是用不同的编程语言混合开发而成
  • 应用程序的功能相对比较单一,遇到的业务场景也不会很复杂

4.4. 可执行性的区别

  • 从本质上来讲,所有应用程序都是软件,但并非所有软件都是应用程序
  • 使软件成为应用程序的一个要点是它是可执行的
  • 应用程序的主要目标是执行特定任务或任务范围。因此,重要的是它能够执行和执行其指令以实现此目的
  • 如果某个软件不可执行,则不能将其视为应用程序

4.5. 编程语言的区别

  • 软件对性能有一定的要求,很少选择性能比较差的脚本语言开发,一般都是使用C++,Java这类编译型语言开发
  • 应用程序通常对性能的需求没有软件那么大,很多解释型的脚本语言也可以开发

5. 完善的软件系统

网易云音乐为例

6. 前端开发工程师

  • 开发系统中各个环节的不同部分都属于软件开发

    • 这些开发者称之为软件开发工程师
    • 开发者、程序员、码农、IT民工等等
    • coder、programmer、developer
  • 按照职能的不同也可以划分两类

    • 后端(Back-end)开发,称之为后端开发工程师
    • 前端(Front-end)开发,称之为前端开发工程师
  • 前端开发工程师

    • 主要负责Web(网站、后台管理系统、手机H5)、小程序端
    • 也可以做移动端(Uniapp、React Native)、桌面端(Electron)、服务器开发(Node.js)

7. 前端行业发展

  • 为什么要聊这个话题呢?

    • 时代的一粒灰,落在个人头上,就是一座山
    • 如何行业已经停滞,甚至是倒退,没有需求,那么如何努力也改变不了现状
  • 技术角度

    • 新框架(Ember.js、Preact.js)、框架更新迭代(vue3、react18)、新工具(Vite)、新模式(工程化、低代码、微前端) 层出不穷

8. 技术进步

  • 阅读官方文档
    • 抓住重点,实战练习,将官方文档更多作为查阅的手册
  • 看书学习
    • 关注书的质量,必须动手练习
  • 开源项目
    • 学习源代码,模仿
  • 视频教程
    • 市面上视频资源过多,选择高质量视频
本文结束  感谢您的阅读
  • 本文作者: Wang Ting
  • 本文链接: /zh-CN/2019/01/23/前端职业规划/
  • 发布时间: 2019-01-23 23:09
  • 更新时间: 2023-06-13 02:04
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!