阅读 2377

前端职业发展规划

前言

随着互联网的兴起,一方面是改变了我们的生活,提高了很多便利性,很多职业也伴随着兴起,前端也无不例外。2005年前端工程师的兴起,再到2010年PC端转向移动端,意味着大前端的时代到来了。也正因为亚当斯密的分工理论,之前每个聚合的职位也进行更具体的划分。

image.png

软件工程师

我们常常听到的词,都是程序员、码农,它们另一个更专业的词汇是软件工程师,他们确实是改变了世界。软件工程师根据工种分为交互、系统、算法、数据分析、测试、运维。交互就是写页面展示、交互的,系统就是写接口逻辑的,算法就是智能推荐,数据分析就是猜你喜欢、大数据分析,测试就是测bug的,运维就是管服务器的。就拿淘宝APP为例,首先,你会看到不同的tab(比如“首页”“消息”“我的”),点进每个tab能进入不同的界面——用户看得见,可以点进去,这就是交互。然后,你点击tab后,App需要把这个请求输送到服务器,服务器接到请求后做相应的计算,把结果反馈到你的手机上,整个过程背后是系统在支撑。接着,你在首页看到的信息流,比如系统推荐的特定内容,背后是算法在支撑。App还会收集你点击商品的类型、频次等数据,进行分析,猜出你喜欢的内容,这就是数据分析。App每次发版(发布新版本)前要做单元测试、性能测试、安全测试等,这就是测试部分。一旦App出现服务器或网络故障,需要做相关维护,这就是运维部分。

image.png

前端工程师

国内外对比

在美国,他们认为的前端工程师,和我们所想的不是同个概念,他们有着UI工程师、前端工程师、中间层、后端工程师,没错是UI工程师不是UI设计师,UI工程师主要负责HTML、CSS的书写,前端工程师主要负责JavaScript的编写,中间层就是负责链接前端和后端。而在国内,前端工程师既要写HTML、CSS也要写Javascript然后还处理着和后端的调试部分。这也就意味着前端工程师所需要具备的知识相对比较广泛,对能力的要求也是比较高的。

image.png

前端知识

image.png 前端的更新迭代很快,很多知识来不及学就已经有新的内容出来了,让你猝不及防。从过去的Jquery和Bootstrap时代到现在的React、Vue、Angular时代,PC端、移动端、小程序,npm、webpack、git,浏览器、http等等内容。这么多概念,去了解就需要花很多时间,那如何进行分类,结合自己的情况进行一个整理呢。前端的内容分为基础和实践两块,基础部分包括了HTML(语言、元素)、CSS(语言、功能)、JavaScript(运行时、文法、语义)、浏览器和API(实现原理、API),实践部分包含了性能、工具链、持续集成、搭建系统、架构与基础库。然后我们自己再根据这些分类去把各个知识点去进行引入和结合自己身的实际情况进行一个整理和学习。

image.png

工程师

抛开前端,我们也是属于工程师,那也意味着需要具备工程师的一些能力。一个前端工程师需要具备三大底层能力,编程能力-去解决难的问题,架构能力-去解决大的问题,工程能力-去解决人的问题。难的问题,大概就是偏向逻辑的复杂,那我们可以通过逻辑拆分一些方式和刻意练习进行强化,所以你现在知道为什么面试造飞机,工作拧螺丝了吧,面试官就是要考察出你的潜力和编程能力是怎样的。大的问题,就是去解决复杂系统分析、多个协同管理,你也许一个大的系统里的每一块内容都可以做的不错,但是你无法把他们整理成一起,架构能力就能在其体现。人的问题,更多的是代码的规范、如何减少成本沟通,写出clean code,当然还有其他部分,目前阶段还不是很好的理解。

image.png

延伸

你在社区是否活跃,是否有引入新的内容到自己的体系中,然后学习的最好方式还是输出,是否经常去分享自己所学的,亦或者在团队内把自己会的传授给别人,都是你自己能力的体现。

image.png

协作

image.png

就目前我自己的情况,前端需要和四个岗位线进行协作,设计、产品、后端、测试,而在其两两之间少不了沟通和交流,而如何让这些成本降到最低,也是对你能力的考察。其中你审美情况是怎样的,交互做的怎么样,对产品逻辑的理解有多少,为后端逻辑的考虑有多少,缺陷的产生是否比较少,对用户体验的感知又是一个什么样的程度,都是不可或缺的,效率也往往在其体现,这些能力就脱离具体的专业技术能力了,但也会起着比较关键的作用。

image.png

方向

前端工程师主要分三个方向,组件化、工具链、持续集成。组件化,库:一些复用代码,组件:UI多次出现的元素,模块:重复业务的区块,比如登录。工具链,项目的初始化、启动、构建、测试以及发布,都是需要特定化的定制符合自己公司的要求。持续集成,预览环境(每次版本的迭代发布是否每个环境下都兼容了,会不会出问题,需要一定的管理),规则校验、页面结构扫描、运行时数据采集、代码扫描等等。

image.png

发展

一个人的发展也是需要一定的动力的,成就、晋升、成长三者是相辅相成的。成就一般分为三种,业务型成就、工程型成就、技术难题。

image.png 业务型成就

image.png

工程型成就

image.png

技术难题

image.png

写在最后

望大家都能写出如诗一般的代码,成为一名优秀的前端工程师,路漫漫其修远兮,吾将上下而求索。

文章分类
前端
文章标签