我们说的那些培训班,到底要不要报?自学编程VS培训报班

前言

老有公众号粉丝问我,“群主,我去培训机构怎么样”,“群主,你对培训机构了解吗”,等待诸如此类的问题,但是我还不太了解,恰巧我们实验室最近项目繁忙不得不请了几名外包人员,他们正好是半路出家培训机构出来的,我请了其中一位朋友帮忙写了一篇关于培训机构的学习经历,供大家了解一下培训机构。并未大家提供关于如何选择的一些见解。

自我介绍

小编本人大学的专业是生物制药,像刚毕业的大学生一样,毕业就等于失业,手里拿着毕业证书,整天的在找与专业有关的工作,想把自己所学的东西学以致用,(跟大家都一样大学么,都想着怎么玩来着,学业么你们懂得),不过我的运气很好,找到了一家药厂工作进入车间,每天很无聊的看着机器,对着那些药品的原材料,对于20多岁的我,真的很无聊,主要是工资还不是很高,随着年龄的增长工资才会越来越高,这样的日子在我工作一年多的时候被一个人改变了。

转行原因

我的一个朋友在北京不知道什么原因进入一家软件公司,而且据说年薪都达到了30多万,那个时候很让我吃惊,这到底在做什么,我就去咨询了他,他本人也是非计算机专业的,是自己通过网上查到一家不错的培训的机构,去那里培训的,出来经一年的磨练才把工资提到这么高度的,我就想什么,不会把!一年就可以长到怎么多吗?决然的把现在的工作辞掉了,他给我推荐了一家培训他的教育机构,我说那我学什么啊!他说,现在你学JAVA吧!(这里略去培训机构名字,避免打广告嫌疑

学习过程

我学的就是这个,学会这一门语言以后想学习别的,都容易了,然后,我就交了价格不菲的学费,差不多2W多,去那里学习,不过这次,我下好决心,毕竟又交了学费,不学好没脸见父母了。

去学习的第一天还有点不太适应,上课居然没有老师,在大屏幕上,远程教学,还有一个所谓的项目经理,辅助我们学习,不会的问题可以当面问他,心里就想你们这里是不是骗我钱来了,远程?分明不就是视频么,你们的钱挣的也太容易了,后来我才知道还真不是视频,是真人的远程教学

因为,我们这里有一个同学发邮件骂了讲课的老师,当场老师就火了,在大屏幕上说在某某地区什么班级下的这个账号,让项目经理把他找出来,给老师赔礼道歉,经过了半个小时之久,最终已学生给老师道歉,罚款200元告终,这还真不是视频。

第一个月学的JAVA基础知识,面向对象,印象很深刻,是一位女老师,教的不错,每天我都会按时到,早8晚8的生活,每周休息一天,周六自习,要不就是项目经理给讲一些本周不会的知识,也会讲一些老师每天留给我们的作业题,每天老师会给我们留一些作业题,让我们自己独立的去做,第二天的时候早上时候去讲解,可是人与人的接受能力不一样,还是有讲完的问题不会的,导致周六时间也很忙,复习这周的知识和听项目经理给我们讲题,

不知不觉这一月快过去了,居然每一个月还有考试,考试不过的分数线的还会留级,不过这对我来说就是小测试,还真有学不会留到下一个班级的,成为了我们的学弟,第二月又换了一个男的老师,幽默搞笑的他能把我们班级的没一个人都给逗笑,他给我们讲的是java的API和http通讯协议socket套接字二进制的位运算和java中最牛掰的反射,印象最深刻的就是二进制和递归啦,一直对递归不太理解,老师推荐我们几个电影想我们去看去领悟,里面的要点,推荐不懂递归可以看电影来理解,就是《盗梦空间》我计较喜欢这个,这个老师是不是给我们讲笑话,世界上存在两种人,第1种是什么什么,第10种是什么什么,学了之后你才知道,我说的指的是什么,转眼第三个月又换了一个南方的老师,说话带口音,这导致我们课程都很肃静,因为我们听他说话实在是有点费劲,他讲的是Servlet和JDBC,讲完了之后,我就越来越对现在所学的兴趣了,接着换了大嗓门的北方老师,他讲的是不爱听,也是比较简单,没有什么思维逻辑的,

我相信你们是程序员的话,也应该不愿意看这个东西,html,css,Javascript,JQ,好无聊的度过这一个月,最后一个月也是面临着我们毕业出去找工作的一个月,把以前所学的东西放在一起,知识的整合,web工程所需要的框架,也动手写了一个电商的项目,最苦恼的就是这一个,让我们去背一些我们学过知识的定义,我说我们会用就行呗,这些定义比我们学习的知识还要难,还要精准提高专业度,不能用大白话说出来,哎!没办法硬着头皮去背,在以后的面试期间还真的用上了,短暂的学习时间就这么过去了,我们各自去了,自己想去的城市,为了挣大钱去努力奋斗,在多次与公司的各个面试官交流过后,我也总结了,他们想要听的东西,毕竟还是要结合自己的理解,用自己的语言说出来才不会那么僵硬。

问答环节

这一节主要介绍我和文中作者小东在学校食堂吃饭的问答环节,供大家对培训班有一个更深入的了解。

  • 我:学费多少啊,是住宿的吗?

  • 小东:学费2W,可以住宿另收钱,我是和朋友在外面租了个房

  • 我:培训机构的学习时间是怎么安排的?

  • 小东:早8点到晚上5点是上课时间,老师远程视频授课,然后每堂课后会布置编程作业,第二天会给发答案。

  • 我:那把这些远程视频录下来,岂不是不用去培训班了?你有这些视频吗?

  • 小东:嗯,人家不让录的,这些视频没有的

  • 我:那比如你白天看完了远程视频,忘记了一些知识点,想重新看,怎么办?

  • 小东:有一个教室,里面放着电脑,你进去就可以看白天的视频

  • 我:那岂不是你拿着手机就可以把视频录下来?

  • 小东:你想多了,你看视频的时候,会让你登录QQ,那个QQ的界面会一直在窗口浮动,转圈移动,所以你录的视频里面可以看到QQ的昵称,我们所有的人在入学的时候,是要添加QQ号等信息的,所以如果这个视频流出去了,培训机构会根据这个QQ找到你这个人,然后起诉你,所以基本没人录制。(听完这里,我觉得培训机构有一手

  • 我:那你觉得培训机构和自己看视频的区别在哪里?

  • 小东:一方面培训机构是提供了一个学习氛围,另一方面是你有不会的问题,现场有个老师会给你解答,某个知识点你不懂,可以很好的为你进行解答。

  • 我:那么如果说你自控能力强,是不是去培训机构和自己看的视频效果是一样的?

  • 小东:看视频效果是一样的,但是你有些知识点你搞不懂怎么办?

  • 我:可以加一些技术交流群,问人啊,最重要的是会用google,基本你遇到的问题谷歌都可以帮你解决

  • 我:那是不是如果你不在培训结构,但是是看视频的,如果身旁有个人指点你,你是不是就不用去培训机构了?

  • 小东说:是的。

我的个人理解

结合和小东的交谈,这里说一下我的个人见解。

  • 培训的话最好的就是给你提供了一个学习环境,其实在里面也是看视频;如果你自控能力够强,可以管住自己,星座是摩羯座,一天学10多个小时不玩的,那么没必要去报培训班,自己有一个好的学习路线,看书看视频即可。反之,自控能力不强,可以花2W块钱买个学习环境,额,这个自己权衡。

  • 其次,就是对于自己的不会问题的答疑解惑,这方面我觉得一个好的程序员必须要学会使用搜索引擎,google和百度,这两个多用,还有就是github和stackoverflow,这么说吧,你遇到的绝大多数问题,都可以通过搜索引擎找到,不过得自己会一下搜索引擎的技巧了。

这些就是我的看法了,具体路怎么选还是得看自己,别人只是提供些许建议。

知名计算机讲师的理解

这个毕竟是个大问题,我也不敢以我一家之言来说,所以我去找了一下关于培训还是自学的一些见解,这里分享了花了挺长时间看了很多问题找到的一篇非常不错的回答,推荐给大家!

作者:金旭亮
链接:https://zhuanlan.zhihu.com/p/27696141
来源:知乎

作为一名高校计算机专业教师,经常有人向我询问:

我是非计算机专业的,想找一份程序员的工作,是不是应该报一个培训班去学?

我自己除了在入门阶段上过两个电脑培训班(全部都在上个世纪九十年代)之外,后来就再没参加过,我觉得根本就没这必要,自学足矣。

并且我对现在以赚钱为最高目的的、鱼龙混杂、弄虚作假成风的IT就业培训行业印象并不好,所以我总趋向于不推荐学生参加培训。特别是计算机专业的学生,如果我听到计算机专业的学生在毕业之前还需要参加一个软件培训班才能找到工作,那我一定会深深地叹息……

但是随着问类似问题的人越来越多,我也开始日益认真地思索“通过参加培训班来学习软件技术”这件事情,是不是真的不应该推荐?

本文就是我对这个问题思索的一点结果。

在这里,我不讨论IT培训机构存在的必要性,这都是一个产业了,它存在的必要性还用废话吗?

我关注的是从学习者角度而言,“自学”与“参加培训”这两种方式的对比和选择策略。

首先明确一点,我认为,对于计算机专业的学生,如果还需要参加培训班才能找到工作,那么我可以肯定这个学生的四年时光是被浪费了,不应该这样的。不要把责任全推到外部环境上,哪怕学校再差,周围人再怎么不爱学习,只要真的认真学了,断不至于惨到不参加培训班就找不到工作的境地。

那么,对于非计算机专业的学生,应不应该参加培训呢?要知道,以就业为目的的IT培训,学费通常高达数万,可一点也不便宜啊。

我的回答是:是不是需要参加培训,这是要看人的。

有些人不必花这个钱,通过自学完全可以找到工作,而有些人,参加相应培训是合适的。

一、哪些人可以走自学之路而不用去报培训班呢?

我总结了一下,适合于自学的人应该具备四个前提条件:

  • (1)有足够的时间,不急着马上找工作。比如还是在校的一、二年级学生,或者现在有工作有饭吃,只不过是想转行跳到IT行业。
    这个时间段的长短,我个人认为至少一年,用两年的时间自学比较合适。

  • (2)是一个有着较强的自控能力的人,能坚持长期的自学。

    就我的观察,能坚持自学的人在人群中所占的比例并不高,我觉得可能不会超过四分之一。

  • (3)具有高中以上学历,更具体地说,掌握了高中数学所介绍的内容,同时,具备基础的英文阅读能力。不具备高中数学基础,很多技术你学不会,而看不懂英文,会给你的学习带来巨大的障碍,甚至难以为继.

  • (4)具备基本的物质条件和学习环境,比如你不至于穷到买不起电脑买不起书,上不了网……

如果你满足以上条件,那么,你完全可以不上培训班,也能靠自学学出来。

不满足以上条件的,则可以考虑参加培训班。

下面我展开来说一说。

二、学习时间长短带来的影响

上培训班的一大好处就是“省时间”。

培训机构通常会依据当前技术的发展现状、业界的人才需求变化情况,动态地调整教学内容,构建出一个比较完整的就业培训体系,能够让你在短短数月之内,带你入门。

作为一名写了二十多年代码,参加过大大小小的一堆项目,学过一打以上的各种编程语言或技术的老码农来说,我认为编程中充满了套路,只要能掌握这些套路,把这些套路用熟,应付中低层次的软件开发工作是不成问题的。

而在传授开发套路这块,培训机构是比较高效的,只要你选的是靠谱的培训机构,人别太笨,基础别太差,培训老师手把手教你,经过几个月的强化训练,多数编程套路都能学会。

那培训机构的问题在哪里呢?

问题也出在 “省时间”上。

为了节约时间,培训机构必须要尽可能高效地将大量的知识“灌入”学员的大脑,同时必须通过达到一定强度的编程训练,让学员掌握那些开发套路。

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

但培训机构是不管这些的,它的目的是赚钱,先把学生招进来,然后向他们的大脑中以尽可能短的时间塞入尽可能多的东西,只要能糊弄住面试官,让学员能找到一份工作就行了。

所以下面这种现象是必然会出现的:

同一班的学员中,那些原先有一定基础的,学习与消化知识能力较强的,多半能够在培训期间构建出自己的知识与技能体系,他大脑中的知识己经构成了一个整体,知识组织得井井有条:

我们说的那些培训班,到底要不要报?自学编程VS培训报班_第1张图片

另外一些学员,短时间内被灌入过多的知识,来不及组织和消化,他的大脑中知识就变成了这样:

我们说的那些培训班,到底要不要报?自学编程VS培训报班_第2张图片

很多开发高手都认为:

编程是一种技能,是一种使用特定工具去解决各种问题的能力。

多数人都能成为一名合格的程序员,但能成为优秀程序员的人数并不多,这里面的关键就在于分析问题与解决各种问题的能力存在着巨大的差异。

这种分析问题与解决各种问题能力,并非天生,而是需要后天努力训练得来。

使用刻意练习的方法,能帮助你有效地在特定的时间段内熟练地掌握特定工具的用法,会用特定的技术去解决己知领域的己知问题,但面对变化了的,真实的复杂的实际问题时,单纯的套路是没法解决问题的。

好的培训班对于培养那些并不需要太多创造力的初级程序员(即我们所说的“搬砖”程序员)是有效的,它们设计了一整套比较完整的、符合当下业界实际需求的培训体系统,并且有意无意地也应用了一些教育学的研究成果,它们其实是在传授一些开发模式和编程套路,它们的目的,就是在比较短的时间内,将这些开发模式与套路灌入学生大脑,让其能机械式地反应就行了。

不少培训班的训练模式,有点类似于应付高考。

回想一下,为应付高考,在高中是怎么干的?

分析高考试题类型,为每种类型总结出相应的解题套路和技巧,然后反复训练,以便能达到熟练的程度……

培训班的方法其实与之一致,只不过其学习成果的验收方法不是全国统一的高考,而是由各用人单位组织的“单独考试”罢了,培训班的成效,以其学员能通过多牛企业的面试,拿到多高工资的Offer为衡量标准。

所以,培训班的大问题,就是它只教授工具与技术的具体使用方法,介绍一些典型的套路,但却无法或很难提升学员的分析问题和解决问题的能力,因为这种能力的提升,是无法短期速成的。

对于学员本身的长远成长,以盈利为目的的IT就业培训班其实漠不关心,这是由资本的本质所决定的。

对此,上培训班的学员自己必须心中有数。

三、学习者个人因素带来的影响

前面说过,自控能力强的人在人群中所占的比例不高,很多人都是克服不了人性的弱点——好逸恶劳,导致学习活动不能坚持,三天打鱼两天晒网,……,对于这些人,需要外部环境来“约束”和“强制”他们学习,只要经济条件许可,参加培训班是一种可行的路。

道理很简单:

培训班营造了一个集体学习的大环境,同时,学员花了五位数的钱,难道不肉痛?

那还不好好学!不然,那钱不白花了吗?

有了这个环境,有了这种怕损失的心理,学习自然不会偷懒,只要时间与精力投入了,学习总会有效果的。

对于那些意志坚定有毅力的人来说,其学习动力来自于内,根本就不需要有这样的一个外部强制力量,就能主动地认真地学习。

这种人,走自学之路是推荐的。

但同时要知道,决定走自学之路的人,面临的一个主要问题是:很容易走错路,走弯路,掉坑里……

所幸的是这个问题在互联网时代被大大的缓解。最近几年兴起“知识变现”,其特征就是可以用钱来买知识,买时间。

你只要愿意为学习投入,花必要的费用,就能得到被其他人整理好的精炼过的知识,就能了解他人经过多年总结而得到的经验,从而节省大量的时间,提高了学习效率。

比如我个人就在罗胖的得到App上花费了上千元订阅吴军的《硅谷来信》、王煜全的《前哨》、万维钢的《精英日课》等专栏,从这些每天推送的音频中,我获得了很多有价值的信息,一点也不亏。

其实各种学习资源,互联网上还有好多,比如国内外名校的MOOC,都是可以免费去学的,还有诸如知乎、StackOverflow、等网站,上面都沉淀了大量的他人的知识与经验,你还可以通过互联网直接向特定领域的牛人请教,比如知乎、微博都开通了付费问答,花些钱,就能得到那些在特定领域经验丰富的人的建议,向这些“老师”请教的机会,以前是不存在的,……,

有这么丰富的资源,为什么不去主动利用这些资源来提升自学的效率呢?

所以,新的时代,我们学习观点要改变:
为知识花钱,为学习花钱,为效率花钱,这是花钱的最好方式。

花钱其实是省钱,并且最终能帮你赚钱。

这看上去很俗,但其实就是这个道理。

只要你能善用互联网上的各种资源,你会发现,通过自学入门并不会比通过培训班入门慢多少,而你在这个过程中所培养出来的自学技能,将让你受益终身!

四、从更高更大的视角看自学与培训

不管自学也好,参加培训班也好,最终都是为了培养软件开发的职业技能。

现在让我们回归问题的本质——软件开发。

软件开发实际上分为两个大的阶段:

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

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

由于目前软件行业人才需求量大,因此,这些只能搬砖的初级程序员是很容易找到一份工作的,这也就是为什么培训班多半会收学生五位数的学费,而学生也愿意支付的根本原因。

所以,上培训班,实际上是花钱让别人引你入门,成为一名初级程序员多半问题不大,经过三五年的工作训练,初级程序员多数能成为中级程序员,但到了这个级别,不少人的水平就开始停滞在这个水平上,徘徊若干年,直到遇到“职业危机”,主动或被动地下岗、转岗,成为“程序员是吃青春饭”这一观点的论据。

要想爬出这个“技术青春饭”的陷阱,是否能从中级程序员进入高级甚至一流程序员的这一层次是关键。

如果你选择通过培训入门,那么一定要牢记,培训班只能帮助你走出职业生涯的第一步,并且这一步它还要了你一大笔钱,这是你必须付出的代价。

从初级到中级程序员,你所在公司可能还会通过一些给新人配备导师啊,入职培训、在岗培训等方式给与支持与帮助,再往上走,多半就只能靠自己自学了。如果你在的公司不提供这些帮助员工成长的机制,那么,甚至从初级到中级的成长之路,也得靠你自己。

由此可以看到,自学其实是个人成长的最主要方式和手段。

如果你具备我在前面介绍过的四个前提条件,那么在入门初期(其成果是成长为一名初级程序员),如果你不愿意花上培训班这笔钱,是完全可以通过自学达到相同的目的,当然,时间要长两到三倍。

在培训班学习效率是比较高的,前面也说过,这里再重复一下:

  • 一方面是培训机构也都付出了相应的努力,让自己的培训课程体系尽可能地高效,

  • 二是有一个集体的强制学习的环境,这对于那些自控力不强的人来说,外界给与一定的强制性是必须的。

  • 三是学员花了较多的钱,如果家境不太好的,这些钱可能还是借来的,这也是一种强大的敦促努力学习的心理因素。

三大因素作用下,培训班的作用立竿见影。
所以必须承认培训班具有这些好处。
但也必须明确,培训班的好处大都是短期的,用不了多久就会消散。

自学就不一样了,虽然在初期,要入门成为一名初级程序员,可能花比培训班长两到三倍的时间,但正是这种较慢的自学过程,有效地锻炼了你的自学能力,而这种能力,对于你成长为中级和高级程序员来说,是极为重要的。

你不妨看看周围,没有一个技术牛人不拥有很强的学习能力,各行各业都是如此。

所以,对于想节约时间的,可以报个培训班入门,找到一份初级程序员的工作多半问题不大。 但从长远来看,以成长为高级程序员为目标,初期通过自学入门,和通过培训班入门,后者并不会比前者更节省时间。

好了,写了这么多,我相信我己经把问题讲清楚了,最后给一个流程图,帮助你在“自学”还是“培训”中作出选择:

我们说的那些培训班,到底要不要报?自学编程VS培训报班_第3张图片

End

关于本号

作者乔戈里亲历2019秋招,哈工大计算机本硕,百度java工程师,欢迎大家关注我的微信公众号:程序员乔戈里,公众号有3T编程资源,以及我和我朋友(百度C++工程师)在秋招期间整理的近200M的面试必考的java与C++面经,并有每天一道leetcode打卡群与技术交流群,欢迎关注。


3T编程资料等你来拿



你可能感兴趣的:(我们说的那些培训班,到底要不要报?自学编程VS培训报班)