你知道新手到底应该如何自学编程? 是看视频 还是看文档 还是去培训机构?

在校生要找到好工作,主要靠几个光环,学校光环、竞赛光环、项目光环、实习光环。其中项目经验尤为重要。有些同学就有疑问了:

“我校招没offer,没有项目经验,是不是要报个培训班?”

“我转行计算机,是不是应该报个班?”

“我也想自学,可怎么学啊,选哪个方向啊?”

对于有些同学,当我还在想办法劝他自学时,给我贴出了培训班的广告词,真可谓,人有多大胆,口号就有多不要脸:

“0基础入学,三个月包就业”

“毕业月入不过万,不收学费”

“从前是你找工作,接下来是工作找你”

当我推荐某些同学去培训时,又给咔咔咔亮出了几个帖子,说培训出来的受歧视啊、有些同学培训出来还是找不到工作啊,等等。

其实,选择自学还是培训是看自身情况而定,无论选择自学还是培训,都只是入门的一种手段,各有优劣势,本文就详细说说自学/培训怎么选,选择以后怎么办,记得帮我点赞哦。

  • 自学还是培训,怎么选?
  • 培训班到底在培训什么?
  • 有些企业歧视培训班学员,培训班的问题到底出在哪?

一、自学还是培训,怎么选?

无论你是什么学历、有没有计算机基础,这些都不是决定你适合自学的条件,具备如下三个条件的人都可以选择自学:

如果说从零基础靠自学达到找工作的水平,需要多久呢?我觉得至少一年,有的人可能需要两年。所以,如果你是大一、大二、大三的学生,你还有时间,可以选择自学。如果你是已经工作的,想转行计算机,可以边工作边学习,这个过程会比较辛苦,但也不是绝对不可行。

对于大四的同学,以就业为导向,建议你去培训。不可否认,培训是最快入门的方式,对于时间不足的同学而言,培训是最优解。同样地,如果你是已工作的,不存在财务压力,我同样建议你去培训,工作后的时间很珍贵,比不上在校期间有大把时间可以浪费,如果做好了必转的决心,以最快速度转行才是最优解。

能管得住自己,自己定的目标能想尽一切办法实现的同学,真不多,能占人群中1/4已经不错了。

有些人学了半小时就会累,休息一会,就成这样:

我见过太多的半途而废的同学,也见过太多自己安慰自己式的学习方式,但就业就是一个试金石,你这段时间的努力有没有回报,去找工作的时候,就水落石出。

(3)、具备高中以上学历

计算机本身是数学家发明的,或多或少会用到一些基本的数学知识、经常用到的很多算法都是数学知识的延伸,没有基本的数学功底,自学确实很难。

至于英语阅读能力还好说,只要会用有道词典,不会的去搜去看,总会读懂的,而且入门级的文献和视频中文版的资料已足够你入门,英语应该不是太大的问题。

如果你这三点都满足,恭喜你,你具有了自学的基础,可以选择自学。

**首先,我们选择方向的目的是什么?**不就是为了找份工作吗?那直接到招聘类网站去搜下相关的岗位数量及要求不就好了,哪个数量多,自己也喜欢,那就选这个即可。

**其次,如果是大三、大四即将毕业的同学,想知道最近哪个岗位好找工作的话。**还可以看看很多培训机构的培训内容,现在很多培训机构都声称保就业,真的以为,培训几个月能培训出朵花来吗?不可能的,编程是个需要长期训练的活,几个月的培训,仅是入门而已,入门的水平能保证找份工作,就靠的是这个岗位门槛低,需求大,好找工作。

如果实在不知道选什么,我帮你找几个方向:python、java后端、Html5就业岗位都挺多,就业门槛低,相对好就业,如果也有其它方向推荐,大家可以留言。

在入门时强烈不建议跟着书学

第二,书本的知识不成体系,入门有入门的书,进阶有进阶的书,实战有实战的书,需要自己去选择,本身就不是一件易事。

第三,视频可以看到老师的操作,而书本全靠自己摸

现在某某培训班的入门、进阶、实战的系列视频不要太好找,找到这么两套视频,对比着看,或者跟着一套视频深入看,来得更容易。人家培训班安排好的路线跟着学,不懂的自己搜,就已经排除了自已给自己安排路线的难点,况且人家本身就是面向就业的,培训出来的同学能保就业,只要你能跟着学通学会,自然找到工作也不是问题。

3、自学,除了知识,你还能学到什么?

