三个月前,我还是一个在工地搬砖的土木男。虽然在部门顶着个技术员的称号,实际上干的跟技术毫无关系的事,我曾经以为的技术工作不是这样的。于是在广东炙热的天气还未降临之前,我深思熟虑之后突然便决定辞职。
辞职之前我就已经想好要转行学计算机,毕竟这是我一直以来兴趣所在。其实刚开始是打算学习人工智能的,但了解后才发现学习到后面对高数及学历要求很高,目前对我而言不是个很好的选择,然后诸多思虑之后,便选择了前端,主要还是兴趣使然。
在线下培训的那两周
经同学介绍,我报了千峰的线下培训班,试听两周。线下培训班的学习真的很辛苦,我感觉那两周的学习认真程度堪比高考时的状态,很喜欢千峰的那句话,“拼搏到无能为力,坚持到感动自己”。但是最终我又为什么没有坚持下去呢,说到底毕竟还是盈利性质的培训机构。千峰的教学模式是先教你基本知识,然后通过大量的练习让你记住怎么用它,这样填鸭式的学习没有灵魂!前面两周教的html、css,学完的我基本会做一个静态页面了,但是并没有觉得自己学的很好,仅仅只是会照葫芦画瓢,仅仅是你会用了而已。就这样我申请了退学。
在家自学的那两个月
从千峰退学后,便开始了在家自学。很幸运的是,有个从事前端的高中同学,表示愿意带我一段时间。也很感谢他,让我对前端学习有了个清晰的认识。在他的建议下,我学会了关于程序员很重要的一些观念:
- 科学上网
- 学会提问与找答案
- 前端学习的路径
- 学习前端该具备哪些入门知识
除去在线下培训的那两周,真正开始入门的要数《JavaScript DOM 编程艺术》这本书,这本书真的很适合入门前端学习,它靠寥寥两三百的内容就告诉了你什么是前端,什么是JavaScript。于是,我便以这本书为起点开始了前端自学之路。由于之前已经学会了html、css(自以为学会了),在同学的建议下,我直接开始学习JavaScript——廖雪峰的JavaScript教程。我花了将近两周将JavaScript教程的前半段部分看完(实际上看完就差不多忘了),然后便开始一边看mdn学习JavaScript,一边看Vue官方文档入手学习Vue框架。期间,还看完了《图解HTTP》这本书与廖雪峰的Git教程,顺便学习了使用命令行(其实只是了解了下)。就这样学着学着,mdn基本看完了中级,Vue也学完了作者说的基础部分。按理说,终于可以开始自己写点东西,结果想用原生JavaScript实现Vue的一个小实例,发现光页面布局 那块就卡住了,难以下手。我开始反思,自学两个月我都学会了什么?
其实,我都学会了,我只是还没学会怎么怎么用它,就像你拿着一把好剑,但是没有剑法,你也只会在那瞎挥舞,而不会真正制敌。最终,我花钱请了腾讯阿里的大佬来教我(满满的套路),这位大佬名为饥人谷,一位有灵魂的前端工程师,他还有这一堆手下(坏笑)。好了,关于前端自学,我稍微总结了一下自己失败的缘由:
- 一个人的战斗——太累。
- 学习方式其实错了,只有输入(还不是好的输入),没有输出,学习效率低。
- 没法掌控自己的进度,没法判断自己学的好坏。
- 容易走错路,虽然说自己走过的坑才有意义。但是路太长,很容易死在路上。
- 习惯——自学是无法养成良好的习惯的,比如写博客!
学习很苦,自学很难,但是尝试过才清楚自己能力,因为我是转行,不敢再消耗时间,最后附上一篇自以为的一般前端学习路径吧!
- HTML、CSS
- JavaScript(DOM、AJAX、WebAPI)
- jQuery库(个人觉得没必要学,但是学习有益于前端理解,学肯定比不学好)
- Vue、React、Bootstrap等一些框架
- ES5/ES6标准
- node.js(主学)、PHP一些后端知识
- 微信小程序
- 一些可以说前端必备的基础知识:命令行、Git、HTTP、甚至TCP/IP等等
最后前端还需要补充的一些前端工程化,JavaScript设计模式,一些基本的数据结构与算法。前端很杂要学的很多,听说node.js又要改了(绝望ing),听说后面又要出新的框架了(我胡诌的),再后面。。。。我就是一名全栈工程师了(牛上天了)。
总之,既然选择了前端,要学的东西很多!