共计 1583 个字符,预计需要花费 4 分钟才能阅读完成。
经常听人吐槽说,前端技术更新太快、前端的细分太多,程序员太苦、很多货色学不过去。作为一名工作了 9 年的资深前端⼯程师,我也是深有感触。有时候,面对这种吐槽,我也是一笑而过。不过,面对这些吐槽,我看到的却是前端开发者心田的焦虑。面对越来越卷的行业现状,大多数的开发者都有一股想冲破⾃我的想法,不然的话,那和咸⻥有什么区别。
首先,对于前端同学一直学习的态度我是很赞叹的,作为一名开发者,不停的学习新技术是每个开发者须要把握的必备技能。但如果咱们从另外⼀个⻆度来看,⼀个⾏业的新东⻄层出不穷,正阐明这个⾏业⼀直在⾼速倒退,而咱们作为这个⾏业中的⼀员,这其实是⼀件⾮常好的事件,因为这阐明这个⾏业⾥有更多的机会和成⻓空间。
记得我刚毕业的时候,前端还处于手工作坊的年代,在那个时候,前端不过是一个“切图仔”,天然也就没有前后端拆散开发一说。而到了最近的 10 年,特地是 5 年,前端衍生出了泛滥的分支,根本后端开发的活也无能。
再次回到本编的开题,前端有没有永不过期的技能呢?广义来说,前端是没有永不过期的技能的,然而不论前端技术和体系如何倒退,它的法则和原理却是不变的。始终以来,我就把常识体系⽐作⼀棵⼤树,那些底层的法则和根本的原理是树⼲和⼤的树枝,在它们之上五花⼋⻔的各种技术、框架、库则是细⼩的树枝分叉和树叶。⼀味地追赶新的技术、框架,其实是在不停地拾取⼀⽚⽚树叶,看似枝繁叶茂,实则软弱⽆⽐,⼀旦技术更迭,就⾮常容易枯败凋落。因而,在我看来,咱们只须要了解底层额一些法则和原理,下层的技术只须要把握一些风行的框架即可。
所以,有时候他人问我该如何学习前端技术时,我的倡议好似不要盲⽬地去谋求所谓的新技术,不要⼀直把⼼⼒花在担⼼⾃⼰是否掉队上,⽽是要去多去察看整个⾏业,找到技术倒退外在的法则和脉络,把最贵重的工夫花在那些可迁徙的、不会过期的技能上。只有这样,你能力晓得该如何后退,当然恐慌感也就天然升高了。
那或者有人会问,如何能力把握行业的法则和脉络呢?以前端开发来说,我察看了我身边很多优良的前端专家,⽐如 Winter、⽉影、大漠等,发现他们的核⼼竞争⼒并不在于把握了多少前端技术和框架,或者最快地把握最新的技术,他们更多的是关注那些底层、更形象的能⼒,也就是编程能⼒、架构能⼒和⼯程能⼒,也即是每个前端架构师必备的一些技能。
- 编程能⼒ :所谓编程能力,其实就是⽤代码解决问题的能⼒。编程能⼒越强,你就能解决越简单的问题,细分之下,⼜有调试、算法、数据结构、操作系统原理等根底技能的⽀撑,你能力解决各种麻烦的问题。
- 架构能⼒ ,所谓架构能⼒,就是掌控和开发简单零碎的能⼒。当⼀个零碎⾜够简单,你会写每⼀块代码、能解决每⼀个问题,不等于你能搞定整个零碎,这就须要架构能⼒。架构能⼒还蕴含了对业务的认知,以及建⽴形象模型的能⼒等。
- ⼯程能⼒ :所谓的⼯程能力,其实核⼼就是组织的能⼒。零碎规模越来越⼤时,光靠你⼀个⼈是没方法实现的。那如何保障各个职能部门相互可能配合好,如何保障项⽬⾥⾯⽔平参差不齐的人能人尽其用,这些都离不开⼯程能⼒。
当然,后面所说的这些能力,也是前端⼯程师从高级、中级⾛向⾼级必须要逾越的鸿沟,也是咱们能够领有的永不过期的技能。并且,这些技能对于其余畛域的程序员同样实用,上面是一个比拟通用的程序员职业倒退路线图。
前端说了很多对于前端学习方向的一个货色,那作为一名前端同学,咱们有哪些技能是必须具备的呢,又有哪些成长的捷径能够借鉴呢?我认为,不论你是高级、中级还是⾼级,甚至架构师,以下技术和常识是必须具备的:前端常识架构局部、JavaScript 局部、HTML 和 CSS 局部、浏览器⼯作原理和 API 局部、编程与算法训练局部、组件化局部、⼯具链局部、公布与继续集成局部,并最终建⽴起前端的常识技能体系,上面是 3 年前我总结的前端的常识图谱,有趣味的童鞋能够参考下:前端常识图谱