你好,我是 winter。去年 9 月底,我正式从阿里巴巴离职,开始投身计算机教育事业。到现在,我接触了很多渴望进阶的前端工程师,也让我对前端工程师的成长有了许多新的体会。在具体讲如何成长这件事前,我先跟你聊聊当初我是如何走进前端这个领域的。
我最早接触前端是在大学的时候,当时我在中国的黑白棋小圈子里面还是很活跃的,一群棋友经常一起下棋。后来我们的论坛要有展示棋谱的功能,所以我就很积极地去研究怎么改进。我花了很长的时间才搞清楚几个带 Java 的技术——Java、JavaScript、Java Applet 都是干嘛用的,后来我发现 JavaScript 的能力比我想象中的要强得多。其实我就是这样走进前端领域的,并且在当时我心里就种下了一颗种子:坚信做前端这件事情是有前途的。
其实前端是个非常年轻的领域,很多前端工程师做到一定时间就会遇到职业发展瓶颈,怀疑自身能力甚至怀疑前端行业。但是在我看来,前端领域可以用一个词来形容——百废待兴,如今的前端恰恰是充满机遇和挑战的阶段,只要找到正确的学习方法,绝大多数同学都可以在前端领域有所建树。
我发现大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。而且因为没有经过严格的科班教育出身,很多同学学前端的方式是“土法学前端”,学习资料分散且无从考证,对知识的理解基本都停留在点上,并且难以深入,从来没有对前端的 知识体系和底层原理 形成真正的理解。
再加上前端标准和工具的快速更新,前端工程师的学习压力变得越来越大了。许多前端程序员都有感触:学习速度跟不上技术发展速度,感到手忙脚乱、力不从心。
这两点因素加剧了前端工程师的焦虑,面对五花八门的前端学习资料,你是否想过这些前端知识你应该怎样学?目前市面上动辄数万元的培训课程,其实都是在教你前端知识点,并没有人教你应该怎么学,或许这才是困扰无数初级前端工程师迟迟无法更进一步的原因。
而前端工程师的成长,我认为主要在两个方面,一部分是“能力”,一部分是“知识”。我个人的观点,能力占 80%,知识只占 20%。所以你掌握了知识还远远不够,更重要的是要掌握学习的方法,快速提升自己的能力。
技术圈里有时会说一个人工作了三年,却只有一年的经验,因为后面两年都在重复第一年的工作。所以能力的提升要远比掌握热门框架的使用更重要,不然每天只是在重复用轮子,时间久了就会发现自己根本没有成长。
但能力提升就不同了,对于前端来说,尤其要培养自己的编程能力、架构能力和工程能力。
编程能力,就是用代码解决问题的能力。 你编程能力越强,就能解决越复杂的问题,细分又有调试、算法、数据结构、操作系统原理等基础的支撑,你才能解决各种麻烦的问题。
架构能力,就是掌控复杂系统的能力。 当一个系统足够复杂,你会写每一块、能解决每一个问题,不等于你能搞定整个系统,这就需要架构能力。架构能力包含了一些意识,比如解耦、接口隔离,也包含认识业务建立抽象模型,也有一些常见的模式,比如经典的 MVC,还有设计层面,比如面向对象、设计模式等。
工程能力,其实核心就是成事的能力。你要知道,当系统规模越来越大时,光靠你一个人是没办法完成的。那如何保证几个高手互相能够配合好?如何保证项目里面水平最差的人不拖后腿?工程化建设,往往会跨越多个业务,包括前后端解耦、模块化、质量保证、代码风格等。
那么问题来了,知识可以自学,这些能力该如何提升呢?
我认为你需要找到一位好的老师或者教程,并且严格训练自己。具体来说,可以跟着一个好的教程深入学习,在一个有监督、有反馈的环境下刻意练习。能力的提升并不像学某个知识点,而是一个长期的过程,需要你坚持下去,在遇到问题时可以及时得到反馈,养成主动攻克复杂问题的习惯,在老师的指导下系统地训练自己的编程、架构和工程能力。
去年 10 月开始,我和极客时间团队一起打磨了前端技术专栏:重学前端,我非常高兴地看到,目前这个专栏的学习人数已经超过了 28900 人,我感动于大家的学习热情。专栏是教学相长的,其中产生了大量有价值的讨论,很多用户都说这些文章与讨论让他们受益匪浅,如醍醐灌顶,打开前端之门。
同时,还有一部分同学告诉我,希望有更体系化的、高强度的深度学习课程,以迅速提升自己的职场实战能力。他们希望密度更大的知识,也有意愿参加高强度的线下学习。
为了满足这部分同学的需求,我们推出了一款新的教育产品,也是极客时间的母体:极客大学。我来主导其中的前端训练营。
相对极客时间线上的专栏和课程,极客大学采用了虚拟大学的学习方式,我们有系统的学习机制和组织形式,比如班主任、助教、班长、学习委员、作业、评分、毕业、研讨等内容。同时提供线上和线下的学习模式,为期三个月,为大家打造学习闭环。
课程设计由我和教研团队倾力打造,我会把重点放在前端工程师能力培养上,希望教你知识怎么学,并且通过三个实际项目,来帮助你提高编程、架构和工程能力。
代码案例我选择了我自己学习前端的第一个作品——黑白棋,在前端领域,这个案例的逻辑比较复杂,我希望通过它来提升你的编程能力和架构能力。
组件案例我选择了几乎每个前端都会用到的轮播组件,我会带你一起探讨组件化的方案和组件的具体实现,也会带大家分别使用三种流行的框架来实现这个组件。我希望通过这个案例来提升你的架构能力和理解组件化的思想。
实战项目环节,我选择了一个电商领域的完整产品,我会邀请极客时间的设计师提供实际工作中用到的设计稿,也会请极客时间的服务端工程师提供一组 Demo API,模拟真实的项目环境,让你体验完整的项目开发过程。我希望通过这个案例帮助你建立初步的工程能力。
同时,我们设计课程的时候,把所有的学习和练习的时间都安排在了课程之内,你只需要保证自己线下大课程和线上练习的学习时间,并完成自己的学习任务,就能达成学习目标。为了保证线上练习的效果,我们首创了“直播 + 代码协作”的方式,让你在练习时时刻保持注意力,确保交付高质量的刻意练习效果。
首期前端训练营将在北京 小范围举办,限定人数,8 月份开学,如果你想了解详细的课程内容和完整的课程安排、提前预约席位,可以扫描下图的二维码联系学习委员,学习委员会送给你一套前端学习资料,给你的学习之路增添一点养料。
开学之前我还准备了系列直播公开课——三次课完成一个黑白棋 Demo,希望帮助更多人敲开进阶高级前端工程师的大门。第一次公开课是在 7 月 3 日,你也可以通过二维码添加学习委员预约,获取直播链接.
前端训练营的受众是具备一定基础前端技能和经验但困于初级岗位的前端开发工程师,如果你正在这样的状态中挣扎,欢迎来战,突破瓶颈,就在前端训练营。
点击阅读原文,了解训练营详情,立即报名。