如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?

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

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

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

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

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

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

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

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

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

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

目录:

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

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

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

(1)、时间充足

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

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

(2)、自控力强

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第1张图片

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

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

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

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

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

二、自学怎么学?

1、选定一个方向

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

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

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

2、找到几套视频教材

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

第一,不一定能看得懂

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

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

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

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

自学的缺点很明显:

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

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

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

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

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

4、自学建议

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

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

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

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

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

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

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

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

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

(4)、多写注释

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第2张图片

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

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

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

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

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

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第3张图片

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

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

1、问题就出在速度上。

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

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

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第4张图片

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第5张图片

2、培训后遗症

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第6张图片

五、一些建议

1、非科班同学建议

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

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

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

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

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

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

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

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第7张图片

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

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

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

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第8张图片

还是这种?

如何系统地学习计算机编程?自学还是培训?利与弊?分别怎么学?_第9张图片

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

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

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

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

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

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

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

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

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

更多文章推荐阅读:

2020年Web前端开发工程师市场怎么样?学会什么技术才能拿到高薪

一线城市,前端工程师最低工资2K-3K,最高20K-30K 你怎么看?

分享七年职业生涯心得,认清自己是否真的适合转行前端开发工程师

前端的工作越来越难找,到底是不是前端领域已经饱和了?

全国程序员平均工资18153:凭啥前端工程师年薪能拿到30W?

你可能感兴趣的:(编程语言,软件开发)