最近接触了很多前端的小伙伴,和他们谈了很多职业发展的问题,大部分是做了一到三年的前端新手。
在交流中发现了一个很有意思的现象,同样是入门不足三年,有部分人觉得前端很有前途,甚至有人年薪已经30W以上,但也有部分人觉得前端薪资不高,技术体系庞杂,迭代速度飞快,苦于学习各种不断更新的技术和框架,心神俱疲。
同样是前端工程师,技术体系是相同的,工作年限也是相近的,为什么差别这么大?我在前端领域摸爬滚打也有五年了,如何跟上前端技术飞速更新的步伐,我认为学习方法一定要找对,抓住学习的重点才能事半功倍。我总结了几个学习中要注意的点,和各位技术水平卡在瓶颈,苦恼于怎么提高的年轻工程师们分享。
第一点 夯实基础
基础一定要掌握牢固,基础知识一问三不知,就是贻笑大方。css,js基础知识一定要掌握得很熟练。
到什么程度可以称为熟练?你能使用css实现斑马条纹背景,毛玻璃效果吗?能给图片实现滤镜效果,能实现所有自适应布局效果吗?原型,原型链,闭包是实现设计模式的必备知识,你真的弄懂了吗?闭包导致内存泄漏的原因是什么,你弄明白了吗?ajax跨域的解决方案你可以说几种?2020年了,你还是只告诉我jsonp吗?http协议有了解过吗?
现在是2020年了,这些问题老掉牙了。可是我要告诉你的是,掌握好这些老掉牙的基础,就是很重要。上层的技术可以变更的很快,基础变动很慢,投入时间学好基础,性价比很高。
第二点 深究原理
Angular,React,Vue框架和脚手架的普及,越来越多的前端工程师浮于表面,调用框架的API完成任务就完事。要成为一名优秀的前端,绝不能成为单纯的”API调用工程师”,一定要掌握框架背后的原理性知识。
Virtual DOM diff算法,双向绑定原理等等框架背后的机制都值得我们去学习。框架API可以更新很快,而他们背后的原理都是相似的,学好原理既可以让我们对框架底层了解更深入,又可以使我们迅速掌握不断更新的框架表层。只会用框架永远也成不了大神。
第三点 注意细节
“代码能用就行”的认识往往是初级程序员的通病。作为有在技术道路上有理想的工程师,一定要对自己的代码严格要求,精益求精。
比如HTML一定要注意语义化以方便SEO优化,该用<section>,<head>,<foot>的地方不能一股脑儿用<div>完事;css中编写样式时不能页面上样式是有了,类名和属性排序写得一塌糊涂,建议大家按照BEM规范编写风格良好的代码;js中变量命名随意是很常见的不规范行为,一个不直观的变量名往往使同事看了脑袋大。
“代码千万行,注释第一行。命名不规范,同事两行泪。“一首流行诗,饱含了多少程序员的血与泪。
第四点 登高见远
前端经历了这么多年的飞速发展,早已成为浩瀚的大海。如果闷着头独自钻研苦学,那无疑是很慢的。
技能图谱
如果我们直接去跟随大神学习,那将会使我们快速成长。github上有很多优秀的前端项目,仔细研读这些项目的代码,在commit记录中查看编程思想和逻辑的进化过程,就是一场与大神直接的面对面交流,是一场绝妙的学习之旅。