前端开发一年多，该如何规划以后职业发展?
作者：李大狗 我认为，前端有四层境界。第一层过了，可称之为「熟练工程师」；第二层过了，可称之为「优秀前端工程师」；到达第三层了，可称之为「资深前端工程师」了；第四层，则到达了「前端之神」的境界。 第一层：熟练切图仔。掌握 HTML/JS/CSS + 几个常见框架（Vue / React / Angular 等），做出来的页面不会让设计师/产品经理想暴打你。   你是一个刚刚大学毕业的萌新，立志成为一个卓越的前端工程师。于是你进入了你心意的公司，开始修炼前端技术栈。这段时间，你的 Leader 会丢给你一些小的 Feature，让你去做。 1）HTML / JS /CSS 首先，在这个过程里你会对 HTML / JS / CSS 有着更深入的了解。 其中，HTML 与 JS 对你来说是小菜一碟，变化莫测的是 CSS。 「正交」就是，你调节这三者中的一个时，不影响其他两个效果。 「正交」看起来应该是理所当然的，对吧。想象一下「不正交」的情况：你调节「亮度」的时候，「色调」和「饱和度」会跟着无规律的变化。如果是这样，你会调得想死，因为你很难调到你想要的效果。而 CSS，就是「不正交」的。……怎么学习「不正交」的东西？只有一个办法：试。你试的组合情况越多，就越能了解各种奇怪的现象。别无他法。目前 CSS 常用的属性就按 50 个算吧，两种属性组合一共有 50 * 49 / 2 = 1225 种情况，三种属性组合一共有 50 * 49 * 48 / 6 = 19600 种情况。这还没有算上父子元素的互相影响的情况。少年，你有生之年，慢慢试吧。…… 艺术就是 CSS ！ 所以，在第一个阶段的最大门槛是你在设计上不断地企图「复刻」设计师递交给产品经理的设计图，但因为这样那样的原因总是难以满足要求。 但是，这也是一个容易跨过的门槛，因为它需要的不是你卓越的头脑，而是时间与总结，多写写，不停地写，突然有一天，你发现产品经理对你露出了满意的笑容，你就成为了一名合格的前端工程师了。 2）掌握一种或多种框架 别想着你有选择余地，很多时候是公司选啥就得用啥。对于框架来说，其实掌握常见的主流的 2-3 种就可以。 不要陷入框架的泥沼中，天天玩各种框架，有可能会产生自己是技术大佬了的错觉…… 将自己常用的和撸的一些特色组件，抽象出来，构建出自己的「前端工程师工具箱」。在这个时候，如果有比较大的好奇心，就会顺便掌握 Nodejs 与 TypeScript。   1）拥有自己的工具箱 善于总结是程序员的必要品质。通过不断的学习 — 复盘，在这个时候我们应该已经构造出自己的「开发工具箱」并不断地迭代，这个工具箱被称之为 Snippet，我个人通过 Alfred + Dash 来管理这个工具箱。 首先，这个工具箱里包括了大量的代码片段。日常的重复性工作变为这些片段的「复制-粘贴-组合」，以让我们把精力腾给更重要的事情。 其次，工具箱里还有几件我们的「独门工具」——这些独门工具不仅为了自己方便，也是展现自己价值的重要手段。想想，你在面试时告诉面试官，这个组件是我做的，已经有多少多少下载了，是不是会让面试官心里对你竖起大拇指呢？ 2）学学后端 前端工程师是否要掌握「后端知识」？这亦是一个 对于前端工程师而言重要的命题。不同的人对此有不同的见解，但我个人认为，掌握后端的基础知识，对前端工程师是必要的。 为什么？ 一方面，了解后端，会在与后端的工作协同中沟通更加顺畅。 不过更加重要的，是构建一个完整的项目的能力。在互联网时代，我们找工作并不能仅凭「编码能力」，各种各样的「软实力」非常重要。如果在他人面前展示自己的价值？最好是通过一个看得见摸得着的应用。这个应用的构造，便需要我们在一定程度上了解后端的知识。 那么，一个前端工程师怎么学习后端？最经济的方式当然是学习同样用 Javascript 的 Nodejs 了。 不过，由于各种历史因素，Nodejs 并不是那么严谨。所以，在学习 Nodejs 后，可能要去再看看它的 DLC 版本—— TypeScript。一般来说，不管是前端工程师还是后端工程师，都推荐掌握一门严谨的语言来训练自己的思维。 在这个过程里，要刻意加深对 OOP（面对对象编程）和 FB（函数式编程）的理解，它们是计算机世界的重要编程思想，是深入计算机科学的基础。 第二层结束的时候，一个分叉路口出现了。这时候，有的人选择变成「后端工程师」，有的人去当了产品，还有一部人，留下来继续做前端工程师，这时候他们迈入第三层，可以被称之为「资深前端工程师」了。 这个时候，前端大佬一方面将要学会如何管理手下若干号小弟，另一方面要去思考一个重要命题：如何通过各种各样的方式提升效率？这条路的终极之道是「全自动化前端生成」，也就是干掉「前端工程师」这个岗位，很有「哲学意味」。   这个时候，初级的工作基本上会交由小弟去做，所以，学会实战型管理，是很有必要的。 另一方面，还有一个重要命题是需要前端大佬不断去思索的：如何提效？尤其是在大公司，这个命题意义重大。提效 1%，即意外着节省大量的成本。 如何提效这件事就没有一定之规了，需要深入的认知 + 思考 + 创新。 这儿有一个提效的项目例子： 通过设计稿自动生成前端代码。自然，它目前还是一种很初级的状态。不过，等它完善的那一天，是无数初级前端下岗之日，也是其项目参与者封神之日。 这一层没什么好说的。当你做出一个 VUE 或者 REACT 的时候，你就在前端界封神了。 那么……祝你好运！