自学编程的成本很低,基本上可以说是低到基本为零。现在是网络时代,网上有很多免费的视频学习资料,你可以时时刻刻享受这种白嫖的快乐。也可以按照自己的时间来进行学习,可以深入研究任何你感兴趣的主题。自学编程这么香,那为什么还有那么多人学不会。
如果你正想通过自学的方式去学习某种编程技术,或者想自学成为一名程序员,那我觉得本篇文章多多少少会对你有所帮助。这里我需要再次强调的是自学是你走入社会之后最重要的生存技能,没有之一。
之前我写过程序员学习新技术是看书还是看视频,零基础学习编程的几个小技巧,还有关于学历和面试的一些文章。自学很好,但是为什么总有人没有进步,要弄明白这个问题我们先来看看自学编程有哪些缺点或者说劣势。
第一个缺点就是有些人不知道自己该学什么或者做什么,自学有一个最大的优点,就是非常的灵活,你可以根据自己的喜好来进行学习。但是完全自主的灵活,确定该做什么这个问题将会成为一项非常艰难的选择。我该学什么呢?我该怎么判断我的所作或者所学是正确的?我该怎么去确认自己的学习进展情况?这些都是难题。每个人都向往自由,但是很少有人能够真正屈驾好它。你不仅要有自制力,还要有正确的判断力,这是很多人自学失败的一个主要原因。
第二个自学编程的缺点就是很容易失去动力,很少人能在缺乏动力的情况下依然能够砥砺前行,斩获目标。大多数人只是在动力十足的时候才能做事情,如果你没有动力,或者你不擅长自我激励,那么独自学习就会是一件非常困难的事情。
有时候动力和压力是相互的,你想想,如果你下一周或者是一周后就要开始用新的技术编写真正的项目,这个项目是公司的项目,这个时候你的学习效率那就是极高的,因为这时候你学不会你就可能要丢掉这份工作,所以学习成功的机率也会高出很多。
但很多时候我们自学不是因为这个工作压力,而是自己的一个兴趣爱好,当新鲜的感觉消失的时候,自学就会变得索然无味,因为你在学习了一天或者工作了一天之后,在晚上的时候就已经很累了,这时候你还要自学编程,这是很痛苦的,几乎很少有人能够坚持下来。所以很多人一直间歇性的踌躇满志,缺长期性的混吃等死。
第三个自学的缺点是可能在知识体系上有所欠缺,我虽然一开始就说了自学的一大堆缺点,但是不要误会,我是自学的坚定倡导者。因为进入社会后有太多的东西需要我们自己去学习,谁也逃不掉这个。但独自学习可能会给你留下一些知识上的这种空白点,与上大学或者参加培训班相比,自学留下的这种空白点可能在不同的多个领域。
自学成才的程序员最容易缺乏这种大学生或者说是培训班出来的人所具备的一些最佳实践以及正统观念。因为自学的人可能是急于求成,放弃了最基本的什么数据结构,计算机原理,基本算法这些基本的科目,而这些却恰恰是你程序生涯高度的一个重要的基础。所以说我劝小伙伴们千万不能忽视这些。
我说了很多自学的一些缺点,但是不可否认的是我们赶上了自学最好的时代。在互联网上你可以找到任何你想学习的视频教程,只要我们有正确的学习方法,就一定你能够完成我们的自学计划。
下面我重点说一下自学的一些小技巧。
第一个小技巧是制定一个学习计划,老话说得好,凡事预则立,不预则废。虽然有些老生常谈,但却是毋庸置疑的,我几乎可以向你保证,如果你不制定一份切实可行的学习计划,你都失败率是百分百的,不可以避免。因此你一定要做一份好的学习计划,你要自学哪些知识,要花多长时间用于我们的自学,以及你要采取怎样的步骤,引导你从现在这个位置到达彼岸。
制定计划有一个小坑需要你注意,就是计划不可能百分百完美的,所以你需要在学习的时候不断地去修正它。制定计划我没办法给你一个具体可行的完美计划,因为你要根据你自己的实践,基础和紧迫程度制定出一份属于你自己的完美计划。
第二个小技巧是设定时间表,如果你愿意遵循第一个小技巧,那么请你一定遵循这个小技巧。学习过程中如果你没有时间表,你就会充满挫败或者说沮丧的感觉。你可以自行决定自己学习实践的长短,和学习频率的高低,但是一定要提前制定好时间表,并且遵照时间表进行严格的实施。
对于任何领域而言,积累效应都是最具有影响力的。制定一个时间表,利用它充分发挥你的优势,每一天每一周你都会稳步前进的。
第三个小技巧是找一位老师,但是你不需要找业界最顶尖的老师,比如说你学习前端,就完全没有必要去找尤雨溪,这个难度太大。而且你不需要某个人一直陪你走弯整个学习过程。但是这里需要注意,当你遇到一些问题需要帮助的时候,你至少有一位有实战开发经验的老师,来给出你方向上的指导。
在你遇到困难或者陷入迷茫的时候,可以帮你走出这种挫败感的泥潭,从而节约你的时间。但注意一点,你别指望他们给你做出具体的问题解答,越是有经验的程序员或者说有资历的程序员他们的工作越多越忙,所以他可以为你解答的只是方向上的问题。
第四个自学小技巧叫做至少完成一个完整的项目,学习知识和做项目的关系就像恋爱牵手和洞房的关系是一样的,只学习基本的编程语法就和恋爱牵手差不多,美女属不属于你这个完全不确定。你可以一直缠绵,但你却得不到他的全部。所以你学完编程技能之后,一定要从头到尾地去做一个项目,如果你能自己做完这个项目,说明你已经基本达到了使用这个技能去工作的状态。
如果你不做项目,就算你把基础知识学多少遍,这个技能也不算你正真的掌握了,这点很重要,希望你们要牢记这一点。
上面这四点就是我给你自学编程的一些小技巧,我们再来总结一遍:
第一点是制定学习计划
第二点是设定时间表
第三点是找一位有经验的老师
第四点是至少完成一个完整的项目
如果这时候你非要问我大学,培训班,自学,哪个途径学习编程最好,我还是首先推荐大学。大学里面有很多优秀的老师,老师对于我们学习来说太重要了。好老师无论在哪张床上都能把你带到天堂,可能比喻不太恰当,但意思就是这个意思。
当我们从校园走入社会,只相当于我们游戏中走出了新手村,这里不再有老师的耐心教导,也没有教科书的循规蹈矩,一切都要靠我们自己。
自学编程我们必不可少的一项本领,肚子里有真货,内心自然强大。
古人云真金不怕火炼,废铜烂铁冒充金子见了五味真火自然会现原形。
自学是一门硬本领,多读书是一定的,关键还要多实践多动手。失败了很正常,自我多总结就好。慢慢你学的技能就不再是单纯的技能,而变成了你身体内心息息相关的一部分,让你整个人变得强大起来,但即便你以后再强大,再富有,一定要记住自己的初心。
最后借用小米雷总的一句话:愿你归来仍是少年。
做一下自我介绍,我是一名从事开发工作十多年的程序员,接触过多种编程语言,目前转岗做线上Java一对一指导学习,如果有这方面意向的同学可以