第一:速度慢,所有进度完全靠自己把控,没有氛围

第二:遇到问题需要自己解决,无人请教

那优点恰恰是从这些缺点中磨练出来的,进度靠自己把握,完全磨练了你的意志力。而所有问题靠自己解决,恰恰培养了你的解决问题的能力。

而这些能力都是培训班教不出来的、无法速成的。而这些能力却是真正的开发高手所必备的

问题定义、分析与设计阶段,这是最需要智商、创造力和经验的阶段,真正的开发高手,就是在这一阶段体现出远超普通人的水平,而在这一阶段所需要的能力,对不起,培训班教不出来,也无法速成,只能靠人自己的努力,慢慢地培养和增强。

(1)、多做笔记、多复习

刚开始学习时,很难,真的很难。很多东西听不懂,很多东西需要自己搜,自己定的进度很可能完不成。

没关系,坚持下去,都是这么过来的。我刚开始自学的时候,也是无数次想死的冲动……

学会做笔记,把自己学到的东西及时记下来,形成目录,在后面用到的时候,根据笔记再去看一遍,刚开始经常会出现,听得懂,跟着学会,自己弄就不会的现象。这都是正常的,技术本就是个熟能生巧的过程。

多动手,多总结,就慢慢熟练了。

(2)、多写代码!听得懂、看得懂,并没什么用

入门级知识,本就是语法和框架的熟悉过程,说到底就是工具的使用方法熟悉的过程。既然是工具,那就必然要多用。熟能生巧,指的是用的熟。很多同学看的懂,听的会,自己一下手就问题百出,就是练的少!

(3)、听不懂,搜一下,再不懂就放过

刚学的时候很多概念听不懂,没关系,自己搜一下,能理解了就理解,理解不了就算。听一遍就行,学到后面的时候,你就懂些了回头,再看看那些知识,基本上你都懂了。

刚开始的时候,很多逻辑弄不懂,没关系,自己把代码拆解,并对其加以注释,这样,你在反过来再看这些代码时,能很快弄懂它的逻辑。你要知道,你后面学习时还是会碰到这些知识的,而在只看一遍的情况下是不可能记得住的,到时候,你还是会返回来复习这些知识的。

增加注释,看起来浪费时间,其实是整理代码逻辑的过程。浑浑噩噩敲出来的代码,自己都不明白什么意思的话,其实相当于没有真正学会。

三、培训班到底在培训什么?

去培训的主要原因,说到底还是因为自己啥都不会。但不会与不会间是有区别的。

对于科班出身的,上学又好好学了的同学,虽然他们没有系统的编程知识,没有项目经验,但他们有计算机基础,他懂得操作系统原理、数据结构与算法等原理性知识。

而对于跨专业和在玩了四年的同学而言,那才是真正的零基础。

而对于培训机构而言,它的责任就是让你实现从0到1的入门过程,而有经验的老鸟都知道,编程入门仅仅是知识的堆积,并没有什么技巧性可言。所有的语法和框架运用,简单来说,就是学会编程套路,学习工具使用。

而培训机构的责任,就是把这些套路教给你。只要你不太笨,经过几个月的强化训练,大部分人都能学得会。

所以,培训班教你的就是工具的使用,目的,就是以最快的速度塞给你,助你找到工作。

四、有些企业歧视培训班学员,培训班的问题到底出在哪?

培训机构有着熟练的授课体系,老师手把手答疑,让你在学习路上没有一丁点的思考时间,为的就是以最快的速度让你达标,好结课,开始下一波培训。

1、问题就出在速度上。

认知科学的研究成果表明,知识的消化与吸收,职业技能的学习与精通,本质上是在大脑神经元之间建立连接,重塑大脑结构的过程,这个过程的时间可以缩短,但不能无限地缩短。另外,不同的人,拥有不同的背景和基础,在学习与掌握相同的知识与职业技能时,所花的时间是不一样的。

而培训机构才不管这些,他的目的就是挣钱,以最快的速度挣钱,能在三天内把所有内容塞给你绝不用四天,只要最终能糊弄住面试官,让学员找到一份工作就可以了。

所以,必然会出现下面的现象:

对于原来有一些基础的,学习能力较强的同学,在学习之前已经有较扎实的基础,所以在培训期间能够自己构建成技术体系,知识吸收相对较好:

而另一些学员,则会出现消化不良的情况:

对于软件开发而言,所有的软件开发都大致分为两个阶段:

