如果你在 V2ex 发帖,说你想学前端,那么你的到的回复,是这样的:
- 看书自学
- 读别人代码,多动手写代码
- 找一个公司实习
- 去看网易里的免费视频
- 去看免费的英文视频
- ……
我来告诉你这些建议对于「大部分人」是多么不靠谱。
1 看书自学
前端是一门广而不深的学科。自学面临的最大问题,就是你需要学的东西太杂了,我列举一下:
- HTML - HTML 4.01 / XHTML / HTML 5 / H5?
- CSS - CSS 2 / CSS 3 / LESS / SASS/ PostCSS
- Javascript - ES 3 / ES 5 / ES 6 / Babel?
- HTTP - HTTP/1.1 / HTTP/2 / 缓存?代理?REST?
- API - DOM / jQuery / AJAX
- 框架 - React / FLUX / Redux / Angular 1.x / Angular 2 / TypeScript / Backbone? Ember? 听说过时了
- 构建 - Grunt / Gulp /WebPack
- 服务器知识 - Session / Cookie / Request / Response / Template Language
- 工具 - Sublime / WebStorm / Atom / Sketch
不列举了。看出问题了吗?知识点分散,且每一个小知识点都有多个分支。
- 一个新人怎么去年火的 Angular,今年已经不火了;今年火的 React,明年还火不火(即使从业者也不知道)?
- 一个新人怎么知道他应该从原生 JS 扎实的学习,还是学 React 贪个速成?
- 一个新人怎么知道哪些技术已经抛弃了哪些还在用?
- 前端的核心是什么?React?Javascript?还是 CSS 布局?
有人说买本书照着学就好了。这么说吧,以目前前端圈多样化的程度,看完一本《Javascript高级程序设计》,你一样不会写页面。
有人说去 W3School 看教程就好了。这么说吧,这是误人子弟,稍微有点前端常识的人会推荐 MDN 和阮一峰。
我说最好的自学方法就是找个人带你。我说说我的自学路径。
- 第一份工作在腾讯,腾讯的前端团队带我。我知道了 HTTP 知识的重要性。
- 后来一份远程工作,与美国全栈小哥合作,另外同事中还有一位 Linux 大神。我知道了英语的重要性,以及一些基础的程序设计原则。
- 后来在阿里工作,读阿里的全栈大神的代码,使我在网站架构方面受到不少启发。
我不认为这是靠我一个人自学能做到的。自学能让你弄懂语法,但是无法让你看懂现实中的前端世界,也无法让你有快速的、质的跨越。一个经验丰富的人的点拨,是非常重要的。
2 多读多写代码
不是每个人都是 TJ,能通过读别人的代码来领悟编程。你知不知道很多自学者读的前端代码都是从百度上弄来的,质量很烂。
有人说 GitHub 上的代码质量高,Google 结果质量高。
你太不懂一个没有接触过编程的人的世界了,这些人的世界里就没有 GitHub 和 Goolge 两个词。
注意,本文针对的就是这一类人,从事销售、会计……等工作。英语不怎么会用、搜索全靠百度,有上进心,但是不知道怎么学编程,觉得前端好玩简单,想学前端。被达内之流拉去贷款看视频……
而且现在前端界的代码,风格各异,根本没有主流流派,有过程式的、OOP的、function式的、ES 6 的、Babel 的,让一个新人无所适从。
而且读代码是需要基础的,更不用说写代码了。
写完代码怎么运行,怎么调试?你以为他会 Google,不,他只知道去 QQ 群里问。你不能怪他,因为这是他接触到为数不多的请教方式之一。
也许你已经开始鄙视这样的人,觉得他们 low,但是,这就是真实的情况。不要以为他们都会翻墙、Google、GitHub。
你说这样的人就别学前端了啊。我想说,他们其实不必大多数码农差,只是缺乏引导。但是如果仅仅靠他们自己摸索的话,还没学成,前端早就又更新换代了,因为前端变化太快了。
3 找公司实习
如果不是重点高校,很难找。
如果已经毕业了,没经验没作品,根没人要。
所以请不要站着说话不腰疼。
4 看视频
国内的免费(以及收费)视频质量参差不齐是一,前端知识三个月一小更,半年一大更,这些视频是否过时新人根本无法知道。视频学习效率本来就低,这样学的话,不知得学到什么时候去。
收费视频,嗯,还不如免费视频,都是照着 W3School 念(没买过,我听说的)。
英文视频,质量是高,可是别逗了,我都看不了多少英文视频教程,你还让新人看。
怎么学?
找人带。这是我给的唯一答案。
找个有经验的前端带你,他调过一年浏览器兼容性,使用 MV* 前端框架做过几年富应用开发,在大公司的大团队待过,也在小公司的袖珍团队干过,遇过的坑比你写的代码还多,写出的 BUG 也比你代码还多。(说的就是我自己个儿咯)
他能告诉你你代码哪里有问题,能解答你的疑惑。
没有比这更好的垫脚石了。
当然这是废话,因为「大部分人」身边没有这样的人啊!
培训班
他们以为培训班里有这样的人。
其实没有。
而且,即使他们进培训班毕业出来,也会被一些公司的面试官鄙视。
「这种班除了会让人造假,造出有 2 年开发经验 还有什么用?」
「培训班是流水线,批量制造(假)码农」
「刚才去个培训班的论坛逛了一下,全是教你怎么骗面试官的」
上面评论是从 V2ex 帖子里的回复制过来的。
对的,一些个线下培训机构就是让学员坐着,给他放视频看,没有什么老师,就算有,也很辣鸡。
这就是为什么很多程序员不喜欢培训班出来的人。
怎么办
来我前同事开的培训班吧饥人谷。
不还是培训班嘛,楼主打广告无耻!如果你这么想,请现在、立刻、马上关闭此页面。上面的文章已经比 V2ex 首页大部分文章质量高多了!
既然你还没有关页面,我来说说这个培训班为什么不一样。
- 不灌输知识,只教授方法。不培养 copycat,只培养 engineer
要学会科学上网,怎样用正确的姿势 Google,为什么你应该读阮一峰的文章,怎么使用 DevTools,为什么你应该重视计算机基础,哪些知识不用再学了,为什么 Sublime 和 WebStorm 是好工具,怎样调试、怎样持续学习…… - 老师都是一线、有经验的前端从业者
都是 BAT 在职。说实话,由于对老师要求很高,所以目前老师不多,就三四个(包括我)。与其说是培训班,不如叫做私塾。规模不大,每个班不超过25人。讲师要求见这里: https://www.zhihu.com/question/27043081/answer/50117771 - 接地气
零基础教学。现有的一半以上的学员都是转行过来的,学校不牛逼,没有变成基础,但是肯主动学习(是的,如果你懒不主动学,被美女教务员打电话催都不学,我们就主动退你学费)。 不照本宣科。课件按当年前端行业情况修改。比如去年介绍 Backbone、Angular,今年介绍 React。去年还教 IE 6 兼容,今年就一笔带过了。去年 Grunt,今年 Gulp。 - 不会让你贷款上课的!
让学生贷款上课,就是让学生骑虎难下。而且随时可以退款,觉得老师不对味,立刻拿钱走人(钱是按课程数平摊的,不存在上一节课退款,只能拿走一半学费的情况) - 毕业生就业
我们不保证就业,只保证你上完课不后悔、上完课还不想离开我们的班级群。一般培训周期是半年,培训完了,你是不能进入 BAT 的,但是在北上广深杭等一线城市,拿到8~12K的 Offer,还是不难的。这里有学员感受: https://www.zhihu.com/question/41845934 (评价太高,被同行说是水军,大家懂就行) - 线上培训
全部都是线上课程。很多学员白天上班,晚上上课,很辛苦很努力,但是他们的付出得到了回报。有些学员觉得反正都是要转行的,就直接辞职来全天学习了。
我相信,以我四五年来的前端知识和经验,可以为你推荐这个靠谱的培训班。
利益相关:我一般周末会在这个培训班上4个小时左右的课。
