自从年开始,全栈工程师成为了程序员圈中的热门话题,“如何成为全栈工程师”也一度成为了许多程序员的终极奋斗目标。
全栈工程师,这个概念来源于国外,是指掌握多种技能,并能利用多种技能独立完成产品的人。且需要同时具备前端和后台能力,用另一种话来说,就是IT界的“复合型人才”,是许多企业争相招聘的存在。
作为一名普通的程序员,如何快速进阶到这么一个高技术型岗位呢?让我们一起来看看小于的故事,相信能给大家一些启发。
毕业前成为前端工程师
弹指一挥间,发现自己从事前端这份工作已经有三年的时间了,我就读于一所普通大学的计算机专业,毕业后通过校招进了一家不错的互联网公司,成为了一名web前端工程师。
实习前三个月是我成长最快的三个月,大学时期学的东西比较多比较杂,因此关于前端的知识点掌握的也不是很全面,当时公司给实习生安排的工作也不会特别核心,主要还是跟着我的师傅做,因此也不是太忙碌,下班以后我会通过视频网站的学习来提高自己的技能点。
一开始总是最困难的,在逐渐适应了以后,每天的日常工作就是切图作业面,开发写代码,临时改需求等等,每个月加上项目奖金收入算得上不错的。
工作久了后,当时的领导还是比较器重我的,会给我一些比较核心的任务,参与到较底层的架构实现里去,也算是一边工作一边学习。
进入瓶颈期
作为一名前端工程师,在工作中总免不了和后端产生交集,每次遇到不能解决的问题时,总是需要去求助别的组的老师,一来二去,未免怕给他人造成困扰,因此,当时的我开始思考破局的方法。
那时候的我选择做出了两方面的改变。
第一是继续巩固前端知识,将下班后的零碎时间用来研读行业书籍,进一步提升自己。
其次,我对技术的态度其实更偏向于广度大于深度,所以我自身的规划也是如此,因此,打通技术栈也是一件十分必要的事情,我,期望通过系统化的学习对自身进行进一步的提升。
重启学习
在做了全面的了解后,我辞去了当时的工作,专心学习。那段时间自己都处于很紧绷的状态,但还好老师将系统化的知识拆解成容易理解的几个小知识点,很大程度上帮助了我快速学习。最后我不但完成了学习,在临近春节,也如愿的收获了心仪公司17K的offer。
我总结了一些我当时面试中遇到的问题和解决方式,下面和大家分享一下。
1、掌握扎实的基础知识
虽然是面试全栈工程师,但是还是会问到一些基础层面的知识,面试的时候一般面试官都会问到最底层的原理性问题比如HTTP协议之类的,而且特别详细。
2、木桶原理,哪块都不能少
首先,你需要会多种独立的框架,如React或者Vue,需要把Vue整个框架的原理深层次的全部弄清楚,包括怎么复制组建,怎么传递信息。
再其次,每个公司的着重点都不一样,但作为全栈工程师,木桶原理很重要,哪块都不能少,平时多刷刷leetcode,在面试前看看剑指offer/面试金典,能避免很多的套路,当时我面试了某个大厂,就是挂在了手写代码上,说多了都是泪。
3、自信,心态决定一切
在面试的时候一定要自信,因为面试的时候,如果你表现的足够自信的话,面试官会愿意花更多的时间在你身上,但是也不要盲目的自信,那个度需要掌握好。
在面试的过程中,要发挥自己的长处,尽量将话题引向自己最擅长的那一方面,这样面试官会抓住你的精彩之处,如果你有他看中的价值,就一定会给你一个满意的答复。
最后还想和大家说一句,打铁还需自身硬,再多的面经,也是为夯实的技术锦上添花的存在,无论是成为前端工程师还是全栈工程师,JavaScript都是最基础也是最重要的,从最开始的基本类型,到后面的闭包以及复杂的函数等等,必须心里有数。
Nodejs也必须掌握其中简单的框架,还有前端现在最常用的Vue和React,这两个框架必须熟练掌握其中的一种。只有在基础都没问题的情况下,我们才有信心往新的方向发展前行。
写在最后
我成功晋升后,有很多同样IT界的同学来问我,成为全栈工程师究竟难不难,其实我想说,难,也不难,难得在于需要坚持,且不是一朝一夕的坚持,需要我们每天都坚持。比如,我们平时一定要坚持每天都码点代码。就算再烂的项目,也要坚持上传github,只要你能坚持一周有5天以上都能持续上传Git,半年下来,一定是一笔不小的财富。最后希望我的故事能给予你们一些帮助,也希望大家都能找到一份心仪的工