第一节 何谓转型前端开发
首先解答一个问题:什么叫做读了天坑专业?所谓天坑专业,用互联网的解释就是包括但不限于生化环材的这类国内就业较差的大学专业。读了天坑专业,这类人描述的应该是属于科研天赋一般、急需挣钱的学生,对于家庭条件良好的,科研天赋禀异的同学打算进军科学的同学可以划走了。综合来看,就是家庭条件一般,不愿科研,但因为某些原因读了生化环材这类国内目前就业困难专业的大学生。
上面说的就是笔者本人。笔者当年高考分数很高,但阴差阳错读了东部某高校的生物相关专业,大学四年学的很吃力,各种繁重的课程和班级普遍的深造氛围导致笔者没有关注就业问题。所幸,后面保研到了本校某划水实验室,也是做生物相关研究,导师监督下打工二年有余,无一科研成果。读研期间,偶尔得到一机遇,经历种种艰辛,顺利转型码农。毕业以来,现在东部某厂核心部门做前端开发,躲过数次裁员,还算顺利。为了给读了天坑专业想转型码农的同学不再走弯路,笔者希望写下这篇文章,能够给迷茫中的大学生一些启示。
在决定转型前端开发之前,需要弄清一件事:什么是前端开发,这是一个什么样的职业,到底有没有就业前景?我在刚开始入门的时候,同样面临着这样的问题,现在我能够解答这个问题了。
大家都知道前端开发时互联网开发的一个岗位,那前端在里面有着什么样的作用呢?首先我们需要先看一下互联网企业的人员构成。一个成熟的互联网企业一般由各级管理、行政、HR、法务、设计、产品、技术、客服、营销等人员构成,共同支持着公司的平稳运行。在公司的核心人员中,技术占有很大的比重,对于一个成熟的企业而言,技术又大体上可以分为算法、数据、开发、测试和运维几大类,开发主要分为前端开发和后端开发,当然有些公司还存在测试开发等。
一个互联网产品的推出,在技术实现环节,往往需要产品、设计、技术共同完成。产品提出产品原型,设计设计出界面,前端和后端共同实现,其中前端负责界面UI的实现,后端负责数据接口的实现,再由测试测试,最后由产品验收上线,这便是基本的流程。因此,前端开发是互联网产品实现过程中的一个必要工种,一般用来实现产品UI。这里的前端普遍上是指和浏览器相关的网页实现。
上世纪90年代互联网开始的时候,还没有前端开发这个职位,大部分网页很简单,就是图文而已,一般由服务器直接产生,然后发送到浏览器即可。后来随着网页的逐步复杂,甚至一个网页就能形成一个应用,这个过程中更是伴随着JavaScript的逐步完善。2009年,nodejs横空出世,给前端应用各种工具的诞生提供了重要的基础工具。随着互联网浪潮的发展2010年以来,各种用于网页实现的框架层出不穷,现在市场上主要是React、Vue和Angular三分天下,大大降低了网页制作技术成本,网页开发逐渐组件化、配置化。各大互联网公司一般的网页应用均是由这几个框架实现。
从历史上来看,前端整体上的发展也不过10多年的时间。现阶段,前端的基础建设,开发模式已经逐渐成熟。一个拥有基础计算机知识的大学生,在了解基本的开发知识后,也能参考开发文档很快的上手前端开发,甚至实现特定的需求。因此,前端开发也就形成了门槛低的印象,的确,像我这样的,也就看了一周的书就去面试了,然后立马就去开发公司的需求了。
综上可知,对于一个没有接触过前端的人来说,相较于算法、后端等互联网技术岗位,现阶段的前端开发,职业发展历史短,门槛低,易入门。对于大多数人来说,可能会有着这样的忧虑,在未来会伴随着职业生涯竞争压力大,容易被替代。我开始做前端开发时,也会有这样的忧虑,但是工作久了,慢慢发现了工作很少有什么绝对的东西。
前端开发需要不断地积累知识,然后不断的学习,随着技术的快速迭代,只要保持不断学习的状态,就可以在技术领域形成自己的门槛,这不是一个技术难或者易能够形容的,这是一个长期的积累,不是一朝一夕可以形成的。对于读了天坑专业的人,前端开发正是由于低门槛,所以能够迅速掌握基础知识,完成基础装备,然后站住脚跟后,通过持续不断的学习,完善自己的知识体系,只要坚持,就能够得到一个不错的结果。
我工作一来,对前端开发有了比较形象的感觉,那就是做前端开发这个职位很像厨师,市场的岗位需求和饭店里的厨师需求一样。每个人都可以通过练习去做菜,但是要想菜做的好,需要不断的历练,但是如果能够坚持下去,由于有那么多的饭店,去不了大饭店,还可以去小饭店,当不了主厨,还可以当帮手,这个需求一直都在,所以我觉得它是一份脚踏实地并且适合我们这种非科班出身的天坑毕业生。
通过上面的文字,我想我已经把何谓转型前端说了个七七八八了。下一节,我将从前端开发的知识体系讲起,希望能够对前端开发有个具体的阐述。