我作为前端工程师的心路历程

7,231 阅读3分钟

心结

有一个心结一直困扰着我:为什么身为前端工程师,我总觉得低人一等。其中的主要原因,虽然羞于出口但确是事实,那就是“不自信”。

对于我,这个心结产生于两点:

  1. 前端很难给公司创造直接的收益,也就很难获得公司的认同
  2. 前端工程化的历史积淀较少,缺少一种成熟的框架来指导我们如何组织代码结构,如何进行架构分层。相对于后端而言,前端项目略显单薄。

框架应该是像Angular这样,不仅是一个运行时库,还给出了一系列优秀的工程化范式。

基本的自信

每个人都有不自信的一面,通常我们会通过模仿别人,来建立起自己的自信。

就我而言,前端项目的普遍略显单薄的问题是我最大的心结。因此,我会去模仿后端,学习OOP、MVC分层、IOC、AOP,甚至是《阿里巴巴Java开发手册》中的规范,汲取前人的经验,逐渐形成自己的前端工程化理解,建立起基本的自信。

一条捷径:直接学Angular给出的范式!

真正的自信

然而一味地模仿别人,非但不能带来超越,反而只会让我们活在别人的阴影当中。

其实在技术领域也是一样,如果一味的模仿后端,而忘记了前端应该专注的东西,那么就很可又能陷入一种,什么都懂一点但没有一个能精通的困境,这种自信是不堪一击的。

前端在模仿完后端,形成自己的工程化体系后,更应该专注于"人机交互"这个领域。我们要知道,HTML+CSS+JS这套体系不仅是用来制作网站用的,他的更大的用途是在人机交互上,比如字符、图形、音频、视频、VR、语音识别这些领域,而这些基于Web的人机交互,全部都是依赖于HTML5规范的。

未来,会有越来越多的领域会接入Web生态,比如Native、AI、IOT、VR等等,Web有着无限的可能性,而所有的这些,都离不开HTML。

所以,作为前端工程师,我们真正该投入大量精力去研究的应该是HTML5、CSS这些标准、规范。能在基于浏览器内核的人机交互设备上,实现极致的人机交互功能,才是我们前端工程师的硬实力。

只有硬实力,才能带来真正的自信。

该不该往大前端发展

个人的见解是:看自己的定位。

不管什么工种,都需要有自己专精的领域。像专业的后端,他们除了写工程代码,还会往OLTP、OLAP方向深入,进而成为公司的核心竞争力,这是很难被替代的。但是大前端,虽然抢了一部分客户端和后端的饭碗,但是它的工作内容还是只停留在写工程代码的这个层面,很难形成自己的核心竞争力,替代性也是比较强的。

  • 如果想去一个正在快速迭代的公司,并且自己想搞一些事情,成为带领项目的负责人,那就使劲学Node,往大前端发展。

  • 如果想去一个有成熟产品的公司,只想专注某个技术领域,想成为公司核心竞争力的一部分,那就少学Node,多学Web生态的各种规范、标准。