怎么从零开始自学编程?
常常标榜,我是自学编程的典范。
既是典范,自然要异于常人,当然,也有瑕疵。这里做个总结,给需要的人当个参考。
我是大四下半年决定学编程的。二本学历,零计算机基础,没有领路人,完全空白的基础上,决定自学。
目标,毕业后有饭吃。
时间,二月到七月。
结果,七月拿到京东offer。
从结果来看,成绩还算不错,起码超出了预期。在整个学习的过程中,我做的最好的一点——能沉得住气。
经历过毕业季的同学应该能懂,大四是比较躁动的一年,大家通常会有三个选择:找工作、考研、考公务员。找工作经过秋招、春招两拨招聘,基本都已尘埃落定,该签的签,该实习的实习。像我这种既没参加秋招,也没参加春招,一心一意相信自己能够通过自学杀出一条血路的,着实不多。现在想想,还是挺佩服自己的。
不慌,不急,觉得自己能行。
当时看到签工作的同学,心里也波澜,但是总觉得这种工作不是自己想要的。毕竟,二本,是没机会签BAT的,二本,是没机会捧铁饭碗的。只能靠自己,而且没有退路。因此,整个过程,小的波澜是有,大的摇摆不定是不存在的。
到现在工作十年,悟出一个道理:摇摆不定和优柔寡断,最能消耗一个人的精力。
如此看来,那个时候我就在践行这个真理。
第二个做的好的是——系统性学习。直到现在我都有这个习惯,不管学什么,都先把技能矩阵列出来,缺什么补什么,直到把整个矩阵填满。大的技能用大的矩阵,小的技能就用小的矩阵,但一定要知道自己缺什么,还需要学什么。我当初学的是网站开发,那我需要的技能就是HTML+JS+PHP+MySQL,找一本书,找一套视频教程,死磕。
作为一个零基础的初学者,视频的效果要远好于自己看书,我当时找的是PHP兄弟连的视频教程,每天就是看视频,撸代码,一行一行敲,一个例子一个例子学,视频看不明白,再通过看书来补充。看似最笨的方法,回头想想,却是最高效的。
我原以为大家都是这么学习的,但经过几年的观察发现,并不是。很多人喜欢一个点一个点的在网上搜,搜到一篇文章学一个知识点,看似很高效的碎片化学习方式,但是成不了体系,没有体系,就很难沉淀出自己的知识结构。
成体系的好处在于,你可以不面面突出,但不至于触及知识盲点。在有了结构化知识体系的基础之上,再有针对性的重点突破,形成技术优势。这就跟爬山一个道理,只有当你了解了山体全貌,才有资格规划最优路线,否则你以为的最优路线,很有可能仅仅是你最熟悉的路线。
第三个做的好的是——姿态低。我不是天才,也不聪明,这就决定了我不可能三个月学会一门足以养活自己的技能。从开始的那一刻起,我就做好了长期作战的准备。在最困难的前三个月,我一度要将自己的学习时间延长至一年,也就是毕业先不找工作,继续学习,直到觉得自己学会为止。这么想的好处就是,无论遇到什么困难,最起码不慌,不慌就不乱,不乱就能继续学,你不是难吗,老子有的是时间,来吧,死磕!
好的说完了,再来说不好的。
在刚开始搭建环境时,我就体会到有人指导的好处,就是我费了老劲,折腾了N天N夜的问题,别人一句话,瞬间解决。但是多数情况下,有经验的人,总喜欢蛋疼的在帮你解决了问题之后,补上一句,这么简单的问题以后自己百度就行了。每当听到这句话,我就会有深深的羞耻感,仿佛听到两千公里之外,一个秃顶的抠脚大汉,对着屏幕嘲笑我的愚蠢。
这就导致每当遇到问题,我都是在把自己憋到猪头时,才肯向别人请教。现在想想,完全不必,反正我们又不认识,反正你们都热心肠(喜欢显摆),即便你们嘲笑我,我也不在乎,死秃顶!
因此,维系一个有经验的程序员,指导我们学习真的很重要。他们能解决大部分我们以为是天大的,但实际可能就是屁大点事儿的问题。
还有一个问题,让我印象深刻——想得多,做得少。我当时不但想学PHP,还时时想着算法、数据结构、编程思想,凡是跟编程有关的,我都想学,生怕错过什么,会导致求职失败。现在想想,为了这些,浪费了太多时间。刚开始学编程,别想那么多,先把编程的基础语法学会,自己能做一些简单的产品或工具出来,这样就提升了趣味性,有了趣味,就意味着能继续学。刚开始学,不要想太多,否则会打击自己的积极性,至于算法、数据结构、编程思想要不要学,什么时候学,等有了一定编程经验,自然就知道了。
换句话说,先入门,再拔高。
否则。
门还没进,死在门口了!
李苦李公众号