1、分析、定义、设计阶段。这个阶段是需要有解决问题、分析问题的能力。而这个能力培训班培训不出来,只能是慢慢增强。

2、语法、工具的使用,将设计的内容实现出来。这一块就比较机械了,工具嘛,学一学都能会,培训班在这一块的效率是很高效的,它们多半能在较短的时间内,教会学员特定编程语言(比如Python)特定工具(比如Git)与特定技术的使用(比如Spring MVC),并且传授给他们一些开发的“套路”(比如分层架构与设计模式),从而将学员成功地培养成为一个能够“搬砖”的软件工人,即初级程序员。

培训班一般都会选择门槛低、就业岗位多的方向进行培训,对于这类岗位,人才缺口大,只要能直接上手写代码的初级程序员,都很容易找到一份工作。这也就是为什么培训班多半会收学生五位数的学费,而学生也愿意支付的根本原因。

(1)、解决问题能力差,动不动就得人教

经过几个月饭来张口、衣来伸手的填鸭式集训,有些人在工作后,却依然认为,当他遇到问题时,从来不想着自己搜搜资料解决,而是依赖同事帮他答疑!

自学能力差、解决问题能力差,是很多人找到了工作,过不了试用期的根本原因。

(2)、培训效果立竿见影,却又很快遗忘

任何的知识都是一样,短时间内填鸭式学到的知识,在一段时间不用后,就会遗忘。这就是有些同学刚从培训班出来时,能找到份工作,当学到的东西在工作中几个月用不到时,就很快忘记,总觉得自己还是啥都不会的原因。

永远要记住:学历不行靠实力,实力不行靠态度!!!

当我们初入职场,尽心尽责地把自己的工作做完做好的同时,千万不要忘记像海绵一样,以最快的速度给自己充水。

像培训完的同学,在校期间已经做了很多的笔记,工作之余,多复习,重新练,利用时间将它理解,真正内化为自己的本领。

对于自学的同学,多找进阶性书籍和视频去看,以最快的速度提升自己。

文末我整理了计算机各个方向的从入门、进阶、实战的视频课程和电子书,都是技术学习路上必备的经验,跟着视频学习是进步最快的,而且所有课程都有源码,直接跟着去学!!!

对于非科班转行计算机的同学,有太多的知识需要补足,如果你靠的是自学,需要强有力的自律能力,只要时间还够,是可以靠自学的,在跟着视频学的时候,哪里听不懂及时去搜相关的资料去补足。

刚开始自学时,即便是科班出身也是有想死的冲动的,大家都一样。我也是靠自学过来的,很多的东西不会,很多的东西听不懂。没关系,多做笔试,多搜资料,把不会的弄会,你会发现,学习起来越来越容易。

所有的困难只不过是纸老虎,坚持过去就成功了。

如果你是通过培训找到了一份工作,你需要比别人更努力补充计算机知识,基础知识的缺乏,会使你很难在这条路上走很远,所有的大神,都是自学能力很强的人,你想,你也可以。

2、所有开发方向都必须从C++开始?

经常会有要校生问我:我要做H5开发,是不是要先学C++?

其实,各个语言之间是没有任何关联的,完全都是有各自的语法体系和开发工具的,简单来讲,他们都是不同类型的工具。

你学会一种工具,只会对另一种类似的工具更容易上手,而不是完全不用学。所以,想学哪个方向,直接去学就行了,没必须先从C++入手迂回一下,纯属浪费时间。

但,如果你还在上学,现在正在学C++,那我还是建议你好好学,必须C语言语法更接近低层编译器原理,学会了它,对理解低层分配、释放、编译机制都是很有用的,但就以工作为导向而言,如果你不从事C++相关工作,是没必要学的。

3、培训出来人人工资过万?

有个男生非常沮丧的找我,自己是专科毕业,培训完,小公司不想进,大点的公司进不去,给的工资也不高,问我怎么办?

上面我们已经讲到,对于不同程度的同学,在培训出来的结果是不一样的,你要分清,你培训完的情况是属于这种:

对于没有名校光环的同学,建议以先就业为主。

别看培训班招你的时候给你洗脑,培训完人人过万,但能不能过万,最终靠的是自己,而不是培训班。

认请自己的情况,可以先就业,再优化自己履历,而进步步高升。

4、建议不要暴露自己的培训经历

你百度、知乎搜一下,遍地的培训歧视,很多公司根本不要培训出来的同学.

