自学编程的朋友,我想给你们这 5 个建议
作者:黄小斜
微信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。
很多人都想转行互联网,不管是出于兴趣、行业前景还是薪资的考虑,想要转行互联网的人们必须要面对一个问题,那就是如何自学编程,更确切的说,是如何0基础学编程。
其实我基本上也是0基础自学编程的,大学的时候学的电信专业,对于编程语言只懂得一点皮毛,那些内容,相信大部分人看一些网上的教程也可以掌握了。
作为过来人,想给大家一些建议,不管你是学生想要自学,还是跨界转行,亦或是纯粹当做兴趣爱好,都可以把我的建议作为参考,不会有坏处。
兴趣是最好的老师
这句话大家都听过,但我觉得,不管是你想从事哪个行业,想要做的比较好,去比较好的公司,至少要有兴趣,其他的能力、专业水平暂且不谈,如果连兴趣都没有,那么为什么要从0开始去做这个行业,去学这样技术,显然是非常不理智的行为。
有兴趣,才有动力去学习每一样东西,不管是计算机基础、编程语言、算法等等,兴趣是原动力,没有了它,你一定坚持不了多久。
可能很多人觉得兴趣不一定最重要,可以靠努力、靠坚持、靠意志力去学习,但是,那样又有什么意义呢,你愿意这么不快乐地去学习么,你的坚持又能持续多久呢。
时间是最好的朋友
学习编程这件事,需要从长计议,怎么说呢,就是需要花很长时间,绝对不是一蹴而就的,你可以说你花3个月培训学会了一门语言,以及相关的项目实战技能。
但是在我看来,这也只是掌握了一项技能而已,学习编程的路还有很长,不管是你自己做项目,还是参加工作,学习编程都是一件需要持续做的事情。
曾经有人提出10000小时理论,就是你在一个领域投入至少1w个小时,就可以成为该领域的专家,学习编程也不例外。
先易后难,不要想一步登天
很多新手都是初生牛犊不怕虎,因为对编程领域不了解,便不假思索地定了一些很高的目标,比如想进大厂,想做有复杂度的项目,想短时间学习一门语言并找到工作。
理想很丰满,现实很骨感,你可能低估了入行的难度,并不是只要有心,就可以很快地完成学习过程的。
一定要先易后难,一步一来,比如先搞懂语法,尝试写一写demo,接着了解高级特效,实现高级特性,然后自己脱离教程写一些代码,最后做项目,大概是这样的一个逻辑。
别看我说的简单,其实对于新人来说,要完成这几道工序并不容易,别看学点基础语法没什么难度,但是真的要上手实践,可能会遇到很多问题,比如环境配置,IDE安装和使用,这些搞定之后,代码语法错误、编译错误、执行错误,对于新手来说都是很难解决的,如果不借助外力,基本上是无从下手的。
所以,学习编程,没有你想象的那么简单。
遇到问题,不要畏难
就像我刚才所说,如果在学习过程中遇到困难,可能真的很难独立解决,这种时候应该怎么办呢,如果没有人指导你,那么就只能够硬着头皮自己解决了,解决的方法无非就是百度、谷歌,到网上看看有没有人遇到和你一样的问题。
如果你觉得这样子效率很低,那也可以找一些基础方面的书籍先看看,了解基本的编程知识,或者看一些网课,加深对知识的理解,然后再去尝试各种代码实践,可能会让你更加顺利一些。
重视基础,才能走的更远
很多人觉得学习编程只需要刚才我说的那几步,学习语法、写简单demo,然后学习高级特性,最后着手做项目就可以了。但是这只是最初级的程序员,离开这门语言,他们可能就什么都不剩下了。
没有计算机基础的支撑,他们不明白计算机网络的原理,不知道为什么要考虑网络编程,不明白为什么要考虑DNS、负载均衡,不知道操作系统的原理,就不能够理解服务器出问题时的根本原因,无法排查,不懂得数据结构和算法,就不明白为什么有的程序是这么写的,有的集合类是这么设计的。
重视基础,是每一个程序员都要做到的一点,离开基础,其他的东西都是空中楼阁,基础不扎实,你连谈论技术时也不会有底气,更别说谈架构、谈业务场景了。
综上,都是我想给那些自学编程的人的一些建议,自学编程不易,千万要想清楚了再开始,特别是想要转行,做程序员,以此谋生的那些人,一定要慎重。
文能码字,武能coding,是我黄小斜,不是黄老邪噢。