大家好,我是良许。
熟悉我的朋友应该知道我是学机械出身的,但是毕业后就自学转行成了一名 Linux 应用开发工程师了。我之前也做了几个跟转行相关的视频,有兴趣的小伙伴可以去看看。
在本文里,我将给大家介绍我转行的时候走过的弯路,并且谈谈我对自学还是培训的看法。
当年决定转行的时候,摆在我面前有两条路,一条是自学,另一条是上培训班。当时我对自己的能力及时间进行分析了一下,最终决定自学转行。因为我觉得,我个人自制力比较强,也非常自律,学习能力也不错,转行应该问题不大。
当然了,我不会告诉你那时候我很穷。
决定自学转行之后,我就开始投入到没日没夜的自学当中。但是,刚开始,跟很多自学的小伙伴一样,不知道自己要学什么,不知道要从哪里开始入手,不知道哪里找资料,陷入了一个非常迷茫的状态。
后来,我去了一个培训班了解情况,但是到最后,我不仅没报他们的培训班,还白嫖了他们的资料及学习路线,这些资料终于让我清晰了接下来要学习的方向。
但是,这仅仅只是个开始。在学习的过程中,我遇到了各种各校的问题,踩了各种各校的坑。一段代码,明明跟视频里的一模一样,结果烧到板子上,死活不运行!好不容易运行成功了,我想要做点小创新,就改了几行代码,结果程序就崩溃了……
类似这样的经历真的是层出不穷,烦不胜烦。但是,更让人受不了的是,每次排查出来,都是一个非常非常小的问题,比如数组边界没考虑,数组越界了,操作空指针了,等等等等很基本的问题。但就这么很基本的小问题,有时候都会被卡住一两天,非常浪费时间。
所以,在这样的情况下,我一路磕磕碰碰,遇到问题自己想办法解决,终于把该学习的东西都学习了一遍。后面的故事,我在此就不多赘述了,大家可以看我的之前的视频。
因为我是靠自学转行成功的,我亲身实践了自学转行这条路,也证明了这条路是可行的。因此,我的一些读者朋友问我转行要自学还是上培训班,我都是建议他们自学就好,因为在我看来这不是一件不可能的事。
但是,现在我要打自己的脸了。如果你现在再来问我的话,我肯定会建议你,直接上培训班吧。
为什么我自学转行成功了,但是却推荐大家去上培训班呢?大家先别急,且听我慢慢分析。
对于自学还是培训,我做了这么一个思维导图来给大家做分享。
对于培训班,它的优点很明显。
-
首先,培训班会给你提供一个比较好的学习氛围,大家一起学习一起讨论。这对于自制力不强的小伙伴尤其是一个比较好的地方,因为学习氛围比较好的话自然而然会把你带起来。而且比较负责的培训班,会有专人来检查你的进度,督促你的学习。
-
其次,培训班一般比较贵,拿出那么多钱来学习,多少有点肉疼,对自己多少会有些压力,这些压力也往往会转化为动力。
-
第三,培训班会给你制定一个清晰的学习路线,课程大纲也比较完善,让你知道先别什么后学什么,你也不至于那么迷茫,基本上跟着老师的步伐就能入门了。
-
第四,培训班一般会安排一些企业里的实战项目给大家做,大家可以提前适应企业里的开发流程,也可以对自己学到的技能进行一次练手。
-
最后,培训班也会教你怎么写简历,怎么面试,会给一些面试的建议。当然了,不少培训班会教你怎么包装简历,这点我是不提倡的,还是诚实一些为好。同时,有些培训班也跟一些企业有合作,直接直接内推过去面试。还有培训班会举办招聘会,给大家的就业提供更多可能。
但是呢,培训班的缺点也是非常明显的。
培训班的费用一般都比较贵,一般是2万至8万不等,对于经济条件比较一般的小伙伴是个不小的压力。培训的周期也一般比较长,基本是3个月到半年,也有一年的培训班。如果你的自制力不强的话,非常容易放弃的,报名费也会打水漂。
很多培训班也会对你的简历进行造假,动不动就包装成两三年的工作经验。这一点企业其实是非常反感的,如果你的简历很好看,但能力没跟上,即使通过面试也过不了试用期。
而且,企业一般都不怎么待见参加培训的同学,企业有可能会觉得你学习能力不足,只是因为看到程序员的高薪才来培训进入这个行业的,会从心底对你的能力产生怀疑。
我们再来看自学的优缺点。可以看出来,很多自学的优点对应的是培训班的缺点,对应的,自学的缺点刚好是培训班的优点。
自学一个很明显的优点就是不用交钱,或者说可能需要花少量的钱去买一些资料书籍。而且,选择自学转行的一般自学能力比较强,而这点也是企业比较喜欢比较看重的,面试的通过率一般也会大一些。
但是,自学转行的话,一般没有一个清晰的学习路线,会比较迷茫。而且也没人带你前进,更没人督促你。你很可能不知道从哪里开始学起,不知道学到什么程度。你选择自学转行,那么一切都要靠你自己。如果你的自制力不强的话,很容易就放弃了,转行就会以失败告终。
更要命的是,你要是碰到一点问题的话,没有人帮你解决,只能自己的那边摸索,往往一个小问题就会浪费你好几天时间。
大家应该也看出来了,在视频的开头,我讲了自己自学转行走过的弯路踩过的坑,正是对应自学转行的缺点。其实对于大部分自学转行的小伙伴而言,这些坑或多或少都有踩过。
那么回到话题本身,为什么我推荐大家上培训班而不是自学?
首先,对于大部分人而言,自学不如培训班系统,没培训班深入,很多知识点可能是似懂非懂的状态。如果是在这种状态下去参加工作的话,那么就有点赶鸭子上架的感觉,有些东西虽然学过,但在实际应用中就是不懂得用,甚至都想不起来。所以这样的工作状态,效率自然不会高。正所谓,基础不牢,地动山摇。
然后,最重要的,是时间问题。很多人觉得,自学的话不需要付出金钱成本,但是大家还忽略了另外一个非常重要的成本,那就是时间成本。上面也提到了,你自学转行的话,多少多少都会有迷茫的时候,而且,几乎可以肯定的是你会遇到这样或那样的问题。而这些,都是需要时间成本的。
我自学转行花了一年多,说实话这不是很快的速度,甚至可以说是很慢了。当时我去了解的那家培训班,他们给出的时间是4个月学完所有该学的知识点。
所以,如果参加培训班的话,一般进度会更快,会快出至少半年的时间。而你早半年去上班的话就早多赚钱,多赚出来的钱很容易就会覆盖掉你报培训班的钱,但同时你又更快进入到新的领域,多积累了几个月的经验,也更早了解了软件开发流程,多跟产品经理撕了几个月的逼,这些难道不值得吗?
大家都听说过,时间就是金钱,但在我看来,时间远大于金钱。你好好充分利用你的时间,会创造出更多财富来,包括无形的财富。
但是,在此我也给大家提一个友情建议:即使你报了培训班,也一定一定要靠自己,要主动学习,千万千万不要太依赖培训班。在前几节课他们一般会发一个课表,大家一定要提前去学习,或者至少要提前预习一下,一定要保证进度,保证学习效果。编程这行对自学能力要求比较高,即使你报了培训班,也要做到主动学习。培训班只是一个锦上添花的作用,而不是雪中送炭,一切还是要靠自己。
公众号:良许Linux