业界对培训有偏见,因为写代码是一个逐渐学习、熟练的过程,经过几个月集中的培训,虽然看起来什么都接触到了,但真正能内化为自己知识的部分其实不多。在工作中并不能熟练运用,仅是入门水平而已。

而且大家普遍认为参加培训的主要原因是因为,大学中没好好学,临近毕业了,催熟一把。不然,谁会花这万把块钱呢?对普通家庭而言,其实也并不是个小数目了。

有一个外包公司的朋友,技术总监,招人时培训公司出来都不要,原因就是干活能力不行。当然这仅代表个例,但大家需要注意的是,业界并不认为培训是一件光彩的事,千万不要搞错了!!!

最后,如论怎么选,自终也只是入门阶段,为了找到一份工作。对于初入职场的你们,给一条最终建议:学校不行靠实力,实力不行靠态度。

新手怎么学习编程,这里的新手肯定是从没有接触过编程的,我在上培训班之前,就已经学过C语言,还有数据结构那些了,严格意义上不算是新手,所以,我在回答的时候,会尽量顾及到那些完全零基础的朋友。

先看看大致学习的路线吧。

一,确定学习编程的意义

“人其实是一种追逐意义的生物。”大部分人都不会做对自己完全没有意义的事情,所以,在确定自己要做一件事情之前,最好是找到它对自己的意义,这样这件事情坚持下去的可能性会更大。

想学编程之前,问问自己,为什么要学习编程,是因为兴趣爱好吗?还是工作需要,还是想把它作为一门副业,不论你学习编程的目的是什么,都要确保它对你的意义是重大的,不然很容易就会出现三天打渔,两天晒网。

就意义重要的程度来说,一般人是工作>副业>兴趣,因为工作是安身立命之本,因为工作学习编程的话,是不得不学习,意义重大,作为副业,可以获得利益,有利可图的事情,大家也会坚持。

但兴趣这种东西对大部分人来说,很单薄,很少有人能在完全没有物质收益的情况下,坚持自己的爱好,不过还是有少部分人是真正热爱编程,他们能从编程中获得旁人无法企及的快乐,对这些人来说,编程不仅仅是爱好,有更重大的意义,也就更能坚持下去。

找到对你来说,非得学习编程的意义,然后再开始你的学习。

很多人其实在确定要学习编程之前,就心中已经有了合适的语言,如果没有的话,也没有关系,我可以为你仔细分析一下,各种语言的优缺点,让你更好的选择。

可以看看下面各个编程语言的对比表。

从上面的表格就可以看出各个编程语言的难易程度,优缺点和适合的行业领域了,那么在选择适合自己的编程语言的时候,可以从上述的方面去参考。

假如是想当一个非常专业的编程技术大佬,建议从C语言入手,假如是想好找工作的话,建议学习Java,假如是想学一门简单的语言的话,选择Python。

因为我个人其实是对Python了解的更多的,我可以简单说说我为什么要选择Python,可以供大家参考,Python的特点就是易学易懂,很适合我这种非科班出身的人学习,其次Python免费开源,功能库很强大,用来做数据处理的时候非常方便好用,最后Python本身在数据分析领域也使用广泛

对Python的学习方法的话,我个人感觉就是,互联网上有很多很好的自学资料,只要会搜索资料,是没有必要买课程了。

假如你时间精力不够,想要买课程跟着学,我也比较推荐类似下面链接这种课程,比较便宜,几块钱,课时短,学起来很快,不会浪费太多时间,又能大致了解它是个什么东西,还设计了趣味学习内容,学起来不费劲,可以试试。

以上的链接课程是只针对Python的,换到其他编程语言也是一样的,花小成本试水,了解个大概,是每个聪明人都在做得事情。

假如你对Python学习感兴趣的话,可以看看我下面的回答,我就不赘述了。

总之,就是按照自己的需求,选择适合自己的入门编程语言。

三,找到适合自己的学习方法

学习方法是事关学习效果的重要因素,需要重视。

有些人是偏好于传统的学习方法,喜欢老师讲,自己跟着学的模式,那么选择各大高校的公开课程视频,或是各个平台的视频课程资料,是比较适合这些朋友的。

还有些朋友喜欢费曼学习法,也就是号称世界上最有效的学习方法,你可以选择自己先学习,然后再给别人讲一遍,能给别人讲清楚,说明你自己也学明白了。

