我是如何从零开始⾃学前端⼀个⽉就到理想⼯作的?
我是怎么⾛上前端开发这条路?
⾸先,我是个⽂科⽣,⼤学⾥只学过vb,觉得计算机编程这东西太⽞乎,不是我玩得转的。
后来机缘巧合去做了⼀家互联⽹创业公司的HR,阅了上千份程序员的简历,⾯了上百个不同⽔平不同领域的程序员。跟程序员接触得越多,我越觉得编程是⼀件很有挑战、很有趣的事情。尤其是前端这⼀块,结识了好⼏位前端⼤⽜。其中⼀位告诉我,如果你真的感兴趣,那就先去写⼏个 HTML静态页⾯ 吧。
可当时我连个 HELLO WORLD 都不会写,更不知道HTML是个啥?
于是我花了⼀个晚上在慕课⽹上听了⼏节HTML+CSS基础课,第⼆天我把 w3school在线教程 上HTML+CSS的API全部过了⼀遍后,随便在⽹上了个简单⼜漂亮的⽹页,就开始仿写我的第⼀个HTML静态页⾯了。
⼀边写⼀边感叹「编程竟然如此简单,如此上瘾」,于是那⼏天⼀连模仿写了好⼏个HTML静态页⾯(写不出的地⽅我就直接打开chrome 控制台,copy那部分的样式)。
当时⽩天要上班,只有晚上有时间可以写HTML。这对写代码上了瘾的我来说实在不痛快,刚好当时公司⼈员配置基本完整,我的招聘任务也可以告⼀段落了。我便暂时离开了公司开始了我的⼀个⽉前端⾃学⽣涯。
这⼀个⽉我做了什么
看书
经过之前的仿写⽹页页⾯的练习,我已经对常⽤的HTML标签、css样式⽐较熟练了,是时候开始系统的学习前端的各种技术了。可是,要从哪⾥开始呢?
最后我决定先沿袭我⼤学时的学习⽅式————考期的最后两周把要考试科⽬的教材从头到尾预习⼀遍再复习⼀遍。这种⽅式可以让我在短时间内了解这门科⽬包含的全部知识,并且发现这个科⽬的核⼼内容或可能的考点。
于是,我在图书馆来了 JavaScript DOM编程艺术 (第2版) 这本书,花了三、四天前后通读了⼀遍,把其中的代码事例也完整的⾃⼰敲了⼀遍。
这本书真的⾮常适合初学者,通俗易懂,讲解详细,让我对javascript有了⼀个⼤概的了解,也让我更有⾃信。于是,我马上⼜从图书馆借了另外⼀本书———— JavaScript⾼级程序设计(第3版) ,打
算趁热打铁花⼀个礼拜的时间把这本书攻克下来。
然⽽最终我只读到三分之⼀的位置就读不下去了,因为我觉得这本书不是很适合初学者。尤其是第6、7章的⾯向对象的程序设计、闭包、继承这些东西,虽然能读懂但完全不知道为什么要⾯向对象、为什么要使⽤闭包、为什么要继承?
对于js的初学者来说,你的第⼀要务是把功能实现,把代码写出来,不要管代码优不优美,放⼼⼤胆的repeat yourself。等未来你看别⼈优秀的代码多了,⾃然⽽然会去模仿,不断改进⾃⼰的代码。
做题
读了这⼀⼜三分之⼀本书后,我开始寻练兵场。很多⼈建议直接去github上pull request做项⽬。我的天,这对初学者来说简直太难了,别⼈的代码连看都看不懂更别谈⾃⼰去写了。
于是,我去quora中寻答案,很快我就发现了⼀个⼈ Quincy Larson——teacher at FreeCodeCamp ,顺着他的答案,我到了他创办的⼀个前端开源社区———— Free Code Camp 。当初我关注这个社区的时候,它的关注者才⼏千⼈,截⽌到⽬前,它在github上已经有93661颗星星了…
我可以肯定地告诉每⼀个前端初学者,FCC是你们最佳⼊门前端的地⽅,没有之⼀。它为前端初学者
设计了⼀套详细的前端进阶路线,并且每⼀步都提供详实的讲解和针对性的实践练习。具体的介绍FCC⾥⾯都有,基本上把它的所有课程都通关后在国内份前端的⼯作不成问题。
FCC中对我最有⽤的部分是它的初级算法和中级算法这两部分,可以作为对你前⾯js语法学习成果的⼀个检验。所有题⽬都是没有答案的,写代码这活思路很重要,不过对初级前端来说,熟能⽣巧更重要。所以接下来我混迹在各种国外⽹络前端学习社区: Code School 、Code Cademy 、 Khana Cademy 等等,把其中我能看懂的部分⼏乎全部看了⼀遍,代码也都敲了⼀遍,扎扎实实的巩固了⼏遍前期我学到的各种前端知识。
我真诚建议英语⽔平还可以的前端初学者不要去看国内的视频教学⽹站,都直接看国外的。自学java从哪里开始
我真诚的建议理解能⼒还可以的前端初学者不要去参加任何前端培训过程,⽹上的优秀的资源多的都学不过来了,为什么还要花钱去被填鸭式教育?⾼中还没被填鸭够吗?
解惑
对初学者来说,写代码的过程会遇到各种各样奇葩的bug,当你⾝边空⽆⼀⼈,⾃⼰⼜苦苦不出bug的原因的时候,谁能帮助你?
答案是: Stack Overflow 和 Google 。
我可以很肯定的告诉你们,你学习过程中遇到的⼀切问题都能在google和stackoverflow上到答案。如果不到,说明你问题描述的有问题。
说起关于【学会提问】这个话题,我在stackoverflow上还被扎扎实实地上过⼀课。我在stackoverflow上提的第⼀个问题见下图:
然后这个话题就被踩了三次,得到的回答是这样的:
这位仁兄说的很对,这种bug的提问不应该丢到stackoverflow来,⾃⼰仔细的去debug肯定能到问题所在的。之所以会提这种问题,只有⼀个原因————懒,⾃⼰懒得花时间去debug。现在我偶尔有空上来segmentfault看⼀些提问,还是会看到很多诸如『你能帮我看看哪⾥有问题吗?』、『不知道哪⾥错了』之类的伸⼿党问题。
我相信segmentfault问答版块的定位跟stackoverflow应该是差不多的,既奖励优质的回答,也⿎励优质的提问。所以下次当你有问题的时候,先尝试⽤⼀句通俗的话去概括你的问题,再去google。⽆法⽤⼀句话通俗概括出来的问题,不是⼀个好问题。拒绝做伸⼿党,从我做起。
前沿
当你越深⼊地了解前端,越会发现它的美妙。这两年前端领域的发展⾮常快,各种有趣的新技术、框
架、库层出不穷,有⽆数优秀的前端都在为前端技术在更⼴更深的领域变得更⽜逼⽽努⼒。
虽然初级前端的基本功很差,但这并不妨碍你去跟踪前沿。千万不要关着门研读经典,前端技术发展那么快,很多过去奉为经典的东西现在可能已经过时了。
最好的跟踪前沿的⽅式就是订阅⼀些前端⽅⾯的周报,它们把⼀周前端各个领域的⼀些优秀的⽂章、教程、代码整理成⼀份周报,你要做的仅仅是从⼀堆标题的列表中出标题你能看懂或者感兴趣的,然⽽再去读。
我先列出部分我订阅的周报:
Javascript Weekly
Mobile Web Weekly
HTML5 Weekly
订阅以上三个就⾜够了,⼀定要看国内的周报的话, 码农周刊 还可以。
这些周报⾥既有前沿的技术分享,⼜有⼤量优质的tutorial,⾮常适合前端的学习。⼤家看周报读⽂章尽量读国外的,毕竟国内的⽂章很多都是翻译国外的,甚⾄直接抄袭…
如果还有富裕的时间,我还会去这⼏个⽹站上吸⾦…
其实很多⽂章都是科普性质的,⾮常容易看懂,⼤家放开胆去看吧,看不懂也没关系,有个⼤概的印象就⾏了。
宝器
最后我要祭出真正的⼤宝器,说实话我前端学习时间的30%都花在这个⼤宝器上了…
我简直⽆法⽤语⾔来形容它对我的帮助有多么⼤。
对于初学者来说最头疼的就是直接阅读API或者源码了,很多⽂档写的都不是给初学者看的。⽽youtube上有⼤量优秀的前端⼯作者上传了他们对新技术新框架新库的讲解视频,不仅帮助了我弄懂API, 更重要的是让我看到这些API在实际项⽬当中到底应该怎么⽤。
推荐的频道:
LevelUpTuts
The New Boston
LearnCode.academy
除了以上⼏个tutorial性质的频道外,⼤家还要关注⼀些jsconf的频道。国外经常会举⾏js的研讨分享会,邀请的嘉宾都是在各个领域研究⽐较深的,他们分享的东西⼤多是⽐较前沿同时有趣的东西,⼤家⼀定要定期跟踪⼀下。
conf相关频道:
JSConf
React.js Conf 2016
当然要上youtube⾸先得会。有⼀次我去⾯试的时候,对⽅问我是怎么的,我说我买了 shadowsocks …对⽅露出⼀丝鄙夷的笑容说既然做了程序员连个软件都写不出还要去买?
我⼀时语塞。
为什么⾯对从⽂科跨到理科的转⾏,我⼀点都没有畏惧?
正所谓知⼰知彼百战不胜,当时我做HR接触了⾮常多的程序员,⽜逼的,普通的,逊⾊的,我看重跟
他们每⼀个⼈的交谈。从他们⾝上我看到了优秀程序员的成功之道,也看到了平庸程序员被慢慢拉开差距的过程。这对我未来的成长⾄关重要。
也因此,我的前端成长之路对前端初学者可能会更有借鉴的意义。
最后的坦⽩
最后我得承认这⼀次我⼜标题党了…⽆⾮是想吸引更多前端初学者进来,希望⼤家都能少⾛⼀些弯路,也希望那些从零开始⾃学前端的同学更有勇⽓去⾯对⾃⼰的选择。
⼤家如果有任何问题,可以直接回复或者给我私信。
我⽬前是在职前端开发,如果你现在也想学习前端开发技术, 在⼊门学习前端的过程当中有遇见任何关于学习⽅法,学习路线,学习效率等⽅⾯的问题, 你都可以申请加⼊我的前端学习:1017810018⾥⾯聚集了⼀些正在⾃学前端的初学者裙⽂件⾥⾯也有我做前端技术这段时间整理的⼀些前端学习⼿册,前端⾯试题, 前端开发⼯具,PDF⽂档书籍教程,需要的话都可以⾃⾏来获取下载。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论