经常听人吐槽说,前端技术更新太快、前端的细分太多,程序员太苦、不少东西学不过来。做为一名工做了9年的资深前端⼯程师,我也是深有感触。有时候,面对这种吐槽,我也是一笑而过。不过,面对这些吐槽,我看到的倒是前端开发者心里的焦虑。面对愈来愈卷的行业现状,大多数的开发者都有一股想突破⾃个人想法,否则的话,那和咸⻥有什么区别。前端
首先,对于前端同窗不断学习的态度我是很赞扬的,做为一名开发者,不停的学习新技术是每一个开发者须要掌握的必备技能。但若是咱们从另外⼀个⻆度来看,⼀个⾏业的新东⻄层出不穷,正说明这个⾏业⼀直在⾼速发展,而咱们做为这个⾏业中的⼀员,这实际上是⼀件⾮常好的事情,由于这说明这个⾏业⾥有更多的机会和成⻓空间。程序员
记得我刚毕业的时候,前端还处于手工做坊的年代,在那个时候,前端不过是一个“切图仔”,天然也就没有先后端分离开发一说。而到了最近的10年,特别是5年,前端衍生出了众多的分支,基本后端开发的活也能干。算法
再次回到本编的开题,前端有没有永不过期的技能呢?狭义来讲,前端是没有永不过期的技能的,可是无论前端技术和体系如何发展,它的规律和原理倒是不变的。一直以来,我就把知识体系⽐做⼀棵⼤树,那些底层的规律和基本的原理是树⼲和⼤的树枝,在它们之上五花⼋⻔的各类技术、框架、库则是细⼩的树枝分叉和树叶。⼀味地追赶新的技术、框架,实际上是在不停地拾取⼀⽚⽚树叶,看似枝繁叶茂,实则脆弱⽆⽐,⼀旦技术更迭,就⾮常容易枯萎凋落。所以,在我看来,咱们只须要理解底层额一些规律和原理,上层的技术只须要掌握一些流行的框架便可。编程
因此,有时候别人问我该如何学习前端技术时,个人建议好似不要盲⽬地去追求所谓的新技术,不要⼀直把⼼⼒花在担⼼⾃⼰是否落伍上,⽽是要去多去观察整个⾏业,找到技术发展内在的规律和脉络,把最宝贵的时间花在那些可迁移的、不会过期的技能上。只有这样,你才能知道该如何前进,固然恐慌感也就天然下降了。后端
那或许有人会问,如何才能把握行业的规律和脉络呢?之前端开发来讲,我观察了我身边不少优秀的前端专家,⽐如Winter、⽉影、大漠等,发现他们的核⼼竞争⼒并不在于掌握了多少前端技术和框架,或者最快地掌握最新的技术,他们更多的是关注那些底层、更抽象的能⼒,也就是编程能⼒、架构能⼒和⼯程能⼒,也便是每一个前端架构师必备的一些技能。浏览器
固然,前面所说的这些能力,也是前端⼯程师从初级、中级⾛向⾼级必需要跨越的鸿沟,也是咱们能够拥有的永不过期的技能。而且,这些技能对于其余领域的程序员一样适用,下面是一个比较通用的程序员职业发展路线图。数据结构
前端说了不少关于前端学习方向的一个东西,那做为一名前端同窗,咱们有哪些技能是必须具有的呢,又有哪些成长的捷径能够借鉴呢?我认为,无论你是初级、中级仍是⾼级,甚至架构师,如下技术和知识是必须具有的:前端知识架构部分、JavaScript 部分、HTML 和 CSS 部分、浏览器⼯做原理和 API 部分、编程与算法训练部分、组件化部分、⼯具链部分、发布与持续集成部分,并最终建⽴起前端的知识技能体系,下面是3年前我总结的前端的知识图谱,有兴趣的童鞋能够参考下:前端知识图谱架构