还有一种就是我最近了解到的MAS学习方法,M就是Muti-Demention—多维度,想要更好的学习某东西,就需要多维度认识它。A就是Ask,不懂就问,S就是Sharing,学完以后就分享出去,可以是在个平台博客分享自己的学习心得,也可以是讲给身边人听。

最后分享一下我自己在学习Python过程中的方法,非常简单朴实,基本上就是按照下面的方法来的。

正所谓磨刀不误砍柴工,在开始学习前,花点时间了解一下自己到底要学什么内容,最好用个思维导图梳理一下自己要学习的内容,这样你在学习的时候,就能把每个知识点更好的串联在一起,也能掌握的更牢固。

我在学习数据分析相关的内容的时候,就做了一个思维导图,主要是包括了要学习的主要内容,一些重点的知识,尽量做到简单明了,因为思维导图太大了,我就截取部分。

做这样一个思维导图的好处就是帮你理清自己要学习的知识点,在学习之前就做到心里有数,复习的时候,看到大纲也能回想起自己所学的内容。

记笔记是一个非常好的学习习惯,把自己学习过程中的疑问,自己的思考,学习的重点都记录了下来,不仅有助于日后的复习,更重要的是,笔记上有你的思考,这逼着你学习的时候动用大脑,学习时用不用大脑,学习效果差别很大。

下面是我学习数据分析的时候记录的比较,和一些代码。

记笔记还有一个好处就是下次遇到同样的问题,很快就能找到解决的办法,一些暂时解决不了的遗留问题,可以暂时放下,等日后找到答案,再补上这一块。

根据记忆遗忘曲线,如果学习完以后,不复习学过的内容很快就会忘记,所以及时复习是非常有必要的。

编程是一门很重视实践的学习,除了复习以外,实际动手做项目也算是一个很好的复习方式,自己可以在网上找找项目来练手,像Github,Kaggle,CSDN上面都有一些可以作为练手的项目,我自己学习数据分析的时候,也找了相关的项目来练手了的。

学完以后,分享出去,也是非常有助于牢牢掌握这项技能的方法,你可以把自己学习的内容讲给身边的人听,或者是找个平台分享自己所学的内容,比如知乎,微信公众号都是很好的平台,我自己就在知乎分享我的学习经验。

以上就是我自己感觉比较适合我的学习方法啦,大家可以参考一下,我感觉找到适合自己的学习方法也很重要,多多尝试,再选择吧。

另外,就是有一点是值得提醒,零基础的朋友选择学习资料的时候,最好是选择视频学习资料,视频的学习门槛是最低的。

现在网上视频资料也很多的,除了上面我推荐的链接以外,B站,网易公开课,知乎,微信公众号都有很多的视频资料,挑选适合自己的即可。

很多朋友学完以后,入了个门,就不知道怎么进一步提高自己的技术水平了,其实最好的提高技术的水平,就是实实在在的搞实战。

假如你自己时间不是很充足的话,那么你可以抽空,在网上找项目做,很多技术平台上都有不错的项目的,例如github,全球最大的编程技术平台,在做项目的过程中,不仅可以查缺补漏,还能学习到更多新的有趣的知识。

假如你是一个大学生的话,你可以找一份编程技术相关的实习,为自己将来以后的工作做打算,一份好的实习不仅有助你以后找到更好的工作,还能让你提前感受社会生活。

假如你技术确实已经不错了,那你就可以去一些编程技术网站或是兼职网站接活了,一边提高自己的技术水平,一边赚钱,何乐而不为呢?像猪八戒兼职网,猿急送,程序员之家,都可以接单的,可以试试看。

我觉得新手学习编程,也很像打怪升级一样,看着自己从新手村开始, 不断进步,不断的把怪打死,遇见的怪越强,战胜它们的快感就越大,是一件很有成就感的事情,更何况,还有这么多优秀的答主分享自己的打怪经验了,那升级起来,肯定会更爽,就像拿了武林秘籍一样。

我觉得不能刻板地说看书还是看视频。

以问题为导向来学习:你可以结合你要学习的知识点找编程题,或者找所谓的项目来练习,围绕你要解决的问题尽可能手写,写不下去就看书或看视频,看不懂就换一种方式。看得似懂非懂就尝试做一些实验,搞懂了继续写。本来认识事物就是一个螺旋上升的过程,正如学英语要同时听说读写,只有立体的体会,才有专家的体验。

我要回帖

更多关于 代码编程入门 的文章

 

随机推荐